Deduplikace produktů při více zdrojích dat
Stejná vrtačka na e-shopu dvakrát, pod dvěma URL a se dvěma cenami. Ukážeme, jak duplicity v katalogu systematicky najít, bezpečně sloučit a zabránit, aby vznikaly znovu.
Duplicitní produkty v katalogu nevznikají z nedbalosti. Vznikají z logiky importu: přijde nový feed, párování shodu nenajde a produkt se založí znovu. Stačí, aby jeden dodavatel neposílal EAN, druhý měl v názvu „AKCE“ a třetí jinak zapsanou značku. Po roce provozu s několika dodavateli má duplicity skoro každý katalog.
Stojí vás víc, než je vidět. Dvě stránky se stejným zbožím si konkurují ve vyhledávání, recenze a prodejní historie se dělí napůl, do srovnávačů odcházejí dvě nabídky s různou cenou a sklad nesedí. Tento článek je o úklidu: jak duplicity v existujícím katalogu najít, bezpečně sloučit a zavřít dveře, kterými přicházejí. Samotné párování nových položek z feedu popisujeme v článku AI párování produktů mezi dodavatelem a e-shopem.
Co je a co není duplicita
Než začnete slučovat, sepište definici. Bez ní se tým bude u každého případu přít znovu.
| Situace | Duplicita? | Co s tím |
|---|---|---|
| Stejný produkt, jiný název od jiného dodavatele | Ano | Sloučit |
| Stejný produkt, jedna položka je vyprodaná a „zapomenutá“ | Ano | Sloučit, historie zůstane u hlavního |
| Stejný model v jiné barvě nebo velikosti | Ne, varianta | Převést do jedné produktové skupiny |
| Jeden kus vs. balení po šesti | Ne | Ponechat, propojit jako související |
| Nová verze produktu (jiný obsah, jiný model) | Ne | Ponechat, starou verzi případně vyřadit |
U balení se opřete o pravidla GS1. Podle nich dostává jiné balení a každá změna deklarovaného obsahu na obalu nový GTIN. Jde tedy o jiný produkt, i když vypadá skoro stejně. Varianty řešíme zvlášť v článku Varianty produktů ve feedech.
Proč nejde porovnat všechno se vším
Intuitivní postup je porovnat každý produkt s každým. U katalogu s 50 000 produkty to znamená 50 000 × 49 999 / 2, tedy zhruba 1,25 miliardy dvojic. I kdyby jedno porovnání trvalo milisekundu, běželo by to přes dva týdny. A s jazykovým modelem by to bylo nesmyslně drahé.
Proto se používá blokování: produkty se nejdřív rozdělí do skupin, uvnitř kterých duplicity dávají smysl, a porovnávají se jen uvnitř skupiny. Typické klíče:
- normalizovaná značka,
- kategorie nebo její nadřazená větev,
- první znaky normalizovaného kódu výrobce,
- u produktů bez značky nejbližší sousedé podle embeddingu názvu a popisu.
Blokování má jedno riziko: když je značka zapsaná jinak („Bosch“ a „Robert Bosch GmbH“), duplicita skončí v jiné skupině a nikdy se nenajde. Proto se značky normalizují jako první a používá se víc blokovacích klíčů současně.
Skórování dvojic
Uvnitř skupin se každá dvojice ohodnotí. Signály se skládají dohromady, žádný sám nerozhoduje:
- Shoda identifikátorů. Platný GTIN (s ověřenou kontrolní číslicí) nebo značka + kód výrobce. Nejsilnější signál.
- Podobnost názvu po normalizaci jednotek a odstranění marketingových slov.
- Shoda klíčových parametrů. Výkon, objem, rozměr, kapacita. Rozdíl v jednom z nich shodu vylučuje, i když názvy sedí.
- Podobnost obrázků. Stejná fotka od výrobce je silný signál, že jde o stejný produkt. Pozor ale na fotky, které výrobce používá pro celou řadu.
- Rozdíl ceny. Dvojnásobná cena napovídá, že jde o jiné balení nebo jiný model.
Výsledkem je skóre a tři pásma: jasná shoda, nejistá a jasně různé. Jasné shody jdou do sloučení, nejisté ke kontrole člověku, případně nejdřív jazykovému modelu, který dostane obě položky a jejich parametry a řekne, proč jde nebo nejde o stejný produkt.
Shluky místo dvojic
Duplicity nechodí jen po dvou. Když A = B a B = C, vzniká shluk tří položek, které je potřeba sloučit do jedné. Tady je past: pokud je shoda A–B jistá a B–C jen nejistá, může shluk spojit dva různé produkty přes jeden chybný článek.
Pravidla, která se nám osvědčila:
- Shluk slučujte automaticky jen tehdy, když jsou jisté všechny vazby, ne jen řetěz.
- Shluky nad určitou velikost (třeba pět položek) vždy kontroluje člověk. Velký shluk obvykle znamená chybu, například obecný název nebo sdílenou fotku.
- Každé rozhodnutí, i „nejsou stejné“, uložte. Příští běh ho nemá zkoušet znovu.
Sloučení bez ztráty dat
Samotné sloučení je nejrizikovější krok. Duplicitu nesmíte jen smazat, na produkt je navázaná historie.
- Vyberte hlavní produkt. Obvykle ten s nejdelší historií, nejvíc objednávkami, recenzemi a lepšími pozicemi ve vyhledávání.
- Převezměte obsah. Lepší popis, chybějící parametry a fotky z duplicity doplňte do hlavního produktu, ne naopak.
- Přepojte nabídky dodavatelů. Vazby „kód dodavatele → produkt“ přesměrujte na hlavní produkt. Jinak další import duplicitu založí znovu.
- Recenze a hodnocení přeneste, pokud to platforma umí. Historii objednávek nechte u původní položky, ale produkt nemažte fyzicky, jen ho vyřaďte z prodeje.
- Přesměrujte URL. Z adresy duplicity nastavte trvalé přesměrování 301 na hlavní produkt. Google ve své dokumentaci o konsolidaci duplicitních URL uvádí přesměrování jako silný signál kanonické verze. Samotný canonical je vhodný jen jako dočasné řešení, zákazník totiž dál vidí dva produkty.
- Opravte výstupní feedy. Ze srovnávačů a marketplace musí duplicitní nabídka zmizet. U marketplace ověřte, jestli se listing dá převést, nebo je potřeba ho ukončit.
Sloučení dělejte po dávkách a s možností vrácení. Uložte si, které produkty se slučovaly, co se přepsalo a kam vede přesměrování.
Prevence: aby duplicity nevznikaly znovu
Úklid bez prevence se za půl roku opakuje. Duplicity vznikají v importu, takže tam je i potřeba je zastavit:
- Kontrola před založením. Nový produkt z feedu hledejte v celém katalogu, ne jen mezi produkty stejného dodavatele.
- Trvalé vazby. Každé ruční rozhodnutí o shodě se uloží a příště se použije automaticky.
- Jeden zdroj pravdy. Vazby dodavatelů na produkty držte v mezivrstvě nebo v PIM, ne rozházené v poznámkách a vlastních polích e-shopu.
- Pravidelný běh. Deduplikaci pusťte jednou za čas i nad hotovým katalogem. Zachytí, co prošlo sítem importu.
- Tlak na kvalitu dat. Když dodavatel dlouhodobě neposílá EAN, řešte to s ním. Víc v článku Kvalita dat od dodavatelů: jak ji vynutit.
Deduplikace úzce souvisí s konsolidací více dodavatelů. Konsolidace předpokládá, že každý produkt je v katalogu jednou. Deduplikace to zajišťuje.
Jak na to prakticky
- Sepište definici duplicity včetně výjimek pro varianty a balení.
- Normalizujte značky, kódy výrobce a jednotky.
- Rozdělte katalog do bloků a skórujte dvojice uvnitř nich.
- Jasné shody slučte automaticky, nejisté a velké shluky kontrolujte ručně.
- Slučujte po dávkách: obsah do hlavního produktu, přepojení dodavatelů, recenze, 301 přesměrování, feedy.
- Zaveďte kontrolu duplicit v importu a pravidelný běh nad celým katalogem.
Deduplikaci řešíme jako součást napojení dodavatelů a feedů i jako samostatný úklid katalogu. U velkých katalogů bez spolehlivých identifikátorů používáme vrstvu AI párování produktů. Cenu úklidu připravíme po konzultaci podle velikosti katalogu. Pošlete nám export produktů a odhadneme, kolik duplicit v něm je.
Potřebujete s tím pomoct?