Jak usuwać duplikaty produktów

dowiedz się
Spis treści

Nieporządek w katalogu produktów potrafi kosztować realne pieniądze: mylące wyniki wyszukiwania, kanibalizacja SEO, błędne stany magazynowe, a nawet pomyłki w wysyłce. Ten poradnik pokazuje, jak krok po kroku rozpoznać, połączyć i usunąć duplikaty produktów bez utraty danych i pozycji sprzedażowych. Skupimy się na procesie, kryteriach technicznych i organizacyjnych, narzędziach oraz automatyzacji – tak, by raz opanowane zasady działały stale, a nie tylko jednorazowo.

Mapa procesu: od definicji do bezpiecznego usunięcia

Ustal, czym jest duplikat w Twoim katalogu

Nie ma jednej uniwersalnej definicji. W niektórych firmach duplikatem jest rekord o identycznym kodzie SKU, w innych – dwa wpisy opisujące dokładnie ten sam produkt, ale z różnym tytułem i zdjęciami. Zdefiniuj klasy duplikatów:

  • Duplikat bezsporny: identyczny SKU/GTIN, ten sam producent i parametry.
  • Duplikat prawdopodobny: różne tytuły, ale identyczny producent, model, wymiary i EAN.
  • Duplikat potencjalny: duże podobieństwo nazwy i specyfikacji, brak jednoznacznych identyfikatorów.

Warto też odróżnić warianty (np. rozmiar, kolor) od duplikatów. Warianty powinny być osadzone w jednym produkcie nadrzędnym (parent), a nie powielane jako osobne listingi.

Przygotuj politykę identyfikatorów

Ustal i udokumentuj hierarchię identyfikatorów. Najczęściej pierwszeństwo mają: GTIN (EAN/UPC), wewnętrzny numer katalogowy, kod producenta i SKU. Zasada: jeśli rekordy mają identyczny unikalny identyfikator globalny, powinny zostać skonsolidowane. Jeśli go nie mają, użyjesz kolejnych reguł (atrybuty, podobieństwo tekstu, zdjęć).

Model danych i pola krytyczne

Wskaż pola, które muszą być spójne w procesie: marka, model, numer części, wymiary, atrybuty techniczne, kody identyfikacyjne, status aktywności, kanały sprzedaży, ceny i stany magazynowe. Zdecyduj, które dane są nadrzędne (źródło prawdy – PIM/ERP), a które zależne (CMS, marketplace).

Tryb pracy: jednorazowa akcja vs. ciągły proces

Zaplanuj pierwsze masowe czyszczenie, a następnie proces ciągły. Jednorazowo oczyść najgorsze skupiska duplikatów (np. kategorie o największym wolumenie), potem uruchom reguły wykrywania i weryfikacji przy każdym imporcie danych.

Przygotowanie danych: higiena, standaryzacja i normalizacja

Standaryzuj słowniki i nazwy

Bez konsekwentnego nazewnictwa żaden algorytm nie zadziała stabilnie. Ujednolić:

  • Marki: Canon vs CANON vs Canon Inc. – zbuduj słownik i mapowanie.
  • Modele i numery części: usuń dodatki marketingowe, pozostaw czysty model.
  • Jednostki: cm vs centymetry, kg vs kilogramy – standaryzuj i przechowuj wartości liczbowe oraz jednostki osobno.
  • Zapisy boolean: tak/nie, yes/no, true/false – sprowadź do jednego formatu.

Normalizacja pól tekstowych i atrybutów

Wprowadź techniczną normalizacja (pipeline czyszczący):

  • Usuń znaki specjalne i białe znaki, sprowadź do małych liter (zachowaj wersję surową dla prezentacji).
  • Zamień równoważne skróty (np. ″ → cal, ” → cudzysłów techniczny) i usuń znaki nieinformacyjne.
  • Tokenizuj nazwę: wyodrębnij markę, model, pojemność, kolor, materiał – zapisuj w polach strukturalnych.
  • Ujednolić format list atrybutów (JSON, tablica klucz-wartość).

Wzbogacanie danych i brakujące identyfikatory

Jeśli brak kluczowych identyfikatorów, rozważ wzbogacenie danych przez producenta, dostawcę lub usługę zewnętrzną. Nadrzędna zasada: im więcej wiarygodnych identyfikatorów, tym mniej fałszywych połączeń.

Reguły walidacji wejścia

Każde zasilenie katalogu powinno przejść przez bramkę jakości: formaty identyfikatorów, spójność atrybutów, minimalny zestaw pól (brand, model, EAN/GTIN/MPN). To ogranicza produkcję duplikatów u źródła.

Wykrywanie duplikatów: reguły, heurystyki i uczenie

Kroki i priorytety dopasowań

Stosuj kaskadę reguł od najbardziej pewnych do coraz bardziej „miękkich”:

  • Exact match: identyczny GTIN/EAN/UPC, identyczny kod producenta (MPN), identyczny wewnętrzny numer katalogowy.
  • Parametry techniczne: marka + model + kluczowe atrybuty (np. przekątna, pamięć, wersja).
  • Fuzzy match: podobieństwo nazw po normalizacji, Levenshtein/Jaro-Winkler, n-gramy.
  • Podobieństwo obrazów: hash percepcyjny (pHash/aHash/dHash), wektory z CNN.
  • Reguły domenowe: zamienniki niedozwolone (np. generacje chipsetów niekompatybilne).

Przykładowe reguły SQL i scenariusze

Przykładowe wykrycie rekordów o tym samym EAN i producencie (logika koncepcyjna):

  • SELECT ean, manufacturer, COUNT(*) FROM products WHERE ean IS NOT NULL GROUP BY ean, manufacturer HAVING COUNT(*) > 1
  • SELECT p1.id, p2.id FROM products p1 JOIN products p2 ON p1.id < p2.id AND p1.manufacturer = p2.manufacturer AND similarity(normalize(p1.model), normalize(p2.model)) >= 0.92

Dla fuzzy match używaj indeksów wyszukiwania (np. trigramy) i progów dopasowania ustalonych w testach na zbiorach kontrolnych.

Blokowanie (blocking) i partycjonowanie

Aby uniknąć porównań każdy-z-każdym, stosuj „bloki”: porównuj tylko rekordy w tej samej marce, kategorii i przedziale wymiarów. To drastycznie przyspiesza wykrywanie.

Wykrywanie po obrazach i atrybutach wizualnych

Twórz skróty percepcyjne obrazów (pHash) i łącz z tytułem. Wysokie podobieństwo obrazów + dopasowanie kluczowych atrybutów to silny sygnał. Uważaj jednak na zdjęcia katalogowe producenta – mogą być identyczne dla wielu wariantów (np. kolorów).

Uczenie maszynowe i scorowanie par

Jeśli wolumen jest duży, rozważ model klasyfikujący pary rekordów jako duplikat/nieduplikat. Funkcje cech: zgodność identyfikatorów, odległości tekstowe, zgodność atrybutów liczbowych, hash obrazów. Zwracaj wynik w skali 0–1 i konfiguruj trzy progi: auto-merge, review, ignore.

Listy wyjątków i negatywne reguły

Buduj listy, które blokują łączenie pewnych klas produktów (np. wersje regionalne sprzętu o innych standardach). To ogranicza fałszywe pozytywy.

Scalanie, wybór rekordu głównego i bezpieczne usuwanie

Wybór rekordu głównego (master)

Ustal deterministyczne reguły wyboru: kompletność pól, jakość zdjęć, historia sprzedaży, linkowanie SEO, opinie klientów. Rekord główny zachowuje identyfikatory i adresy URL, a wtórne są w niego scalane.

Strategia łączenia pól

  • Tytuł i opis: wybierz dłuższy i bogatszy semantycznie, ale usuń marketingowy szum. Zachowaj historię zmian.
  • Atrybuty techniczne: łącz poprzez union wartości, rozstrzygaj konflikty regułami ważenia źródeł.
  • Zdjęcia: deduplikuj hashami, ustaw ranking jakości, zachowaj kolejność.
  • Ceny i stany: sumowanie stanów, wybór polityki ceny (np. minimum, median, reguły marżowe).
  • Relacje: mapuj powiązania (zestawy, akcesoria, warianty, bundling) do mastera.

SEO i przekierowania

Adresy URL rekordów scalanych przekieruj 301 na rekord główny. Zadbaj o kanoniczne linki w szablonach, zaktualizuj mapy witryn i wewnętrzne linkowanie. Zachowasz autorytet stron i ograniczysz błędy 404.

Operacje transakcyjne i bezpieczeństwo

Scalanie wykonuj w transakcji: kopia zapasowa, blokada edycji, merge danych, przekierowania, reindeksacja wyszukiwarki, odblokowanie. Ustal czas okna serwisowego dla dużych partii. Nie usuwaj fizycznie rekordów od razu – oznacz je jako zarchiwizowane, utrzymuj mapę przekierowań i referencji.

Łączenie historii sprzedaży i analityki

Scal zamówienia, opinie, koszyki, listy życzeń i dane marketingowe. Zapewnia to ciągłość KPI i segmentacji. W hurtowni danych zachowaj tabelę mapującą stary_id → master_id.

Akceptacja zmian i kontrola jakości

Wprowadź dwustopniową akceptację w panelu: osoba A przygotowuje propozycje połączeń, osoba B zatwierdza. Zautomatyzowane przypadki pewne (np. identyczny EAN) mogą iść bez akceptacji, ale log z decyzją musi być zachowany na potrzeby audyt.

Automatyzacja: PIM/ERP, marketplace’y i integracje

Źródło prawdy i przepływy danych

Wybierz system nadrzędny (najczęściej PIM) i z niego zasilaj sklepy, marketplace’y i aplikacje mobilne. Utrzymuj jednokierunkowe przepływy krytycznych danych identyfikacyjnych, a dwukierunkowe tylko tam, gdzie to konieczne (np. stany i ceny).

Reguły tworzenia i modyfikacji

W regułach importu wymuś unikalność identyfikatorów i weryfikuj konflikty. Konfiguruj statusy: nowy, podejrzany, do weryfikacji, połączony. Każda zmiana przechodzi przez walidacja schematu oraz policzalne testy jakości.

Webhooki, kolejki i idempotencja

W integracjach stosuj kolejki i znaczniki idempotentne, aby ponowne przetworzenie komunikatu nie dodało duplikatu. Wprowadź retry z backoffem i raporty o błędach do zespołu katalogowego.

Synchronizacja z marketplace’ami

Na rynkach zewnętrznych mapuj produkty do istniejących ofert po EAN/UPC/Brand/MPN. Jeśli tworzysz nową ofertę, logika powinna sprawdzić, czy już nie istnieje zgodny produkt. Gdy scala się produkty lokalnie, aktualizuj również powiązane listingi.

Automatyczne etykietowanie podejrzanych rekordów

Dla rekordów z niskim score similarity ustaw tag „do sprawdzenia”. Stwórz pulpit z kolejką zadań dla operatorów, KPI rozliczające czas reakcji i skuteczność decyzji.

Raportowanie i śledzenie metryk

Wprowadź cykliczne raportowanie kluczowych wskaźników:

  • Wolumen podejrzanych i potwierdzonych duplikatów w czasie.
  • Odsetek auto-merge vs. manual review.
  • Wpływ na SEO (ruch organiczny, liczba stron z kanonicznym konfliktem).
  • Wpływ na konwersję, CTR wyników wyszukiwania i zwroty.

Procedury operacyjne, kontrola jakości i skalowanie

Checklista operacyjna przed startem

  • Mapa pól krytycznych i hierarchia identyfikatorów gotowe.
  • Zdefiniowane progi dopasowania i lista wyjątków.
  • Backup, środowisko testowe, plan rollback.
  • Panel akceptacji i workflow ról.
  • Harmonogram reindeksacji i odświeżania cache.

Szkolenie zespołu i standardy opisu

Przygotuj przewodnik namingowy, przykłady poprawnych/niepoprawnych tytułów, zasady atrybutów obowiązkowych. Zespół powinien wiedzieć, jak rozpoznać duplikat i jak działa systemowe łączenie.

Kontrola wersji danych produktowych

Traktuj katalog jak kod: wersjonowanie, historia zmian, możliwość porównań i przywróceń. Ułatwia to dochodzenie przyczyn i minimalizuje koszty błędów.

Obsługa wyjątków i spory danych

Jeśli źródła dostarczają sprzeczne wartości (np. różne wymiary), ustal regułę ważenia wiarygodności: producent > dystrybutor > marketplace > ręczna edycja. Rejestruj merytoryczne uzasadnienie odstępstw.

Monitoring jakości po wdrożeniu

Monitoruj wskaźniki: tempo „odrastania” duplikatów, liczba błędnych merge’y, reklamacje klientów. Ustaw alerty: nagły wzrost podejrzanych rekordów po imporcie z nowego źródła może oznaczać problem z mapowaniem.

Bezpieczne usuwanie i retencja

Po okresie obserwacji rekordy wtórne mogą zostać usunięte fizycznie, ale tylko gdy istnieją kompletne przekierowania, zaktualizowane referencje i archiwum decyzji. Zachowaj dzienniki operacji na potrzeby zgodności i przyszłych analiz.

Polityka antyduplikacyjna na przyszłość

Zaimplementuj reguły zapobiegawcze na wejściu: walidator identyfikatorów, słowniki marek, automatyczne rozpoznawanie wzorców tytułów, ostrzeżenia przy próbie dodania rekordu podobnego powyżej progu.

Praktyczne receptury i narzędziowe wskazówki

Szybki pilot na wycinku katalogu

Wybierz jedną kategorię o dużym wolumenie i wdroż kaskadę reguł. Zmierz baseline (liczba duplikatów, CTR, konwersja), wykonaj merge, po 2–4 tygodniach porównaj metryki. Użyj wyników do poprawy progów i zasad.

Reguły fuzzy – dobór progów

  • Nad 0,96: auto-merge, jeśli brak sprzeczności atrybutów.
  • 0,90–0,96: review przez operatora, podpowiedzi porównujące różnice.
  • Poniżej 0,90: tylko etykieta „podejrzany”, brak działań.

Pamiętaj, że progi są domenowe: w elektronice modele są precyzyjne, w modzie opisy bywają ogólne – wymagana ostrożność.

Porządne logowanie i audytowalność

Każde połączenie powinno mieć ślad: kto, kiedy, na podstawie jakich reguł, jakie pola wygrały, jakie przegrane, do jakich kanałów wypchnięto zmiany. Przygotuj dashboard i eksport CSV/Parquet dla integracja z hurtownią danych oraz logi przyjazne dla raportowanie.

Wersjonowanie adresów URL i linkowanie

Przy scalaniu trzymaj słownik dawnych slugów. W CMS trzymaj hook, który przy zapytaniu o stary adres sprawdza mapę przekierowań. Zapobiega to utracie ruchu organicznego i błędom na kampaniach.

Zarządzanie wariantami i parent/child

Stwórz zasady: warianty różnią się tylko zdefiniowanym zbiorem atrybutów (np. kolor/rozmiar). Pozostałe różnice to zwykle powód do nowego SKU. W panelu merchantów wyświetlaj ostrzeżenie przy próbie utworzenia duplikatu wariantu.

Współpraca z dostawcami danych

Wymagaj od dostawców kluczy globalnych, spójnych atrybutów i wersjonowania. Zapewnij im feedback: raporty błędów i listy dopasowań. Lepiej zapobiegać niż później scalać.

Metryki sukcesu i testy A/B

  • Wyszukiwanie: mniej wyników „pustych”, lepsza trafność filtrów, wzrost CTR.
  • Sprzedaż: krótsza ścieżka do koszyka, mniej rezygnacji na kartach produktu.
  • Operacje: krótszy czas obsługi zwrotów, mniej błędów magazynowych.
  • SEO: spadek duplikacji treści, wzrost liczby fraz w top 10.

Plan ratunkowy (rollback)

Zanim włączysz auto-merge, miej plan powrotu: markuj operacje batch ID, przechowuj pełne snapshoty rekordów i redirectów. Jeśli coś pójdzie źle, jednym skryptem odtworzysz stan sprzed zmian.

Bezpieczeństwo prawne i zgodność

Zadbaj o zgodność z regulaminem marketplace’ów, licencjami zdjęć i prawami do znaków towarowych. Po scaleniu nie przypisuj zdjęć lub treści, do których nie masz praw, nawet jeśli pochodzą z połączonego rekordu.

Komunikacja wewnętrzna

Ustal kanał zgłaszania potencjalnych duplikatów przez obsługę klienta i magazyn. Ich sygnały często wychwytują przypadki, które umknęły automatom. Wprowadzaj szybkie ścieżki korekty.

Na koniec pamiętaj, że skuteczna deduplikacja to nie jednorazowy projekt, lecz proces. Utrzymuj dyscyplinę identyfikatorów, automaty, kontrolę jakości i kulturę danych. Zrównoważ rygor techniczny z wygodą operacyjną – tylko wtedy katalog pozostaje czytelny, a klienci szybciej znajdują właściwy produkt. Kiedy fundamenty są solidne, każda kolejna iteracja jest łatwiejsza, szybsza i przynosi większy zwrot.

< Powrót

Zapisz się do newslettera


Zadzwoń Napisz