EAN-matching geeft te weinig of verkeerde matches: oorzaken en oplossing

Terug naar overzicht

Onze oplossing

Jij profiteert

Bedrijven die op EAN-codes benchmarken tegen concurrenten, lopen vaak tegen twee problemen aan: te weinig matches om iets zinnigs te concluderen, of matches die simpelweg niet kloppen.

Beide problemen hebben dezelfde oorzaak: EAN wordt behandeld als een exacte, betrouwbare sleutel voor matching, terwijl EAN-codes in de praktijk vaak ontbreken, dubbel gebruikt worden, of niet overeenkomen met het daadwerkelijke product.

Waarom levert EAN-matching te weinig matches op?

EAN-matching levert te weinig matches op omdat EAN-codes vaak ontbreken of inconsistent zijn op de websites van concurrenten. Vereist je matchinglogica dat er aan beide kanten een EAN staat voordat er vergeleken kan worden, dan valt elk product waar een concurrent die code weglaat automatisch uit je benchmark.

Een tweede oorzaak is dat huismerkproducten per definitie geen gedeelde EAN hebben: jouw huismerktandpasta en die van een concurrent zijn verschillende producten met verschillende codes. Hetzelfde geldt voor generieke categorieën zoals USB-kabels, telefoonhoesjes of eenvoudig keukengerei, waar veel vergelijkbare producten van verschillende merken bestaan zonder gedeelde code. Matching die uitsluitend op EAN draait, kan deze producten dus nooit met elkaar vergelijken.

Waarom kloppen matches op EAN-code soms toch niet?

Ook met een EAN aan beide kanten is een match niet automatisch juist, om een aantal terugkerende redenen.

Een veelvoorkomende fout is dat multipacks dezelfde EAN krijgen als het losse artikel: een 3-pack of 6-pack deelt vaak de EAN-code van het enkele product. Een algoritme dat puur op exacte EAN-match draait, ziet dit verschil niet en vergelijkt dan twee verschillende proposities als waren het hetzelfde product.

Volumevarianten veroorzaken dezelfde fout in een andere vorm: verf in blikken van 1, 5 en 10 liter, of wasmiddel in flessen van 500 ml, 1 en 5 liter, delen soms één EAN-code. Matching op alleen de EAN-code is in deze gevallen onbetrouwbaar.

Een derde oorzaak is menselijke fout: handmatige invoer en verouderde productfeeds leiden regelmatig tot typefouten in EAN-codes. Een typfout resulteert dan in een valse match met een compleet ander product, of, vaker nog, in helemaal geen match.

Hoe gebruik je EAN wel goed binnen een matching-pijplijn?

EAN moet worden behandeld als een sterk signaal, niet als een garantie voor een juiste match. De aanbevolen aanpak combineert deterministische matching (waarbij de EAN-code exact overeenkomt) met aanvullende controles op attribuutniveau, zoals merk, verpakkingsgrootte, maateenheid en gelijkenis in productnaam. Pas als deze secundaire kenmerken ook overeenkomen, wordt de match geaccepteerd.

Een aanvullende controle is het toetsen van verdachte EAN-codes aan GS1, de gezaghebbende bron voor EAN-registraties: staat de code daadwerkelijk op naam van het betreffende merk? Deze stap vangt verkeerd ingevoerde, hergebruikte of frauduleuze codes af voordat ze in een prijsdashboard belanden. Veel interne processen missen deze controle, wat verklaart waarom foute EAN's vaak ongemerkt in benchmarks terechtkomen.

Hoe match je producten zonder identieke EAN-code?

Entiteitsresolutie (ook wel recordkoppeling genoemd) is de methode om producten te matchen op basis van kenmerken en beschrijvingen in plaats van een gedeelde EAN-code. Deze aanpak is nodig bij huismerken en generieke categorieën, waar geen identieke EAN-code beschikbaar is.

Entiteitsresolutie verloopt in een vaste volgorde. Eerst wordt de scope beperkt met 'blocking': producten worden gegroepeerd op bijvoorbeeld categorie en merk, zodat alleen realistische kandidaten in detail vergeleken hoeven te worden. Binnen elke kandidatengroep wordt vervolgens de gelijkenis bepaald met een combinatie van technieken: tekstafstandsmaten zoals Levenshtein of Jaro-Winkler herkennen titels die op een tikfout na identiek zijn; TF-IDF-weging vergelijkt langere beschrijvingen en geeft onderscheidende woorden meer gewicht; embeddingmodellen (taalmodellen die specifiek getraind zijn op productmatching) herkennen wanneer twee productomschrijvingen hetzelfde product beschrijven, ook bij volledig verschillende bewoording. Bij visueel goed te onderscheiden maar slecht beschreven producten verbetert het toevoegen van productafbeeldingen de matchkwaliteit merkbaar.

Het resultaat van entiteitsresolutie is geen simpel 'match' of 'geen match', maar een score, waarvoor zelf een drempel bepaald moet worden. Deze drempelkeuze is een echte afweging en leidt tot hetzelfde dilemma als bij EAN-matching: hoe streng of soepel wordt de matching ingesteld?

Hoe vind je de juiste balans tussen dekking en nauwkeurigheid bij EAN-matching?

Elke matchingmethode heeft een instelling om strenger of soepeler te matchen, en beide richtingen hebben een prijs.

Een strengere instelling betekent minder valse matches maar ook minder dekking, waardoor prijs- en commerciële teams kunnen sturen op een onvolledig marktbeeld. Een soepelere instelling betekent meer dekking maar meer risico op irrelevante matches. Dit laatste risico is vaak groter: een gemiste match levert simpelweg minder data op, terwijl een foute match verkeerde data oplevert waarop prijsbeslissingen worden gebaseerd.

Er is geen universeel juiste balans tussen kwantiteit en kwaliteit van matches. Bij standaardproducten zoals kabels is een soepelere match meestal onschadelijk; bij elektronica of huishoudelijke apparaten kan een klein specificatieverschil leiden tot een volledig verkeerde match. Deze balans is bovendien nooit permanent, omdat een assortiment verandert. Geavanceerde matching-pijplijnen sturen twijfelgevallen daarom naar een wachtrij voor menselijke beoordeling, in plaats van altijd een harde ja/nee-beslissing af te dwingen.

Zelf bouwen of uitbesteden aan een managed service?

Entiteitsresolutie is op papier haalbaar voor elk goed datateam: de methode is goed gedocumenteerd en de benodigde bibliotheken zijn vrij beschikbaar. De uitdaging zit in het onderhoud: het matchingalgoritme moet per categorie continu geoptimaliseerd worden zodra het eigen assortiment of dat van concurrenten verandert, nieuwe foutpatronen moeten opgespoord worden zodra ze ontstaan, matchinglogica moet hertraind worden bij elk nieuw producttype, en de nauwkeurigheid moet doorlopend gecontroleerd worden.

Dit kalibratiewerk moet per categorie gebeuren, niet op een algemeen niveau, en is meestal de reden waarom het misgaat: het kost structureel meer tijd van data scientists dan vooraf begroot, en zonder die aandacht neemt de nauwkeurigheid af.

Competify combineert EAN als uitgangspunt, aangevuld en gecontroleerd op merk, verpakkingsgrootte en volume, met kenmerk- en tekstgebaseerde matching voor categorieën en huismerken zonder gedeelde code, en met drempelwaarden die per categorie actief beheerd worden zodat dekking en nauwkeurigheid in balans blijven terwijl het assortiment verandert. Herken je deze uitdaging in je eigen benchmarking? Neem gerust contact op voor een vrijblijvend gesprek.

Benieuwd hoe wij werken?

Ontdek onze eenvoudige 3 stappen-aanpak voor een soepele start.

Doe inspiratie op

Wij bouwen en onderhouden custom webscrapers die elke website omzetten in gestructureerde data en inzichten.

Ontdek meer inspiratie

Ontdek data, trends en nieuwe ontwikkelingen.

Alle inspiratie
Inzichten
Matching zonder EAN: hoe vergelijk je prijzen zonder streepjescode?
Ontdek hoe je een betrouwbare prijsvergelijking opzet voor categorieën zonder EAN-codes.
Lees verder
Inzichten
EAN-matching geeft te weinig of verkeerde matches: oorzaken en oplossing
Ontdek hoe je een EAN-matchingproces bouwt waar je prijsbeslissingen op kunt baseren.
Lees verder
Inzichten
Waarom je webscraper steeds stuk gaat
Wat er nodig is om je scraper betrouwbaar te houden: validatie, een geautomatiseerd reparatiepad, en een proxystrategie die zich aanpast.
Lees verder
Klaar om je concurrenten te verslaan?
Heb je een specifieke vraag of wil je vrijblijvend brainstormen over hoe je je concurrenten kan verslaan? Get in touch!
Bas Swierstra
Managing Partner