[{"data":1,"prerenderedAt":737},["ShallowReactive",2],{"blog-pim-data-quality-llm-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":72,"og":73,"expertise":74,"locales":75,"lang":77,"title":79,"description":80,"coverAlt":81,"metaTitle":82,"takeaways":83,"faq":89,"toc":105,"blocks":136,"others":464},"pim-data-quality-llm","2026-10-12",8,"web",[9,10,11,12,13],"PIM","Data quality","ETIM","ECLASS","Deduplication",[15,16,17,18,19,20,21,22,23,24],"PIM data quality","ETIM classification LLM","eCl@ss classification automation","product data normalization","duplicate detection product data","product data deduplication embeddings","product data stewardship queue","ETIM vs eCl@ss","attribute normalization units","golden set product data evaluation",[26,29,32],{"name":27,"url":28},"Product information management","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct_information_management",{"name":30,"url":31},"Record linkage","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRecord_linkage",{"name":33,"url":34},"ETIM classification","https:\u002F\u002Fwww.etim-international.com\u002F",[36,39,42,45,48,51,54,57,60,63,66,69],{"title":37,"url":38},"ETIM International: new release ETIM 10.0 (10 Dec 2024)","https:\u002F\u002Fwww.etim-international.com\u002Fnew-release-etim-10-0-available\u002F",{"title":40,"url":41},"ETIM International: model information","https:\u002F\u002Fwww.etim-international.com\u002Fclassification\u002Fmodel-information\u002F",{"title":43,"url":44},"ETIM International: licence information","https:\u002F\u002Fwww.etim-international.com\u002Fclassification\u002Flicense-info\u002F",{"title":46,"url":47},"Ketenstandaard: ETIM 11.0 is coming (3 Feb 2026)","https:\u002F\u002Fketenstandaard.nl\u002Fnieuws\u002Fetim-11-0-komt-eraan-tijd-om-voor-te-sorteren\u002F",{"title":49,"url":50},"ECLASS: releases (Release 16.0, 28 Nov 2025)","https:\u002F\u002Feclass.eu\u002Fen\u002Feclass-standard\u002Freleases",{"title":52,"url":53},"ECLASS: language versions","https:\u002F\u002Feclass.eu\u002Fen\u002Feclass-standard\u002Flicenses\u002Flanguage-versions",{"title":55,"url":56},"Peeters and Bizer: Using ChatGPT for entity matching (ADBIS 2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.03423",{"title":58,"url":59},"Peeters et al.: WDC Products, a multi-dimensional entity matching benchmark (EDBT 2024)","https:\u002F\u002Farxiv.org\u002Fhtml\u002F2301.09521v2",{"title":61,"url":62},"Splink: probabilistic record linkage","https:\u002F\u002Fmoj-analytical-services.github.io\u002Fsplink\u002F",{"title":64,"url":65},"Pimcore: Data Quality Management","https:\u002F\u002Fdocs.pimcore.com\u002Fplatform\u002FData_Quality_Management\u002F",{"title":67,"url":68},"Akeneo: understand data quality","https:\u002F\u002Fhelp.akeneo.com\u002Fserenity-understand-data-quality",{"title":70,"url":71},"SQLI: commerce search-first strategy (vendor case study)","https:\u002F\u002Fwww.sqli.com\u002Fint-en\u002Finsights\u002Fcommerce-search-first-strategy-impact","\u002Fimages\u002Fblog\u002Fpim-data-quality-llm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpim-data-quality-llm\u002Fog.jpg","b2b-ecommerce-developer",[76,77,78],"en","de","hu","PIM-Datenqualität mit LLMs: ETIM-Klassifikation, Normalisierung und Dubletten","PIM-Datenqualität mit LLMs verbessern: ETIM- und ECLASS-Klassifikation, Einheiten- und Sprachnormalisierung, Dublettenerkennung und Datenpflege-Queue.","Eine Tabelle mit Zeilen, eine Lupe über der einen unvollständigen Zeile.","PIM-Datenqualität mit LLMs · Balázs Csorba",[84,85,86,87,88],"PIM-Datenqualität besteht aus vier maschinell prüfbaren Aufgaben: in einen Standard klassifizieren, Attributwerte normalisieren, Dubletten erkennen und jede Änderung mit Audit-Trail pflegen.","LLMs funktionieren am besten als Rangierer über eine abgerufene Vorauswahl von ETIM- oder ECLASS-Klassen, mit einer Konfidenz, die unsichere Datensätze in eine menschliche Warteschlange leitet.","Normalisieren Sie Werte beim Import in ein kanonisches Tupel aus Einheit und Wert und bewahren Sie den Originalstring und die Mapping-Version für das Audit auf.","Dubletten über eine Kaskade aus Blocking-Schlüsseln, Embedding-Kandidaten und LLM-Entscheidung finden; im WDC-Products-Benchmark erreichen selbst starke Verfahren nur F1 zwischen 0,64 und 0,89.","Jede Änderung an Prompt, Modell oder Standard-Release an einem von zwei Annotatoren geprüften Referenzset absichern; ETIM 11.0 ist für den 1. Dezember 2026 geplant.",[90,93,96,99,102],{"q":91,"a":92},"Was bedeutet PIM-Datenqualität in der Praxis?","Datensätze, die in die richtige Standardklasse eingeordnet sind, Attributwerte in kanonischen Einheiten und Formaten tragen, nur einmal existieren und sich nur über einen nachvollziehbaren Prozess ändern. Texte und Bilder sind Anreicherung, eine eigene Aufgabe. Jede der vier Qualitätsaufgaben lässt sich mit Precision und Recall an einem Referenzset messen.",{"q":94,"a":95},"Kann ein LLM Produkte nach ETIM oder ECLASS klassifizieren?","Ja, als Rangierer. Rufen Sie mit einer Suche über Klassennamen und Synonyme eine Vorauswahl ab, geben Sie dem Modell Klassendefinitionen und Merkmale, lassen Sie es eine oder keine wählen, und schicken Sie alles unter einer Konfidenzschwelle an einen Menschen. Erwarten Sie keine feste Genauigkeitszahl; messen Sie sie an Ihrem eigenen Referenzset.",{"q":97,"a":98},"Wie findet man doppelte Produkte im PIM?","Mit einer Kaskade. Blocking-Schlüssel wie normalisierte Herstellerartikelnummer, GTIN-Präfix oder Marke plus erste Tokens reduzieren die Paarzahl; Embeddings wählen ähnliche Datensätze vor; ein LLM oder ein probabilistisches Modell wie Splink entscheidet die übrigen Paare; und Menschen prüfen Zusammenführungen, die nicht durch eine exakte Kennung gedeckt sind.",{"q":100,"a":101},"ETIM oder ECLASS: Welche Klassifikation sollte ein B2B-Shop nutzen?","Das hängt von Branche und Handelspartnern ab. ETIM ist im Elektro-, SHK- und Gebäudetechnik-Großhandel verbreitet; ECLASS ist breiter und erscheint in 31 Sprachen, darunter Deutsch und Ungarisch. Viele PIMs führen beide, abgebildet auf eine interne Taxonomie.",{"q":103,"a":104},"Wie bewertet man Änderungen an der Produktdatenqualität?","Bauen Sie ein Referenzset aus einigen hundert bis tausend Datensätzen pro Katalogausschnitt, von zwei Annotatoren gelabelt, die sich in den meisten Fällen einig sind, und lassen Sie jede Änderung an Prompt, Modell oder Standard-Release Precision- und Recall-Schwellen darauf bestehen, inklusive einer Negativprüfung, dass ein offensichtlich falscher Datensatz abgelehnt bleibt.",[106,109,112,115,118,121,124,127,130,133],{"id":107,"title":108},"what-good-product-data-looks-like","Wie sehen gute Produktdaten aus?",{"id":110,"title":111},"classifying-into-etim-eclass-unspsc","Wie klassifiziert man Produkte mit einem LLM nach ETIM oder ECLASS?",{"id":113,"title":114},"normalizing-attributes-units-and-languages","Wie normalisiert man Einheiten und Sprachen?",{"id":116,"title":117},"deduplicating-with-blocking-embeddings-llm","Wie erkennt man doppelte Produkte?",{"id":119,"title":120},"stewardship-queue-and-audit-trail","Was gehört in die Pflege-Warteschlange?",{"id":122,"title":123},"golden-set-evaluation","Wie bewertet man das mit einem Referenzset?",{"id":125,"title":126},"what-it-is-worth","Was sind bessere Produktdaten wert?",{"id":128,"title":129},"when-not-to-use-llms","Wann sollte man für Produktdaten kein LLM nutzen?",{"id":131,"title":132},"checklist","Eine Checkliste für LLM-gestützte PIM-Datenqualität",{"id":134,"title":135},"sources","Quellen",[137,145,148,151,154,160,163,164,167,170,181,184,240,257,258,261,277,280,281,284,288,299,306,307,310,320,322,325,326,333,345,346,349,386,389,390,398,399,417,425,426],{"type":138,"content":139},"paragraph",[140,144],{"tag":141,"children":142},"strong",[143],"PIM-Datenqualität"," bedeutet, dass jeder Produktdatensatz in die richtige Standardklasse eingeordnet ist, Attributwerte in kanonischen Einheiten trägt, nur einmal existiert und sich nur über einen nachvollziehbaren Prozess ändert. Große Sprachmodelle helfen genau bei den Teilen, die früher im Rückstand liegen blieben, beim Rangieren von Klassen, beim Deuten unordentlicher Werte und beim Beurteilen von Beinahe-Dubletten, solange deterministische Regeln zuerst laufen und ein Mensch freigibt, was das Modell vorschlägt.",{"type":138,"content":146},[147],"Dieser Artikel behandelt die vier Qualitätsaufgaben, die Klassifikation nach ETIM, ECLASS und UNSPSC, Einheiten- und Sprachnormalisierung, Dublettenerkennung, die Pflege-Warteschlange, die Bewertung mit einem Referenzset und den Business Case. Das Erzeugen von Produkttexten ist eine andere Aufgabe und nicht Thema.",{"type":149,"level":150,"id":107,"text":108},"heading",2,{"type":138,"content":152},[153],"Gute Produktdaten bestehen vier maschinell prüfbare Aufgaben: Sie sind in einen Standard klassifiziert, ihre Attributwerte sind normalisiert, sie sind eindeutig, und jede Änderung wird mit Audit-Trail gepflegt. Jede Aufgabe bekommt ein eigenes Ziel für Precision und Recall, bevor ein Modell beteiligt ist, denn „bessere Daten“ ohne Zahl lassen sich weder abnehmen noch ablehnen.",{"type":155,"src":156,"alt":157,"wide":158,"caption":159},"image","\u002Fimages\u002Fblog\u002Fpim-data-quality-llm\u002Fdiagram-4.webp","Datenqualitätspipeline im PIM Fünf Stufen von links nach rechts für Datensätze aus ERP und von Lieferanten: deterministische Prüfungen für Format, GTIN-Prüfziffern und Referenzlisten; LLM-Klassifikation in einen Standard mit Konfidenz; Normalisierung von Einheiten und Werten; Dublettenerkennung; und eine Pflege-Warteschlange, in der Menschen Änderungen freigeben, bevor der Katalog veröffentlicht wird. Ein Referenzset sichert jede Änderung an Prompts, Modellen oder Standard-Releases ab.",true,"Die Datenqualitätspipeline: zuerst deterministische Regeln, LLM-Schritte in der Mitte und eine menschliche Pflegefreigabe, bevor etwas den veröffentlichten Katalog erreicht.",{"type":138,"content":161},[162],"Die Klassifikation entscheidet, in welchen Facetten und Filtern ein Produkt erscheint. Die Normalisierung entscheidet, ob „230 V“, „230V AC“ und „0,23 kV“ als gleich gelten. Die Dublettenerkennung entscheidet, ob sich die Nachfrage nach einem Artikel auf drei Artikelnummern verteilt. Die Datenpflege entscheidet, ob jemand ein Jahr später erklären kann, warum sich ein Datensatz geändert hat. In mehr als zehn Jahren Arbeit mit Spryker und Pimcore habe ich gesehen, wie diese vier Aufgaben zum Rückstand werden, den niemand verantwortet; LLMs ändern die Kosten der Prüfwarteschlange, nicht ihre Notwendigkeit.",{"type":149,"level":150,"id":110,"text":111},{"type":138,"content":165},[166],"Behandeln Sie das Modell als Rangierer über eine Vorauswahl, nicht als Klassifikator über den ganzen Standard. Rufen Sie etwa zehn Kandidatenklassen über eine Suche in Klassennamen und Synonymen ab, geben Sie dem Modell Definition und Merkmalsliste jedes Kandidaten, lassen Sie es eine oder keine mit Konfidenz wählen und leiten Sie Unsicheres an einen Menschen.",{"type":168,"code":169},"code","\u002F\u002F Classification (sketch): retrieve a shortlist, let the model rank, route by confidence\nconst shortlist = await classIndex.search(`${product.title} ${product.attributeText}`, { k: 10 })  \u002F\u002F BM25 + vectors\nconst ranked = await llm.rank({\n  product,\n  candidates: shortlist.map((c) => ({ code: c.code, name: c.name, definition: c.definition, features: c.features })),\n  schema: { classCode: 'one candidate code or NONE', confidence: 'low | medium | high', reason: 'string' },\n})\n\nif (ranked.classCode !== 'NONE' && !shortlist.some((c) => c.code === ranked.classCode))\n  return queue(product, 'model answered outside the shortlist')\nif (ranked.confidence !== 'high') return queue(product, 'needs review', ranked)\nreturn propose(product, ranked)          \u002F\u002F still a proposal; publishing follows stewardship rules",{"type":138,"content":171},[172,173,177,178,180],"Die Standards sind dafür gebaut. In ETIM hat jede Klasse, jedes Merkmal, jeder Wert und jede Einheit eine sprachunabhängige Kennung, Merkmale sind als alphanumerisch, logisch, numerisch oder Bereich typisiert, und numerische und Bereichsmerkmale verlangen immer eine Einheit (",{"tag":174,"href":41,"children":175},"a",[176],"ETIM-Modell","). ECLASS ging mit generiertem Text weiter: Für Release 16.0 entstanden rund 23.300 Klassendefinitionen mit GPT-4o mini, und jede ist im Standard selbst als maschinell erzeugt gekennzeichnet (",{"tag":174,"href":50,"children":179},[12],"). Das ist ein nützliches Signal für die eigene Pipeline: Modellausgaben dauerhaft als solche kennzeichnen.",{"type":138,"content":182},[183],"Legen Sie die Konfidenzschwelle pro Klassenfamilie fest, nicht global. In einer Familie, deren Klassen sich in einem Merkmal unterscheiden, etwa Kabeltypen nach Querschnitt und Isolierung, liegt das Modell öfter selbstbewusst falsch als in einer Familie mit klar getrennten Klassen. Messen Sie die Genauigkeit pro Familie am Referenzset, schlagen Sie nur dort automatisch vor, wo sie hält, und lassen Sie die Schwelle mit der Evidenz steigen oder fallen. Auch die Vorauswahl verrät etwas: Fehlt die richtige Klasse oft in den ersten zehn, verbessern Sie Retrieval und Synonyme, bevor Sie den Prompt anfassen.",{"type":185,"head":186,"rows":197},"table",[187,189,191,193,195],[188],"Standard",[190],"Aktuelles Release",[192],"Typischer Einsatz",[194],"Deutsch und Ungarisch",[196],"Austausch",[198,208,218,229],[199,200,202,204,206],[11],[201],"10.0 (Dez. 2024); 11.0 geplant für 1. Dez. 2026",[203],"Elektro, SHK, Gebäudetechnik",[205],"nationale Mitgliedschaft nötig",[207],"ETIM xChange 1.1, BMEcat-Mapping",[209,210,212,214,216],[12],[211],"16.0 (28. Nov. 2025)",[213],"branchenübergreifend, 31 Sprachen",[215],"beide zu 100 % übersetzt",[217],"CSV, XML, JSON, REST",[219,221,223,225,227],[220],"UNSPSC",[222],"seit Januar 2025 bei UNDP",[224],"Beschaffung und Ausgabenanalyse",[226],"codebasiert",[228],"Codelisten",[230,232,234,236,238],[231],"BMEcat",[233],"2005.2",[235],"Katalogaustausch im DACH-B2B",[237],"trägt jede Klassifikation",[239],"XML",{"type":138,"content":241},[242,243,246,247,246,250,246,253,256],"Quellen der Tabelle: ",{"tag":174,"href":38,"children":244},[245],"ETIM 10.0",", ",{"tag":174,"href":47,"children":248},[249],"Zeitplan ETIM 11.0",{"tag":174,"href":44,"children":251},[252],"ETIM-Lizenzen",{"tag":174,"href":53,"children":254},[255],"ECLASS-Sprachversionen",", Stand Oktober 2026. Ein neues Standard-Release ist ein Mapping-Projekt mit eigenem Referenzset, keine Prompt-Änderung.",{"type":149,"level":150,"id":113,"text":114},{"type":138,"content":259},[260],"Normalisieren Sie beim Import in ein kanonisches Tupel aus Einheit und Wert und speichern Sie den Originalstring und die Mapping-Version daneben. Einheiten kommen zuerst: ETIM verlangt für jedes numerische und Bereichsmerkmal eine Einheit, also müssen „2,5 mm²“, „2.5mm2“ und „2,5 qmm“ zum selben Wert in derselben Einheit werden, bevor irgendetwas sie vergleichen kann.",{"type":138,"content":262},[263,264,266,267,270,271,276],"Die Sprache kommt danach, und hier spielt die Lizenz eine Rolle. Die englische ETIM-Masterversion ist frei zugänglich, die deutsche, österreichisch-deutsche und ungarische Sprachversion verlangen aber eine nationale Mitgliedschaft (",{"tag":174,"href":44,"children":265},[252],"); ECLASS liefert Deutsch und Ungarisch vollständig übersetzt. Auch die Werkzeuge decken nicht alles ab: Die Rechtschreibprüfung von Akeneo kann Deutsch, aber kein Ungarisch (",{"tag":174,"href":68,"children":268},[269],"Akeneo","). Das Muster ist dasselbe, das ich für die Übersetzung meiner eigenen Website mit einer LLM-Pipeline genutzt habe, beschrieben in ",{"tag":272,"to":273,"children":274},"link","\u002Fblog\u002Fllm-translation-pipeline-i18n",[275],"einer LLM-Übersetzungspipeline für i18n",": Das Modell schlägt vor, ein Glossar und ein Prüfschritt entscheiden.",{"type":138,"content":278},[279],"Werte, die sich nicht zuordnen lassen, brauchen einen festen Platz. Statt das Modell den nächstgelegenen zulässigen Wert erfinden zu lassen, speichern Sie den Rohstring, markieren das Attribut als nicht zugeordnet und schicken es mit den vom Modell erwogenen Kandidaten in die Warteschlange. Mit der Zeit zeigen die nicht zugeordneten Strings, welche Lieferantenformate oder Synonyme den Regeln fehlen, und eine korrigierte Regel räumt eine ganze Kategorie von Einträgen auf einmal ab.",{"type":149,"level":150,"id":116,"text":117},{"type":138,"content":282},[283],"Nutzen Sie eine Kaskade, die die meisten Paare günstig entfernt, bevor ein Modell sie sieht. Jeden Datensatz mit jedem anderen zu vergleichen skaliert nicht: 100.000 Datensätze bilden schon rund 5 Milliarden Paare. Blocking über normalisierte Schlüssel, Embedding-Vorauswahl und LLM-Entscheidung für den schwierigen Rest bringen das auf eine Menge, die Menschen prüfen können.",{"type":155,"src":285,"alt":286,"wide":158,"caption":287},"\u002Fimages\u002Fblog\u002Fpim-data-quality-llm\u002Fdiagram-19.webp","Kaskade der Dublettenerkennung Vier sich verengende Stufen von oben nach unten: alle Paare, wobei 100.000 Datensätze bereits rund 5 Milliarden Paare bilden; Blocking über normalisierte Herstellerartikelnummer, GTIN-Präfix oder Marke plus erste Tokens; eine Embedding-Vorauswahl der ähnlichsten Datensätze; und eine LLM-Entscheidung mit striktem Schema aus gleich, verschieden oder unklar. Das Ergebnis teilt sich in automatische Zusammenführung nur dort, wo eine exakte Kennung und das Modell übereinstimmen, was Präzision bevorzugt, und eine Pflege-Warteschlange für alles andere, was Vollständigkeit bevorzugt.","Die Dubletten-Kaskade: Jede Stufe entfernt die meisten Paare günstig, das LLM sieht nur den schwierigen Rest, und nur durch Kennungen gedeckte Treffer werden ohne Menschen zusammengeführt.",{"type":138,"content":289},[290,291,294,295,298],"Setzen Sie Erwartungen anhand veröffentlichter Ergebnisse. Im realistischen Benchmark WDC Products, 11.715 Angebote zu 2.162 Produkten aus 3.259 Shops, erreichen aktuelle Verfahren F1 zwischen 0,64 und 0,89, und die Precision bricht bei Sonderfällen und unbekannten Produkten ein (",{"tag":174,"href":59,"children":292},[293],"Peeters et al., EDBT 2024","). Eine frühere Studie fand, dass ChatGPT zero-shot 82,35 % F1 bei einer Produktabgleichsaufgabe erreichte, für die ein feinjustiertes RoBERTa 2.000 Trainingsbeispiele für ähnliche Qualität brauchte (",{"tag":174,"href":56,"children":296},[297],"Peeters und Bizer, 2023","). Gut, aber nicht gut genug für unbeaufsichtigtes Zusammenführen.",{"type":138,"content":300},[301,302,305],"Ein probabilistisches Modell ist eine ernsthafte Alternative zum LLM für den Entscheidungsschritt. Splink implementiert das Fellegi-Sunter-Modell mit unüberwachtem Training und Häufigkeitsanpassung, verknüpft etwa eine Million Datensätze pro Minute auf einem Laptop und 100 Millionen und mehr auf Spark oder DuckDB und wird unter anderem vom britischen Office for National Statistics und der Europäischen Arzneimittel-Agentur genutzt; die Dokumentation sagt ausdrücklich, dass Datensätze zuerst standardisiert werden müssen (",{"tag":174,"href":62,"children":303},[304],"Splink","). Das ist wieder der Normalisierungsschritt.",{"type":149,"level":150,"id":119,"text":120},{"type":138,"content":308},[309],"Alles, bei dem die Pipeline unsicher ist: Klassifikationen mit niedriger Konfidenz, Zusammenführungen und Trennungen ohne exakte Kennung und Einheitenkonflikte. In der Warteschlange wird die Geschwindigkeit des LLM zu veröffentlichten Daten; sie braucht daher dieselbe Sorgfalt wie jede Oberfläche für Nutzer.",{"type":138,"content":311},[312,313,316,317,319],"PIMs liefern Teile davon. Das Data Quality Management von Pimcore berechnet aus konfigurierbaren Regeln einen Qualitätswert pro Datenobjekt und zeigt ihn in Editor, Raster und Baum (",{"tag":174,"href":65,"children":314},[315],"Pimcore","), und Pimcore Copilot führt mehrstufige Hintergrundjobs mit Jobübersicht aus. Data Quality Insights von Akeneo bewertet Produkte von A bis E nach Anreicherung und Konsistenz (",{"tag":174,"href":68,"children":318},[269],"). Keines davon ersetzt einen Audit-Datensatz pro Entscheidung:",{"type":168,"code":321},"{\n  \"record\": \"SKU-118274\",\n  \"job\": \"classify\",\n  \"proposal\": { \"standard\": \"ETIM\", \"release\": \"10.0\", \"classCode\": \"…\", \"confidence\": \"high\" },\n  \"model\": \"provider\u002Fmodel-id@2026-10-01\",\n  \"promptVersion\": \"classify-v14\",\n  \"inputHash\": \"sha256:9f2c…\",\n  \"decision\": \"approved\",\n  \"decidedBy\": \"steward:k.mayer\",\n  \"decidedAt\": \"2026-10-12T09:41:07Z\"\n}",{"type":138,"content":323},[324],"Gestalten Sie die Warteschlange auf Durchsatz. Gruppieren Sie Einträge nach Typ und Klassenfamilie, damit eine Person zwanzig ähnliche Kabeldatensätze am Stück prüft, statt zwischen Themen zu springen, zeigen Sie die Belege neben jedem Vorschlag und machen Sie Übernehmen, Korrigieren und Ablehnen zu einzelnen Tastendrücken. Jede Korrektur ist Trainingsmaterial für die nächste Runde: Sie wird zum Synonym, zur Mapping-Regel oder zum Referenzbeispiel. Eine Warteschlange, die nur wächst, zeigt falsche Schwellen oder Regeln an, nicht langsame Menschen.",{"type":149,"level":150,"id":122,"text":123},{"type":138,"content":327},[328,329,332],"Bauen Sie ein Referenzset aus 300 bis 1.000 Datensätzen pro Katalogausschnitt, unabhängig von zwei Personen gelabelt, und lassen Sie jede Änderung an Prompt, Modell oder Standard-Release Precision- und Recall-Schwellen darauf bestehen. Zwei sorgfältige Annotatoren kommen nah an die Qualität veröffentlichter Benchmarks: Das WDC-Products-Team schätzte bei seiner manuellen Prüfung 4,00 % und 4,17 % Labelrauschen bei einem Cohens Kappa von 0,91 (",{"tag":174,"href":59,"children":330},[331],"WDC Products",").",{"type":334,"variant":335,"title":336,"body":337},"callout","tip","Eine Negativprüfung aufnehmen",[338],[339,340,344],"Nehmen Sie Datensätze auf, die abgelehnt bleiben müssen: eine offensichtlich falsche Klasse, ein Paar, das ähnlich aussieht, sich aber in einem kritischen Merkmal unterscheidet, ein Wert in der falschen Einheit. Eine Änderung, die die durchschnittliche Genauigkeit verbessert, aber einen davon durchlässt, sollte die Prüfung nicht bestehen. Dieselbe Idee steckt hinter dem Vorgehen in ",{"tag":272,"to":341,"children":342},"\u002Fblog\u002Fllm-evals-for-product-features",[343],"LLM-Evals für Produktfunktionen",".",{"type":149,"level":150,"id":125,"text":126},{"type":138,"content":347},[348],"Suche und Filter sind der Umsatzhebel, Dubletten der Kostenhebel. Veröffentlichte Zahlen gibt es für beide Seiten, meist von Anbietern und aus benachbarten Märkten; stellen Sie sie als Richtung dar, nicht als Versprechen.",{"type":350,"ordered":351,"items":352},"list",false,[353,371,381],[354,357,358,361,362,366,367,344],{"tag":141,"children":355},[356],"Auffindbarkeit:"," In einem von SQLI veröffentlichten Fall steigerte ein Industriehändler mit 45.000 Artikeln und 18 % Null-Treffer-Quote die Konversion der Suchnutzer von 23 % auf 47 % und den durchschnittlichen Warenkorb um 23 %, nach einem Datenqualitätsaudit plus KI-Suche (",{"tag":174,"href":71,"children":359},[360],"SQLI","). Saubere Attribute sind die Grundlage für ",{"tag":272,"to":363,"children":364},"\u002Fblog\u002Fsemantic-product-search-b2b",[365],"semantische Produktsuche im B2B"," und für Agenten, die Ihren Katalog lesen, siehe ",{"tag":272,"to":368,"children":369},"\u002Fblog\u002Fprocurement-agent-buyer-side",[370],"Agentic-Commerce-Readiness",[372,375,376,380],{"tag":141,"children":373},[374],"Retouren:"," Eine im März 2026 veröffentlichte Studie von GS1 India und Kanvic schätzt, dass schlechte Produktdaten den indischen E-Commerce rund 5.000 Crore Rupien pro Jahr kosten, davon etwa 1.900 Crore an Retourenkosten (",{"tag":174,"href":377,"children":378},"https:\u002F\u002Fbwretailworld.com\u002Fsector\u002Fe-commerce-marketplaces\u002Fpoor-product-data-costs-indian-ecommerce-rs-5000-cr-every-year-study",[379],"BW Retail World","). Falsch bestellte Teile im B2B sind derselbe Fehler: eine Spezifikation, die nicht passte.",[382,385],{"tag":141,"children":383},[384],"Dubletten:"," Für die Kosten doppelter Artikel gibt es keine belastbare öffentliche Zahl. Die Mechanik ist klar: Dubletten blähen den Katalog auf, teilen Nachfragesignale und Meldebestände und verfälschen Sortimentsberichte. Zählen Sie sie vorher und nachher.",{"type":138,"content":387},[388],"Für eine E-Commerce-Leitung oder einen PIM-Verantwortlichen ist die messbare Basislinie die Null-Treffer-Quote, die Attributvollständigkeit pro Klasse und die Zahl der Dubletten. Ein Datenqualitäts-Sprint mit festem Umfang, Audit, Referenzset, Klassifikations- und Dublettenjobs mit Konfidenzschwellen, einer Pflegeansicht und einer CI-Prüfung, kann das Vorher und Nachher genau an diesen Zahlen zeigen.",{"type":149,"level":150,"id":128,"text":129},{"type":138,"content":391},[392,393,397],"Nie für etwas, das eine Regel entscheiden kann. Formate, GTIN-Prüfziffern und die Zugehörigkeit zu einer Referenzliste sind deterministische Prüfungen und laufen vor jedem Modell. LLMs sind für mehrdeutige Rangfolgen und Deutungen da, nicht zum Prüfen von Ziffern. Und die Migration auf ein neues Standard-Release, etwa ETIM 11.0 im Dezember 2026, ist ein Mapping-Projekt mit eigenen Tests, kein Prompt, den man anpasst. Kommen Stammdaten uneinheitlich aus dem ERP, beheben Sie zuerst den Import; ",{"tag":272,"to":394,"children":395},"\u002Fblog\u002Fpimcore-erp-delta-sync",[396],"der Pimcore-ERP-Delta-Sync"," ist der Ort dafür.",{"type":149,"level":150,"id":131,"text":132},{"type":350,"ordered":158,"items":400},[401,403,405,407,409,411,413,415],[402],"Precision- und Recall-Ziele für Klassifikation, Normalisierung und Dubletten getrennt festlegen.",[404],"Deterministische Prüfungen zuerst: Formate, GTIN-Prüfziffern, Referenzlisten.",[406],"Mit abgerufener Vorauswahl klassifizieren und Antworten außerhalb davon ablehnen.",[408],"Kanonische Einheit und Wert plus Originalstring und Mapping-Version speichern.",[410],"Automatisch nur zusammenführen, wo exakte Kennung und Abgleich übereinstimmen; den Rest einreihen.",[412],"Für jede Entscheidung einen Audit-Datensatz mit Modell, Prompt-Version und Eingabe-Hash schreiben.",[414],"Änderungen in der CI über ein Referenzset mit zwei Annotatoren absichern, inklusive Negativprüfungen.",[416],"Migrationen auf neue Standard-Releases als Projekte mit eigenen Mapping-Tests planen.",{"type":138,"content":418},[419,420,424],"Wenn Sie eine Basislinie für Ihren Katalog oder Unterstützung beim Aufbau der Pipeline in Pimcore oder Akeneo möchten, sehen Sie sich meine ",{"tag":272,"to":421,"children":422},"\u002Fexpertise\u002Fb2b-ecommerce-developer",[423],"B2B-E-Commerce-Arbeit"," an.",{"type":149,"level":150,"id":134,"text":135},{"type":350,"ordered":158,"items":427},[428,431,434,437,440,443,446,449,452,455,458,461],[429],{"tag":174,"href":38,"children":430},[37],[432],{"tag":174,"href":41,"children":433},[40],[435],{"tag":174,"href":44,"children":436},[43],[438],{"tag":174,"href":47,"children":439},[46],[441],{"tag":174,"href":50,"children":442},[49],[444],{"tag":174,"href":53,"children":445},[52],[447],{"tag":174,"href":56,"children":448},[55],[450],{"tag":174,"href":59,"children":451},[58],[453],{"tag":174,"href":62,"children":454},[61],[456],{"tag":174,"href":65,"children":457},[64],[459],{"tag":174,"href":68,"children":460},[67],[462],{"tag":174,"href":71,"children":463},[70],[465,539,595,669],{"slug":466,"published":467,"minutes":468,"category":7,"tags":469,"keywords":475,"about":487,"sources":496,"cover":533,"og":534,"expertise":74,"locales":535,"lang":77,"title":536,"description":537,"coverAlt":538},"schema-org-structured-data-b2b-shop","2026-10-17",10,[470,471,472,473,474],"Schema.org","Structured data","B2B e-commerce","Technical SEO","Nuxt",[476,477,478,479,480,481,482,483,484,485,486],"schema.org b2b shop","product structured data b2b","merchant listing structured data","product snippet vs merchant listing","unitpricespecification referencequantity","productgroup variants structured data","organization schema vatid","b2b prices behind login seo","json-ld nuxt schema org","merchant return policy structured data","mpn gtin structured data",[488,490,493],{"name":470,"url":489},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSchema.org",{"name":491,"url":492},"JSON-LD","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON-LD",{"name":494,"url":495},"Business-to-business","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBusiness-to-business",[497,500,503,506,509,512,515,518,521,524,527,530],{"title":498,"url":499},"Google Search Central: Introduction to Product structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct",{"title":501,"url":502},"Google Search Central: Merchant listing (Product, Offer) structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fmerchant-listing",{"title":504,"url":505},"Google Search Central: Product snippet structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-snippet",{"title":507,"url":508},"Google Search Central: Product variant structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-variants",{"title":510,"url":511},"Google Search Central: Organization structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Forganization",{"title":513,"url":514},"Google Search Central: Merchant return policy structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Freturn-policy",{"title":516,"url":517},"Google Search Central: General structured data guidelines","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fsd-policies",{"title":519,"url":520},"Google Search Central: Generate structured data with JavaScript","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fgenerate-structured-data-with-javascript",{"title":522,"url":523},"Schema.org: Offer","https:\u002F\u002Fschema.org\u002FOffer",{"title":525,"url":526},"Schema.org: UnitPriceSpecification","https:\u002F\u002Fschema.org\u002FUnitPriceSpecification",{"title":528,"url":529},"Unhead: Product schema (defineProduct)","https:\u002F\u002Funhead.unjs.io\u002Fdocs\u002Fschema-org\u002Fapi\u002Fschema\u002Fproduct",{"title":531,"url":532},"Nuxt SEO: Schema.org identity setup","https:\u002F\u002Fnuxtseo.com\u002Fdocs\u002Fschema-org\u002Fguides\u002Fsetup-identity","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fog.jpg",[76,77,78],"Schema.org-Strukturdaten für B2B-Shops: Preise hinter Logins, Einheiten und Varianten","Produkt-Markup für B2B-Shops: Snippet oder Händlereintrag, welcher Preis, Artikelnummern, Grundpreise, Varianten, Organization und SSR in Nuxt.","Ein Produktrechteck mit dünnem Rahmen und einem kleinen Feld, das eine niedrige Wand verdeckt.",{"slug":540,"published":467,"minutes":541,"category":7,"tags":542,"keywords":547,"about":559,"sources":567,"cover":589,"og":590,"expertise":74,"locales":591,"lang":77,"title":592,"description":593,"coverAlt":594},"ai-assistant-b2b-shop-customer-support",9,[472,543,544,545,546],"AI assistant","Customer support","LLM agents","EU AI Act",[548,549,550,551,552,553,554,555,556,557,558],"ai assistant b2b shop","ai customer support b2b ecommerce","llm chatbot order status","ai agent customer service tools","chatbot liability air canada","klarna ai assistant results","human handoff chatbot design","eu ai act chatbot disclosure","owasp excessive agency","ai support resolution rate","b2b customer portal chatbot",[560,563,566],{"name":561,"url":562},"Customer service","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCustomer_service",{"name":564,"url":565},"Chatbot","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FChatbot",{"name":494,"url":495},[568,571,574,577,580,583,586],{"title":569,"url":570},"Klarna: AI assistant handles two-thirds of customer service chats in its first month (press release, 2024)","https:\u002F\u002Fwww.klarna.com\u002Finternational\u002Fpress\u002Fklarna-ai-assistant-handles-two-thirds-of-customer-service-chats-in-its-first-month\u002F",{"title":572,"url":573},"Entrepreneur: Klarna is hiring customer service agents again, according to its CEO (May 2025)","https:\u002F\u002Fwww.entrepreneur.com\u002Fbusiness-news\u002Fklarna-ceo-reverses-course-by-hiring-more-humans-not-ai\u002F491396",{"title":575,"url":576},"ABA Business Law Today: BC tribunal confirms companies remain liable for information provided by AI chatbot","https:\u002F\u002Fwww.americanbar.org\u002Fgroups\u002Fbusiness_law\u002Fresources\u002Fbusiness-law-today\u002F2024-february\u002Fbc-tribunal-confirms-companies-remain-liable-information-provided-ai-chatbot\u002F",{"title":578,"url":579},"OWASP GenAI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F",{"title":581,"url":582},"OWASP GenAI Security Project: LLM05:2025 Improper Output Handling","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm052025-improper-output-handling\u002F",{"title":584,"url":585},"EU AI Act, Article 50: Transparency obligations","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F50\u002F",{"title":587,"url":588},"Intercom: Fin pricing and billable outcomes","https:\u002F\u002Ffin.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fog.jpg",[76,77,78],"Ein KI-Assistent für den Support im B2B-Shop: Tools, Berechtigungen und die Übergabe an Menschen","Wie man einen KI-Support-Assistenten für einen B2B-Shop baut: was automatisieren, Tools im Kundenkontext, Übergabe an Menschen, AI Act und Kennzahlen.","Eine hohe Mauer mit schmalem Durchgang: Ein Pfeil führt in ein Feld mit drei Quadraten, ein zweiter nach unten zu einer Ablage.",{"slug":596,"published":467,"minutes":597,"category":7,"tags":598,"keywords":603,"about":615,"sources":625,"cover":662,"og":663,"expertise":664,"locales":665,"lang":77,"title":666,"description":667,"coverAlt":668},"vue-ai-chat-ui-streaming-accessibility",11,[599,474,600,601,602],"Vue","Accessibility","Streaming","AI chat",[604,605,606,607,608,609,610,611,612,613,614],"vue ai chat ui","nuxt llm streaming","sse vs fetch streaming","aria-live streaming text","accessible chat interface","abort fetch stream vue","dompurify markdown llm","role log chat","reduced motion chat ui","wcag 2.2 chat","screen reader streaming",[616,619,622],{"name":617,"url":618},"Web accessibility","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWeb_accessibility",{"name":620,"url":621},"Server-sent events","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",{"name":623,"url":624},"Vue.js","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVue.js",[626,629,632,635,638,641,644,647,650,653,656,659],{"title":627,"url":628},"MDN: Using server-sent events","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",{"title":630,"url":631},"MDN: AbortController","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FAbortController",{"title":633,"url":634},"MDN: ReadableStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FReadableStream",{"title":636,"url":637},"MDN: TextDecoderStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTextDecoderStream",{"title":639,"url":640},"MDN: ARIA log role","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAccessibility\u002FARIA\u002FReference\u002FRoles\u002Flog_role",{"title":642,"url":643},"W3C: Understanding SC 4.1.3 Status Messages","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Fstatus-messages.html",{"title":645,"url":646},"W3C WAI: What's new in WCAG 2.2","https:\u002F\u002Fwww.w3.org\u002FWAI\u002Fstandards-guidelines\u002Fwcag\u002Fnew-in-22\u002F",{"title":648,"url":649},"MDN: prefers-reduced-motion","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion",{"title":651,"url":652},"DOMPurify README","https:\u002F\u002Fgithub.com\u002Fcure53\u002FDOMPurify",{"title":654,"url":655},"markdown-it README","https:\u002F\u002Fgithub.com\u002Fmarkdown-it\u002Fmarkdown-it",{"title":657,"url":658},"AI SDK docs: useChat","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot",{"title":660,"url":661},"Vue docs: nextTick","https:\u002F\u002Fvuejs.org\u002Fapi\u002Fgeneral.html#nexttick","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fog.jpg","vue-nuxt-developer",[76,77,78],"Streaming-Chat mit KI in Vue und Nuxt: von Anfang an barrierefrei","KI-Chat in Vue oder Nuxt: Fetch-Streams, Abbruch und Retry, sicheres Markdown-Rendering, aria-live-Meldungen, Tastaturnavigation und Reduced Motion.","Eine Nachrichtenkarte mit blinkendem Cursor, eine gepunktete Linie öffnet sich zu Wellen, daneben ein Haken.",{"slug":670,"published":467,"minutes":541,"category":7,"tags":671,"keywords":676,"about":688,"sources":698,"cover":731,"og":732,"expertise":664,"locales":733,"lang":77,"title":734,"description":735,"coverAlt":736},"llm-translation-pipeline-i18n",[672,673,674,599,675],"Translation","i18n","LLM","Localization",[677,678,679,680,681,682,683,684,685,686,687],"llm translation pipeline","icu messageformat placeholders","vue i18n llm translation","translation memory llm","glossary enforcement translation","german informal sie du","hungarian translation quality llm","structured output json translation","machine translation post-editing","locale file validation","cldr plural categories",[689,692,695],{"name":690,"url":691},"Internationalization and localization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInternationalization_and_localization",{"name":693,"url":694},"ICU MessageFormat","https:\u002F\u002Funicode-org.github.io\u002Ficu\u002Fuserguide\u002Fformat_parse\u002Fmessages\u002F",{"name":696,"url":697},"Vue I18n","https:\u002F\u002Fvue-i18n.intlify.dev\u002F",[699,701,704,707,710,713,716,719,722,725,728],{"title":700,"url":694},"Unicode ICU User Guide: Formatting Messages",{"title":702,"url":703},"Vue I18n: Message Format Syntax","https:\u002F\u002Fvue-i18n.intlify.dev\u002Fguide\u002Fessentials\u002Fsyntax",{"title":705,"url":706},"Nuxt i18n: Getting started","https:\u002F\u002Fi18n.nuxtjs.org\u002Fdocs\u002Fgetting-started",{"title":708,"url":709},"Unicode CLDR: Plural rules","https:\u002F\u002Fcldr.unicode.org\u002Findex\u002Fcldr-spec\u002Fplural-rules",{"title":711,"url":712},"OpenAI: Structured outputs","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs",{"title":714,"url":715},"DeepL API: Glossaries","https:\u002F\u002Fdevelopers.deepl.com\u002Fdocs\u002Fapi-reference\u002Fglossaries",{"title":717,"url":718},"W3C: Localization vs. internationalization","https:\u002F\u002Fwww.w3.org\u002FInternational\u002Fquestions\u002Fqa-i18n",{"title":720,"url":721},"GNU gettext manual","https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fgettext\u002Fmanual\u002Fgettext.html",{"title":723,"url":724},"RFC 5646: Tags for Identifying Languages","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc5646",{"title":726,"url":727},"Rat für deutsche Rechtschreibung","https:\u002F\u002Fwww.rechtschreibrat.com\u002F",{"title":729,"url":730},"Microsoft Writing Style Guide","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fstyle-guide\u002Fwelcome\u002F","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fog.jpg",[76,77,78],"Eine LLM-Übersetzungspipeline für i18n: Glossar, Platzhalter und Review","Produkt- und Website-Texte mit LLMs übersetzen, ohne Platzhalter, Pluralformen oder Tonalität zu beschädigen: Glossar, ICU-Nachrichten, QA-Checks, Review.","Drei Quellkarten, eine übersetzte Karte mit Glossar-Lesezeichen, dann eine geprüfte Klemmschiene.",1792337023400]