هابر ، مرحبا!
هناك العديد من المقالات على الموقع حول التنبؤ بعمليات البيع لفئات مختلفة من سلع استهلاكية ، في حين أن فئات المنتجات الأخرى ليست شائعة. بالإضافة إلى ذلك ، يتم التحقيق في تجارة التجزئة عادةً مع توقع لعدة أيام مقدمًا ، ولكن ليس من خلال موزع يتم التنبؤ به مسبقًا قبل شهرين - على الرغم من أن الأخير يهتم بتوقعات نوعية في كثير من الأحيان أكثر من بائع تجزئة. كتحدي إضافي ، يجدر النظر في المحافظة على جزء كبير من الموزعين بمعنى اختيار تقنيات التنبؤ. من السهل بدرجة كافية تخيل ممارسة التنبؤ بمبيعات الشركة المتوسطة: جمع المبيعات من البيانات الرئيسية لـ SAP + في أداة Excel من صنع الإنسان ، والتشغيل الآلي في مثل هذه الحالات مقيد بطريقة تنبؤ بسيطة إلى حد ما ، والتي لا تذهب بعيدًا عن الاتجاه المتوسط / الخطي مع علم الصواريخ في شكل HoltWinters.
لقد صادف أنني ، أثناء الخدمة ، صادفت شركة مصنّعة لمستحضرات التجميل الزهيدة الثمن (حوالي 500 SKU) ورأيت النتائج المحزنة للتنبؤ المحافظ في شكل مؤشرات KPI منخفضة. كان من الضروري إجراء تغييرات صغيرة على نظام التخطيط ، بما في ذلك عملية التنبؤ ، وبعد ذلك سأتحدث عن بحثي.
الوضع الراهن أنتي بيلوم
كان الصداع الرئيسي للعلامة التجارية لعدة سنوات هو المستوى المتدني للغاية للخدمة (
CSS = شحنت / أمرت ) ، وهو أقل بكثير من متوسط الشركة ، والذي تفاقم بسبب التوقعات بناءً على متوسط المبيعات (
تنبؤات = متوسط المبيعات ). الحلقة المفرغة: يقوم العميل بطلب كميات ، ولا يحصل على الكميات الكاملة وفي المرة القادمة يأتي مع زيادة الطلب ، ونحن نخطط للمستقبل فقط وفقًا للحاجة المرضية.
بناءً على ذلك ، تقرر التنبؤ بعدم المبيعات ، ولكن تم إلغاء الطلبات من التكرار (أي إذا كان العميل يريد 100 قطعة وأمر كل أسبوع ، نحن نفترض أن الطلب في الشهر هو 100 قطعة وليس 400) ، لذلك هنا مزيد من المبيعات سوف ندعو أوامر مسح التكرارات. بعد تحسين مستوى الخدمة ، يتم تسوية الفرق بين الشروط. تستخدم الشركة الصيغة (
دقة التنبؤ = (1 - مجموع وحدات التناقضات بين الحقيقة والتنبؤ) / التنبؤ ) لتقدير دقة التوقعات في الشركة ، وسوف نستخدمها. نقطة مهمة: التنبؤ في هذه الحالة هو توقع مع تأخر 2 ، أي إذا قمنا بتقييم الدقة في شهر أكتوبر ، فسوف نقارن مبيعات شهر أكتوبر بالتوقعات التي تمت في شهر أغسطس. ويعتقد أن نتيجة أكثر من 35 ٪ يمكن تفسيرها على أنها مرضية. بالمناسبة ، تجدر الإشارة هنا إلى أننا لم نتوقع ، في الواقع ، زيادة في الدقة في البداية - لقد توقعنا زيادة في مستوى الخدمة وسنقوم بتقييم النتائج بدقة على أساس جودة شحنات البضائع للعملاء.
لم أكن مضطرًا للتعرق كثيرًا على العينة للتدريب - على الرغم من أن الشركة لا تملك DWH تحليليًا ، ولكن هناك تحميلًا لأوامر الشراء على مدار أشهر ، والتي جمعتها دورة بيثون الصغيرة وتطهيرها. وبالمثل ، حصلنا على البيانات الرئيسية. كان لا بد من تجاهل الأحداث والملل في الحسابات بسبب الضوضاء المفرطة (كنا نخشى أن نضيف ضوضاء أكثر من المعلومات المفيدة) ، لأن أكبر تاجر تجزئة يقوم بشكل دوري بالترويج دون موافقة أو إشعار ، ويقدر حجم الأحداث ، إلخ.
كنموذج ، قررنا استخدام 3 فروع - السذاجة والتمويه الأسي والتعلم الآلي.
التنبؤ الساذج
السبب الرئيسي للتنبؤ الساذج لا يزال قيد الاستخدام هو سهولة التفسير للبشر. في الواقع ، إذا كان من المعتاد أن تقوم شركة ما بتحليل كل كود بالتفصيل ، باستخدام منهجية 5 Why ، فإن متوسط التوقعات يناسب تمامًا. هل يطلب العميل 10 قطع شهريًا في المتوسط؟ من المنطقي أن يطلب 10 قطع في الشهر المقبل. النتيجة ليست ما توقعناه وطلب العميل 50 قطعة؟ ربما ، العميل ببساطة لا يعرف كيفية التنبؤ / تعطل الطلب التلقائي / الروبوت غاضب ، وما إلى ذلك ، يجب عليك تطبيق ملفات التبادل والتنبؤ المشتركة من أجل تخفيف الضغط وتحسين دقة التنبؤ (بالطبع ، مزحة ، ولكن مع بعض الحقيقة).
لإضافة القليل من الصلة بالطرق ، اقترحنا أن تكون موسمية البضاعة مطابقة لموسمية الفئة (تم استخدام حزمة النماذج لتعيين الموسمية ، تعرض الصورة 3 نتائج رئيسية).

اتخذنا 4 طرق - المتوسط والوسيط لكامل تاريخ المبيعات (دقة 0.32 و 0.30 على التوالي) وآخر 6 نقاط (0.36 و 0.26). سيكون 0.36 هو معيارنا - في المستقبل يجب أن نحصل على نتائج أفضل.
ESM التنبؤ
غالبًا ما يكون التنعيم الأسي هو الحلم النهائي في تخطيط الطلب ومن السهل معرفة السبب. تُظهر تقديرات الدقة في الجبين أقل النتائج قابلاً للمقارنة لـ ESM و ML من حيث الدقة ، وهي مدرجة في جميع أنظمة التنبؤ الصناعية (JDA ، أوراكل RDF ، وما إلى ذلك) ، والحساب أسرع وأسهل في التفسير - وهذا هو السبب في أن الكلاسيكيات أكثر حيوية من جميع الكائنات الحية. من ناحية أخرى ، قد لا تكون النتيجة صادقة تمامًا بسبب عدم كفاية إعداد الميزات.
للتنبؤ ، استخدمنا حزمة statmodels نفسها. بادئ ذي بدء ، اتخذنا فئة Holt لسجل المبيعات بالكامل مع موسمية المجموعة التي تم مسحها وللنقاط الست الأخيرة (الدقة 0.34 و 0.37).
بعد ذلك ، قمنا بتقسيم SKU إلى مجموعتين - تم التنبؤ بالمنتجات ذات التاريخ الطويل من قبل فئة HoltWinters ، ولمدة قصيرة تركنا Holt عند 6 نقاط. كانت النتيجة أفضل بكثير - 0.44 ، وهذا ما يفسر بسهولة. إذا بدا في المستوى الأعلى أن جميع البضائع من الأخوة التوأم ، فعندئذ ، نزولًا إلى الفئة الفرعية ، يمكننا أن نرى الاختلافات.

ML التنبؤ
العيب الرئيسي للطرق القياسية هو عدم وجود عمق الحسابات ، لأنه نحن لا نستخدم جميع المعلومات المتاحة. على سبيل المثال ، تاريخ الأحداث: عادة ، في النهج الكلاسيكي ، يجب علينا طرح الأنابيب التي حدثت من السجل ، ووضع توقعات أساسية وإضافة الأنابيب المخطط لها مع التقويم المناسب. في حالة عدم دقة تسجيل الأحداث بشكل صحيح ، قد تكون النتيجة مخيبة للآمال (في حالة Holt-Winters تمكنا من الحصول على - 5 pp إلى الدقة). يمكن تقديم العديد من الأسباب - على سبيل المثال ، تقلل فئات KAM من الأحجام من أجل إظهار الإفراط في التعبئة واستلام العلاوات. إذا انتقلنا من النهج (
التوقعات = خط الأساس + الأنابيب ) إلى التنبؤ استنادًا إلى الميزات ، فسنكون قادرين على إضافة جزء إضافي من المعلومات المتاحة لنا. للقيام بذلك ، قمنا بتجميع قائمة تضم 50 ميزة (الأسعار ، البيانات الرئيسية ، المبيعات ، العملاء المقسمون ، إلخ). من مكتبة Sklearn ، أخذنا قاعدة Lasso / Ridge / KNN Regressor ، والتي غالباً ما تحقق ربحًا سريعًا ، ولكن في حالتنا فقط كان KNN مسرورًا بدقة 0.44. غابة عشوائية برفومنس جيدة في عينات صغيرة ، في حالتنا ، دقة 0.48. حسنًا ، بالطبع ، لم ننسى Xgboost ، والذي حقق نتيجة أفضل بعد قليل من النتائج - 0.51. يوجد أدناه رسم بياني بدقة كل نموذج

المخاوف
ماذا يمكن أن يكون المحافظون فيما يتعلق باستخدام ML في التنبؤ بالمبيعات؟ على سبيل المثال ، التغذية المرتدة: يستخدم عدد من تجار التجزئة ecom وغير المتصلين بالشبكات العصبية وزيادة التدرج ويخيفونك بشكل دوري من خلال الطلبات المجنونة. نعم ، بالطبع ، إذا كان بائع التجزئة سيقيس دقة التوقع ، فقد تكون النتيجة متفائلة ، لكن هذا إلى حد ما نبوءة تتحقق ذاتيا: إذا كان هناك خطأ ، فسيتم بيع / يوم الجمعة الأسود / عيد ميلاد الشبكة ، إلخ.
لذلك ، من المهم بالنسبة لنا أن نظهر أن نتيجة Xgboost ليست فقط أكثر دقة ، ولكنها أيضًا أكثر استقرارًا (وليس لعبة الروليت العشوائية ، حيث قد يبدو الطيران الشراعي غير مستعد). للقيام بذلك ، قارنا توزيع توزيعات الخطأ HoltWinters و Xgboost وتأكدنا من أن نتائج الأخير لها مركز أكثر كثافة حول الصفر وذيل خفيف


النتائج المتوسطة
منذ بداية كتابة المقال / توقعات المدى الأول ، تم تحويل علامتين تجاريتين أخريين من مستحضرات التجميل إلى Xgboost ، بسبب النتائج الإيجابية. في نهاية شهر نوفمبر ، كان متوسط الزيادة في مستوى الخدمة + 16 ٪ ، أي تم الوصول إلى المستوى المتوسط للشركة