דה-דופליקציה של מוצרים בעת ייבוא ממספר ספקים

ייבוא ממספר ספקים מזהם את הקטלוג בכפילויות ושובר את החיפוש. אנו מגדירים דה-דופליקציה של מוצרים כמעט מוכנה: התאמת פריטים לפי שם, מק"ט, מאפיינים וברקוד, איחוד כרטיסים ושמירת כל הצעות הספקים. הקטלוג הופך נקי, והבדיקה הידנית מצטמצמת פי כמה.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
דה-דופליקציה של מוצרים בעת ייבוא ממספר ספקים
מורכב
~5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

מדוע ייבוא מכמה ספקים שובר את הקטלוג

כל ספק מספק מחירון בפורמט משלו: אצל אחד מק"ט בעמודה SKU, אצל אחר — Код, ואצל שלישי הוא כלל אינו קיים, והמוצר מזוהה לפי שם. ייבוא מחירונים מכמה ספקים ללא נרמול מביא לכך שאותו מוצר נוצר מחדש בכל עדכון: משתנה רישיות האותיות, מתווסף מותג לשם, שונה יחידת המידה. כך מופיעים בקטלוג כפילויות, ומשם הם מתפשטים לאורך כל השרשרת — במסננים, בחיפוש, במלאי במחסן.

מחיר הטעות נראה לא מיד. הקונה רואה שלושה כרטיסים של אותו מוצר עם מחירים שונים ולא מבין איזה מהם אמיתי; המנהל לא מצליח לאחד יתרות מלאי, כי חלק מהן נמצא על כרטיס אחד וחלק על אחר; הניתוח של המכירות מיטשטש, וההחלטה על רכש מתקבלת על סמך נתונים מעוותים. שלמות הקטלוג נשענת לא על הקפדה של המפעיל, אלא על כללי התאמה שפועלים בכל ייבוא.

הסרת כפילויות של מוצרים היא לא ניקוי חד-פעמי, אלא שכבת לוגיקה בין המחירון לקטלוג. היא קובעת לפי אילו סימנים מוצר נחשב לאותו מוצר (מק"ט של הספק, ברקוד, צירוף מותג + דגם), מה לעשות בעת התנגשות מחירים וכיצד למזג תיאורים בלי לאבד מאפיינים. להלן נבחן כיצד זה בנוי ומדוע ללא שכבה כזו הקטלוג מדרדר עם כל ספק חדש.

מה נותן דה-דופליקציה נכונה של מוצרים

דה-דופליקציה נכונה של מוצרים היא לא ניקוי קוסמטי של הקטלוג, אלא שינוי הפיזיקה שלו. כאשר אותו מוצר מגיע משלושה-ארבעה ספקים תחת שמות, מק"טים ויחידות מידה שונים, הקטלוג מתחיל לגדול מהר יותר מהמגוון: על מאה פריטים אמיתיים מצטברים בקלות שלוש מאות כרטיסים.

לאחר איחוד לפי מאפיינים מרכזיים — יצרן, דגם, גרסה, ברקוד — מספר הכרטיסים מצטמצם פי כמה, וזה הדבר הראשון שהלקוח רואה בדוח.

האפקט השני — המרת חיפוש. כל עוד הכפילויות קיימות ככרטיסים נפרדים, המלאי מפוזר ביניהם: בפריט אחד אפס, באחר שלוש יחידות, הקונה רואה "אזל מהמלאי" ועוזב. לאחר האיחוד המלאי מצטבר לכרטיס אחד, ושיעור השאילתות שמסתיימות בהוספה לסל עולה בלי שום שינוי בפרסום או במחירים.

האפקט השלישי — עריכות ידניות. דה-דופליקציה של מוצרים מסירה את המקור העיקרי לעבודה מתמדת של מנהל התוכן: השוואת כפילויות, העברת תיאורים, חישוב ידני מחדש של מלאי לאחר כל אספקה.

כלל האיחוד מיושם בייבוא באופן אוטומטי, ולכן אספקות חדשות מהספקים נכנסות מיד לכרטיסים קיימים, ולא יוצרות חדשים.

בנפרד יש להזכיר שגיאה במלאי — סוג התקלות היקר ביותר. כאשר שני כרטיסים מפנים לאותו מוצר פיזי, מחיקה באחד אינה מפחיתה את המספר באחר, והקונה מבצע הזמנה על פריט שכבר אינו קיים.

איחוד הכרטיסים למזהה אחיד סוגר את הפער הזה: המלאי הופך למשותף, והפער בין המחסן לחנות הווירטואלית מפסיק להצטבר.

כל שלושת האפקטים ניתנים למדידה ונבדקים על נתונים היסטוריים של הספקים לפני ההטמעה — ננתח כיצד זה בנוי ואילו כללי איחוד נדרשים בדיוק לקטלוג שלכם.

השוואת גישות להתאמת מוצרים

התאמת מוצרים — זו בחירה בין שלמות לדיוק: ככל שהאלגוריתם אגרסיבי יותר בהדבקת כרטיסים, כך עולה הסיכון למזג שני מוצרים שונים לאחד.

בפועל, הבחירה מצטמצמת לארבע גישות, וכמעט תמיד התצורה העובדת היא היברידית: תחילה התאמה מדויקת לפי מק"ט, לאחר מכן התאמה מטושטשת לפי שם, ומקרים שנויים במחלוקת עוברים לבדיקה ידנית.

גישה מתי מתאימה מגבלות
התאמה מדויקת לפי מק"ט לספקים יש מק"ט יצרן או ברקוד, המאגר יציב אינה עובדת אם הספקים מספקים קודים פנימיים משלהם; אינה תופסת שגיאות הקלדה ופורמטים שונים של רישום
התאמה מטושטשת לפי שם מק"טים חסרים או סותרים זה את זה, המינוח טקסטואלי התראות שווא על דגמים ואריזות דומים; נדרש סף דמיון ומילות עצירה
גישה היברידית עם כללי מיזוג מספר ספקים, נתונים הטרוגניים, נדרש результат צפוי דורשת הגדרת עדיפויות שדות ובחינה תקופתית של הכללים
בדיקה ידנית של תור שנויים במחלוקת שאריות לאחר האוטומציה, קטגוריות קריטיות אינה מתרחבת ללא תור ותפקידים; בלעדיה שגיאות מצטברות באופן בלתי מורגש

התאמה מדויקת נותנת שיעור אפס של הדבקות שווא, אך מכסה רק את אותו חלק בקטלוג שבו הספקים הסכימו על מזהים. התאמה מטושטשת מעלה את הכיסוי, אך דורשת סף דמיון, נרמול רישיות, יחידות מידה ותחיליות מק"ט — אחרת "כבל 2 מ'" ו"כבל 2 מ' מסוכך" יידבקו זה לזה.

הגישה ההיברידית עם כללי מיזוג מסירה את הסתירה הזו: התאמה מדויקת סוגרת את ליבת הקטלוג, המטושטשת משלימה את השאר, והכללים קובעים מאיזה כרטיס נלקחים השם, התיאור, המחיר והמלאי.

זוגות שנויים במחלוקת אינם נמחקים בשקט, אלא מגיעים לתור בדיקה ידנית תוך שמירת היסטוריית החלטות — כך השגיאה מתוקנת פעם אחת ואינה חוזרת בייבוא הבא.

שלבי הטמעת דה-דופליקציה בייבוא קיים

ההטמעה מתבצעת מעל ייבוא פעיל, ללא עצירת קליטת מחירונים. הצעד הראשון הוא ביקורת: בוחנים אילו ספקים ובאיזה פורמט מעבירים נתונים, היכן כבר הצטברו כפילויות ובאילו שדות המוצרים למעשה תואמים. זה נותן תמונה אמיתית, ולא הנחה ש"מק"ט יפתור הכל".

  1. ביקורת המחירונים הנוכחיים. אוספים ייצואים מכל הספקים, סופרים נפח, שיעור חפיפות ופערים אופייניים — כתיב שונה של המותג, רווחים מיותרים, מק"טים עם קידומת ספק.
  2. סכמת מפתחות התאמה. קובעים מה נחשב למוצר אחד: צירוף "מותג + מק"ט" כמפתח ראשי, שם מנורמל וברקוד כמשניים. מקבעים עדיפות מקורות, כך שבמקרה של סתירת שדות יהיה ברור איזה ערך הוא הקובע.
  3. כללי מיזוג. מגדירים כיצד מתאחדים כרטיסים: אילו שדות נלקחים מספק-התקן, מה משלימים, וכיצד נוהגים במחיר, במלאי ובמאפיינים. הכללים מתוארים במפורש, ולא "לפי שיקול דעת האלגוריתם".
  4. בדיקה על נתונים היסטוריים. מריצים את הכללים החדשים על מחירונים מצטברים ובוחנים כמה הדבקות שגויות וכפילויות שהוחמצו התקבלו. סף ההתאמה מכוונן לרמה סבירה, וזוגות שנויים במחלוקת נבדקים ידנית.
  5. הטמעה בצינור הייבוא. מחברים את הדה-דופליקציה לזרימה הנוכחית: פריטים חדשים עוברים בדיקה לפני כתיבה לקטלוג, וקיימים — מתעדכנים ולא נוצרים מחדש.
  6. נהלים והעברה. מוסרים תיאור של מפתחות, כללי מיזוג וסדר פעולות במקרי התאמה שנויים במחלוקת — כדי שהצוות ילווה את התהליך בלעדינו.

לאחר ההפעלה הקטלוג מפסיק לגדול על חשבון כפילויות, ועדכון מחירים ומלאי מתבצע בכרטיס אחד במקום בכמה. תארו כיצד הייבוא שלכם בנוי כיום — נחזור עם הערכה ותוכנית עבודה.

מה הלקוח מקבל לאחר ההגדרה

בתוצאה — לא "מודול מוגדר", אלא ערכה שלמה שלפיה המהנדסים שלכם יוכלו לעבוד בלעדינו: לשנות חוקים, להוסיף ספקים, לנתח התאמות שנויות במחלוקת.

  • תצורות חוקי דה-דופליקציה: עדיפות מקורות, ספי דמיון למק"ט, לשם ולמאפיינים, התנהגות בעת התנגשות שדות — איזה ספק נחשב למקור מאסטר.
  • סכמות התאמה: מיפוי שדות של כל ספק למודל המוצר שלכם, כולל יחידות מידה, קטגוריות מקוננות ומאפיינים מורכבים.
  • מדיניויות גישה: מי מהעובדים יכול לערוך חוקים, מי — רק לצפות בתור ההתאמות השנויות במחלוקת, מי מאשר איחוד כרטיסים ידנית.
  • תור לניתוח ידני: ממשק למקרים שבהם האוטומציה אינה בטוחה, עם היסטוריית החלטות — כדי שייבוא חוזר לא יעלה שאלה שכבר נסגרה.
  • תיעוד: תיאור לוגיקת ההתאמה, מילון מילים נרדפות וקיצורים של ספקים, הוראות להוספת מקור חדש.
  • נהלי עדכון: באיזו תדירות נבחנים מחדש הספים, מי אחראי על ניקוי המאגר, מה לעשות בעת פער מסיבי לאחר שינוי בפורמט הייצוא של הספק.
  • סט בדיקות על מדגם בדיקה: זוגות ייחוס "כפילות / לא כפילות", שלפיהם רואים אם החוקים לא נסוגו לאחר עריכות.
  • מדדים: שיעור הכרטיסים שאוחדו אוטומטית, נפח התור הידני, מספר ההדבקות השגויות — לפיהם רואים מתי הגיע הזמן לבחון מחדש את החוקים.

את כל זה מעבירים עם ניתוח על הנתונים שלכם, ולא כתבנית מופשטת. תארו את המשימה — נחזור עם הערכה ותוכנית.

מקרה בוחן: איך סילקנו כפילויות בקטלוג של 40,000 פריטים

מה היה לפני

הקטלוג של 40,000 פריטים נבנה ממחירונים של חמישה ספקים, וכל ייבוא הוסיף כרטיסים חדשים במקום לעדכן את הקיימים. אותו מוצר הגיע תחת שמות, מק"טים ויחידות מידה שונים — הספקים לא התייחסו זה לזה.

הקטלוג גדל מהר יותר מהמכירות: עד moment הבדיקה היו בו כ-63,000 כרטיסים, ומתוכם כמעט שליש — כפילויות.

עריכות ידניות בזבזו את זמנו של מנהל התוכן: לאחר כל ייבוא היה צורך לאחד התאמות באופן ידני, וחלק מהכפילויות נותרו בתוצאות. הקונה ראה שלושה כרטיסים של אותו מוצר עם מחירים שונים ולא הבין איזה מהם אמיתי.

מה שינינו

בנינו צינור התאמה בצד האפליקציה: נרמול שמות ומק"טים, השוואה לפי סט מאפיינים — מותג, דגם, יחידת מידה, ברקוד. לכל זוג מוקצה משקל התאמה, ולפי סף המערכת מחליטה — לעדכן כרטיס קיים או ליצור חדש. מקרים שנויים במחלוקת לא נערמים לערימה משותפת, אלא נכנסים לתור נפרד לאישור.

הייבוא נכתב מחדש לעיבוד באצוות עם מפתח אידמפוטנטי: הרצה חוזרת של מחירון כבר לא מייצרת כפילויות, אלא מעדכנת את אותם פריטים. ההיגיון מעוגן בכללים, ולא בראש של המנהל — ספק חדש מתחבר בלי לכתוב מחדש את הקוד.

מה נהיה

מדד לפני אחרי
כרטיסים בקטלוג ~63,000 ~40,000
שיעור עריכות ידניות לאחר ייבוא גבוה מקרים בודדים שנויים במחלוקת
זמן ייבוא מחירון גדל עם כל הרצה יציב
סוג שגיאות כפילויות בתוצאות, פערי מחירים לא משוחזר

כפילויות בקטלוג הפסיקו להצטבר: הקטלוג משקף כעת את המגוון האמיתי, ולא את היסטוריית הטעינות. העריכות הידניות הצטמצמו לבדיקת תור האישור — מדובר בעשרות פריטים במקום באלפים.

את הפרויקט הוביל TrueTech: המהנדסים שלנו היו אחראים גם להיגיון ההתאמה וגם לבנייה מחדש של הייבוא, ולכן כללי הסרת הכפילויות נכנסו מיד לבסיס, ולא הולבשו על גבי קטלוג מוגמר.

במה שונה דה-דופליקציה מנרמול נתונים

נרמול נתונים מביא ערכים לצורה אחידה, אך אינו מכריע מה נחשב לפריט אחד. אלו שני שלבים עוקבים של עיבוד, ובלבול ביניהם פירושו קבלת קטלוג שבו «iPhone 15 128Gb» ו-«Apple iPhone 15 128 ГБ» יישארו כשני פריטים שונים. נרמול עונה על השאלה «כיצד לרשום את הערך», ודה-דופליקציה — «כמה רשומות צריכות להישאר».

נרמול פועל ברמת השדה הבודד: מביא את האותיות והפריסה לצורה אחידה, מסיר רווחים מיותרים ותווים בלתי נראים, מאחד יחידות מידה לסקאלה אחת, מפרק מאפיינים דבוקים כמו «128Gb Black» לנפח ולצבע, מנקה מק"טים מקידומות של הספק.

בפלט כל כרטיס נשאר כשהיה, אך השדות שלו הופכים ברי-השוואה — ובלעדי זאת השלב הבא בלתי אפשרי, משום שהשוואה ישירה בין «128 ГБ» ל-«128gb» היא חסרת משמעות.

דה-דופליקציה של נתונים פותרת משימה אחרת: לקבוע אילו רשומות מתארות אותו פריט פיזי, ולאחד אותן לכרטיס אחד. כאן פועל מפתח מורכב — מק"ט היצרן המנורמל, המותג והדגם בתוספת סט מאפיינים — ולא שדה בודד.

שני ספקים עשויים לכנות את הפריט בשמות שונים, לספק תמונות שונות והרכבה שונה, אך מאחוריהם עומד אותו מוצר, ובקטלוג הוא צריך להיות אחד.

הגבול בין הגישות מתגלה במקרים שנויים במחלוקת. נרמול לא יועיל אם ספק אחד רושם את המק"ט עם סיומת מחסן ואחר בלעדיה: הערכים יישארו שונים, אף שהמוצר אחד.

ולהפך, דה-דופליקציה ללא נרמול תדביק את המיותר — «iPhone 15» ו-«iPhone 15 Pro» יתאימו לפי המותג והדגם, אם לא להשוות מאפיינים בצורה אחידה.

לכן הסדר נוקשה: תחילה נרמול נתונים לפי כל שדה, לאחר מכן דה-דופליקציה לפי מפתח מורכב, ורק אחר כך — איחוד כרטיסים עם כללי עדיפות לפי ספקים. אם מחליפים את השלבים, חלק מהכפילויות יישארו unnoticed, וחלק ממוצרים שונים יתמזגו לאחד — ושני סוגי השגיאות יצטרכו להיבדק ידנית.

ספקות טכניים נפוצות

הייבוא כבר עובד, המוצרים בקטלוג, והמחשבה "האם דה-דופליקציה תשבור את מה שכבר חי" — היא תגובה נורמלית של מהנדס. להלן ניתוח של שלושה ספקות שעולים לרוב לפני ההתחלה.

כבר פרוס אצלנו ייבוא ממספר ספקים. האם צריך לבנות הכל מחדש?

לא. אנחנו לא נוגעים במערכת הפעילה: מנתחים את כללי ההתאמה הקיימים, מייצאים את הקטלוג ל-staging, מריצים דה-דופליקציה על העתק ומציגים דוח — כמה קבוצות יתמזגו, כמה יישארו שנויות במחלוקת. המעבר מתבצע קטגוריה אחר קטגוריה, עם אפשרות להחזיר את מצב הקטלוג הקודם. הייבוא הפעיל ממשיך לעבוד עד שתאשרו את התוצאה על העתק.

לספקים יש יחידות מידה שונות — כיצד לאחד אותן?

מביאים ליחידת אחסון בסיסית דרך מפתח מקדמים: אריזה, משקל, נפח, יחידה. המקדם מוגדר פעם אחת ליחידה ומשמש מחדש — בעת הוספת ספק אין צורך לכתוב מחדש את הכללים. אם היחידה אינה חד-משמעית (למשל, "קופסה" ללא תוכן פנימי), המוצר עובר לתור לבדיקה ידנית, ולא מותאם באופן אקראי.

כיצד לא לאבד את היסטוריית המוצר בעת מיזוג כפילויות?

היסטוריה היא ישות נפרדת, היא אינה נמחקת יחד עם כרטיס הכפילות. מחירים, מלאי ותנועות משויכים לקבוצת ההתאמה, ולא לרשומת ספק ספציפית, לכן לאחר המיזוג גרף המחירים וסטטיסטיקת המכירות נשארים רציפים. מזהים ישנים נשמרים כאליאסים — מערכות חיצוניות וקישורים ממשיכים למצוא את המוצר לפי הקוד הקודם.

מה אם האלגוריתם יטעה וידביק מוצרים שונים?

המיזוג הפיך: לפני ההחלה נשמרת תמונת מצב של הקבוצות, והתהליך עצמו מתבצע במנות עם יומן החלטות. זוגות שנויים במחלוקת אינם מודבקים אוטומטית — הם נכנסים לדוח עם סימני התאמה, ואת ההחלטה מקבל אדם. ביטול מנה מחזיר את הכרטיסים למצב המקורי ללא אובדן נתוני הספקים.

תארו כיצד בנוי אצלכם כעת הייבוא וכמה ספקים נמצאים במערכת — נחזור עם הערכה ותוכנית להטמעה מדורגת.

בואו נדון במשימת הדה-דופליקציה שלכם

כדי לחזור עם הערכה ותוכנית, ולא עם מילים כלליות, אנחנו זקוקים לגישה לתמונה אמיתית של הקטלוג. דה-דופליקציה של מוצרים היא משימה שבה הפתרון תלוי כולו בנתונים: כמה ספקים, עד כמה שונים הייצואים שלהם, ובאילו שדות בכלל אפשר להשוות. לכן הצעד הראשון הוא ניתוח קצר של הנתונים שלכם, ולא הצעה תבניתית.

שלחו את מה שכבר יש בהישג יד: ייצואים משני-שלושה ספקים בצורתם המקורית, מדריך קטגוריות ומותגים, אם הוא מנוהל, ותיאור של האופן שבו המוצר נכנס כיום לקטלוג — ידנית, בסקריפט או דרך מודול מוכן.

זה מספיק כדי לראות את מבנה השדות, להעריך את שיעור הכפילויות ולהבין אילו כללי התאמה יעבדו ואילו ייצרו איחויים שגויים.

לאחר מכן ננתח את הנתונים ונחזור עם konkretika:

  • מפת שדות לפי כל ספק — היכן תואמים שמות, מק"טים, ברקודים, יחידות מידה;
  • הערכת היקף הכפילויות ופערים אופייניים: שגיאות כתיב, סדר מילים שונה, קיצורי מותגים;
  • הצעה לכללי התאמה — מה מאחדים אוטומטית, מה עובר לבדיקה ידנית;
  • תרשים תור למודרציה של זוגות שנויים במחלוקת, כדי שהמנהל לא ישקע בהחלטות ידניות;
  • תוכנית הטמעה עם שלבים, לוחות זמנים ונקודות שבהן רואים תוצאה;
  • אפשרויות חזרה לאחור, אם כלל יוצר התראות שגויות בקטלוג חי.

הצעד הבא — שיחה קצרה על החומרים האלה. תארו את המשימה בצורה נוחה: כמה ספקים, באיזו תדירות מתעדכנים הייצואים, מי מטפל כעת בכפילויות. נסתכל על הנתונים ונחזור עם הערכה ותוכנית — מה עושים ראשון, מה נותן אפקט מהר ביותר והיכן יידרש участиכם.