פיתוח מערכת AI לניתוח סל קניות Market Basket Analysis

כללי שילוב שנכתבו ידנית מתיישנים במהרה, והדוחות אינם מרמזים מה להציב זה לצד זה על המדף. אנו מפתחים ניתוח סל קניות Market Basket Analysis במסלול מקצה לקצה: מהכנת הנתונים ועד לכללים מוכנים ולתקנונים. אתם מקבלים עלייה בסל הממוצע ופחות סלים ריקים.

תחומי פיתוח AI

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

למה market basket analysis מחזיר זבל על טרנזקציות גולמיות

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

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

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

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

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

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

מה משתנה על המדף ובדוחות אחרי ההטמעה

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

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

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

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

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

מצבי חישוב market basket: אצווה, זרימה, היברידי

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

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

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

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

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

איך אנחנו מטמיעים ניתוח סל: שלבי העבודה

הטמעת ניתוח סל (market basket analysis) מתחילה לא במודל, אלא בנתוני הזמנות. כל עוד לא נבדקו שלמות הקבלות ותיוג המוצרים, כל כללי אסוציאציה יתארו רעש. להלן סדר העבודה שאנחנו עוברים יחד עם צוות הלקוח.

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

מה אנחנו מוסרים לידיים: כללים, סכמות, תקנונים

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

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

מקרה בוחן: איך צמצמנו סלים ריקים ושילובים נדירים

לפני: אינטואיציה במקום נתונים

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

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

מה שינינו ומה קיבלנו

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

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

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

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

— ראש תחום «פרודמרקט»

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

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

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

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

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

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

ספקות טכניים נפוצים לפני התחלה

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

עונתיות בכללים — איך לא לגרור קפיצת חג לחודש רגיל?

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

משלוחים סיטונאיים בנתונים — האם הם לא יקלקלו את הסטטיסטיקה?

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

איך להבין שהקשר אמיתי ולא מקרי?

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

באיזו תדירות לחשב מחדש כללים?

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

נדון במשימה שלכם ונחזור עם הערכה ותוכנית

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

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

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

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