
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.
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.
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.
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.
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?
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.
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?
Wij bouwen en onderhouden custom webscrapers die elke website omzetten in gestructureerde data en inzichten.



