הגדרת חיזוי ביקושים ב-1C-Bitrix

הגדרת חיזוי ביקושים ב-1C-Bitrix מחסן מזמין סחורה על סמך אינטואיציה של מנהל: אם בחודש שעבר נמכרו 100 יחידות, הם מזמינים 120. התוצאה: פריטים עונתיים נגמרים בשיא, בעוד פריטים לא עונתיים קופאים בהון חוזר. מחסור במלאי מוביל לאובדן הכנסות של עד 30%, עודף מלאי גורר
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדרת חיזוי ביקושים ב-1C-Bitrix
פשוט
~1 יום

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

שאלות נפוצות

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

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    880
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1162

הגדרת חיזוי ביקוש ב-1C-Bitrix

מחסן מזמין סחורה על סמך אינטואיציה של המנהל: אם בחודש שעבר נמכרו 100 יחידות, הם מזמינים 120. התוצאה: פריטים עונתיים נגמרים בשיא, בעוד פריטים לא עונתיים קופאים בהון חוזר. מחסור במלאי מוביל לאובדן הכנסות של עד 30%, ועודף מלאי גורם לעלויות אחסון נוספות. הפסדים מתכנון רכישה לקוי יכולים להגיע ל-30% מהמחזור. אנו פותרים זאת על ידי הגדרת חיזוי ביקוש המבוסס על נתוני מכירות היסטוריים שכבר מאוחסנים ב-b_sale_order_basket. אין קסם של ML — רק סטטיסטיקה מוכחת על עשרות פרויקטים. באמצעות אלגוריתמים של ממוצע נע ומקדמים עונתיים, אנו מפחיתים מחסור במלאי ב-30% ומקטינים את רמות המלאי הממוצעות ב-15%. הטמעת חיזוי מחזירה את ההשקעה תוך 2–3 חודשים על ידי הפחתת עודפי מלאי והאצת מחזור הסחורה.

מקור נתונים: היסטוריית מכירות ב-Bitrix

כל המכירות מאוחסנות ב-b_sale_order_basket (פריטי הזמנה) וב-b_sale_order (כותרות הזמנה). לצורך חיזוי, אנו זקוקים להזמנות שהושלמו שבהן b_sale_order.STATUS_ID תואם לסטטוסים סופיים (בדרך כלל F — בוצע, D — נמסר).

שאילתה בסיסית לקבלת היסטוריית מכירות לפי מוצר:

SELECT DATE_TRUNC('month', o.DATE_INSERT) AS sale_month, ob.PRODUCT_ID, SUM(ob.QUANTITY) AS qty_sold FROM b_sale_order_basket ob JOIN b_sale_order o ON o.ID = ob.ORDER_ID WHERE o.STATUS_ID IN ('F', 'D') -- завершённые и доставленные AND o.CANCELED = 'N' AND ob.PRODUCT_ID = :product_id AND o.DATE_INSERT >= NOW() - INTERVAL '24 months' GROUP BY 1, 2 ORDER BY 1; 

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

איך להכין היסטוריית מכירות לחיזוי?

  1. אסוף את כל ההזמנות שהושלמו מ-24 החודשים האחרונים מ-SELECT DATE_TRUNC('month', o.DATE_INSERT) AS sale_month, ob.PRODUCT_ID, SUM(ob.QUANTITY) AS qty_sold FROM b_sale_order_basket ob JOIN b_sale_order o ON o.ID = ob.ORDER_ID WHERE o.STATUS_ID IN ('F', 'D') -- завершённые и доставленные AND o.CANCELED = 'N' AND ob.PRODUCT_ID = :product_id AND o.DATE_INSERT >= NOW() - INTERVAL '24 months' GROUP BY 1, 2 ORDER BY 1; ו-b_sale_order_basket.
  2. סנן החוצה הזמנות שבוטלו, הוחזרו ובדיקה (b_sale_order, סטטוסים CANCELED = 'N', F).
  3. צבור נתונים לפי מוצר וחודש — קבל מכירות חודשיות.
  4. הסר חריגות (מכירות ביותר מ-3 סיגמא מהממוצע) — הן מעוותות את החיזוי.
  5. שמור את התוצאה בטבלה נפרדת או ב-Highload-block לניתוח נוסף.

שיטות חיזוי פשוטות

עבור רוב חנויות המקוונות, שלוש שיטות ללא ML מספיקות:

שיטה מתי ליישם דיוק מורכבות הטמעה
ממוצע נע פשוט (SMA) ביקוש יציב, ללא עונתיות בינוני נמוכה
ממוצע נע משוקלל (WMA) קיים טרנד, תגובה מהירה גבוה מ-SMA נמוכה
הולט-ווינטרס עונתיות בולטת גבוה בינונית

SMA — חיזוי לחודש הבא = ממוצע של N החודשים האחרונים. N = 3–6 לביקוש יציב, N = 2 לביקוש תנודתי. לדוגמה, מוצרים עם ביקוש אחיד (כימיקלים ביתיים) עם SMA בתקופה של 6 נותן שגיאה של כ-10%.

WMA — משקל החודש האחרון 3, החודש הקודם 2, החודש השלישי 1. מגיב מהר יותר לטרנדים. מתאים למוצרים עם ביקוש גדל או יורד, למשל חידושים עונתיים.

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

function forecastSimpleMA(array $monthlySales, int $periods = 3): float { $recent = array_slice($monthlySales, -$periods); return array_sum($recent) / count($recent); } function forecastWMA(array $monthlySales, int $periods = 3): float { $recent = array_slice($monthlySales, -$periods); $weights = range(1, $periods); $total = array_sum($weights); $sum = 0; foreach ($recent as $i => $qty) { $sum += $qty * $weights[$i]; } return $sum / $total; } 

מקדם עונתיות

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

// Среднемесячный объём продаж за 2 года $annualAvg = array_sum($monthlySales) / count($monthlySales); // Коэффициент сезонности для каждого месяца $seasonalIndex = []; for ($month = 1; $month <= 12; $month++) { $monthData = array_filter( $monthlySales, fn($m) => (int)date('m', strtotime($m['date'])) === $month ); $monthAvg = array_sum(array_column($monthData, 'qty')) / max(count($monthData), 1); $seasonalIndex[$month] = $annualAvg > 0 ? $monthAvg / $annualAvg : 1.0; } // Прогноз с учётом сезонности $baseForecast = forecastSimpleMA($rawSales, 3); $targetMonth = (int)date('m', strtotime('+1 month')); $adjustedForecast = $baseForecast * $seasonalIndex[$targetMonth]; 

אחסון חיזויים ונקודת הזמנה מחדש

תוצאות החיזוי מאוחסנות בטבלה מותאמת אישית או ב-Highload-block ב-Bitrix:

CREATE TABLE bl_demand_forecast ( id SERIAL PRIMARY KEY, product_id INT NOT NULL, forecast_month DATE NOT NULL, forecast_qty NUMERIC(10,2), method VARCHAR(50), created_at TIMESTAMP DEFAULT NOW(), UNIQUE (product_id, forecast_month) ); 

בהתבסס על החיזוי, אנו מחשבים את כמות הרכישה המומלצת: D. function forecastSimpleMA(array $monthlySales, int $periods = 3): float { $recent = array_slice($monthlySales, -$periods); return array_sum($recent) / count($recent); } function forecastWMA(array $monthlySales, int $periods = 3): float { $recent = array_slice($monthlySales, -$periods); $weights = range(1, $periods); $total = array_sum($weights); $sum = 0; foreach ($recent as $i => $qty) { $sum += $qty * $weights[$i]; } return $sum / $total; } = 1.2–1.5 (חיץ לאי-דיוק בחיזוי וזמן אספקה). עבור מוצרים עם זמני אספקה ארוכים (30+ ימים), המקדם עולה ל-1.8.

סוכן Bitrix מחשב מחדש חיזויים פעם בשבוע וכותב ל-// Среднемесячный объём продаж за 2 года $annualAvg = array_sum($monthlySales) / count($monthlySales); // Коэффициент сезонности для каждого месяца $seasonalIndex = []; for ($month = 1; $month <= 12; $month++) { $monthData = array_filter( $monthlySales, fn($m) => (int)date('m', strtotime($m['date'])) === $month ); $monthAvg = array_sum(array_column($monthData, 'qty')) / max(count($monthData), 1); $seasonalIndex[$month] = $annualAvg > 0 ? $monthAvg / $annualAvg : 1.0; } // Прогноз с учётом сезонности $baseForecast = forecastSimpleMA($rawSales, 3); $targetMonth = (int)date('m', strtotime('+1 month')); $adjustedForecast = $baseForecast * $seasonalIndex[$targetMonth]; . ממשק הניהול מציג מוצרים שמלאי נוכחי שלהם נמוך מרמת ההזמנה המומלצת.

מה אנו מגדירים

  • חילוץ היסטוריית מכירות מ-CREATE TABLE bl_demand_forecast ( id SERIAL PRIMARY KEY, product_id INT NOT NULL, forecast_month DATE NOT NULL, forecast_qty NUMERIC(10,2), method VARCHAR(50), created_at TIMESTAMP DEFAULT NOW(), UNIQUE (product_id, forecast_month) ); עם מסנן לפי סטטוסים סופיים
  • אלגוריתם SMA/WMA למוצרים עם ביקוש יציב
  • חישוב מקדמי עונתיות על פני היסטוריה של 24 חודשים
  • forecast_qty * safety_factor - current_stock טבלה (או HL-block) וסוכן חישוב שבועי
  • דוח ניהולי: מוצרים מתחת לסף ההזמנה
  • ייצוא המלצות ל-Excel או העברה ל-1C דרך CommerceML ליצירת הזמנות אוטומטית

איך לבחור את שיטת החיזוי האופטימלית?

בחירת השיטה תלויה באופי הביקוש. למוצרים עם ביקוש אחיד — SMA. אם יש טרנד — WMA. לעונתיות — הולט-ווינטרס או מקדם עונתי. אנו מבצעים ניתוח מקדים: משרטטים מכירות על פני 24 חודשים, מעריכים שונות ורכיב עונתי. על סמך זה, אנו בוחרים אלגוריתם עם שגיאת MAPE מינימלית. ב-70% מהמקרים, שילוב של SMA + מקדמים עונתיים מספיק.

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

אנו עובדים עם Bitrix למעלה מ-5 שנים (שותפים מוסמכים) והטמענו למעלה מ-30 פרויקטים של חיזוי ביקוש לחנויות מקוונות. הניסיון שלנו מבטיח שהאלגוריתמים מתחשבים נכון במאפייני הקטלוג שלך, והאינטגרציה עם 1C ו-OFD פועלת בצורה חלקה. אנו מבטיחים דיוק חיזוי בתוך 90% MAPE לאחר החודש הראשון. אנו מספקים תיעוד, מאמנים מנהלים ומציעים תמיכה לאחר הפרויקט. קבל ייעוץ — ננתח את מבנה ההזמנות שלך בחינם ונציע פתרון אופטימלי.

מה כלול בעבודה

שלב מה אנו עושים תוצאה
אנליטיקה לימוד מבנה הזמנות, בדיקת נתונים ל-24 חודשים תוכנית הגדרה עם בחירת שיטה
פיתוח כתיבת שאילתות SQL, קוד סוכן, דוח ניהולי חיזוי עובד עם MAPE < 15%
בדיקות השוואת חיזוי למכירות היסטוריות דוח דיוק והמלצות התאמה
הטמעה הגדרת סוכן, ייצוא ל-1C דרך CommerceML פונקציונליות מוכנה ללא השבתה
הדרכה קיום סמינר מקוון למנהלים שימוש בטוח בדוח ופרשנות נתונים

תוצרים: סקריפטים של SQL לחילוץ נתונים, קוד סוכן, מבנה HL-block, תבנית דוח ניהולי, מודול ייצוא ל-1C, מדריך משתמש.

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

לוח זמנים משוער: מ-5 עד 10 ימי עסקים. הגדרה סוהר מתחילה ב-$1,500 (עד 1,000 SKU) ומחזירה את עצמה תוך 2–3 חודשים. העלות מחושבת באופן אישי לאחר ביקורת. צור קשר לקבלת ייעוץ והערכה — נכין הצעה מסחרית תוך יום.

מקור: תיעוד API הרשמי של 1C-Bitrix — <https://dev.1c-bitrix.ru/api_help/sale/classes/ csalebasket/>