في الأسبوع الرابع من الفصل الثاني، بنيت نموذجًا للتنبؤ بانسحاب العملاء ووصلت إلى دقة 99.2%. أرسلت النتيجة للمدرّبة وأنا أتوقع الإشادة. ردّها كان سؤالًا واحدًا.
السؤال الذي أسقط كل شيء
كتبت لي: «ما هي الخصائص العشر الأكثر أهمية في نموذجك؟» فتحت التقرير فوجدت في المرتبة الأولى عمودًا اسمه تاريخ إلغاء الاشتراك.
كان النموذج يتنبأ بانسحاب العميل من تاريخ انسحابه. لم يتعلم شيئًا — كان يقرأ الإجابة من ورقة الأسئلة.
تسرّب البيانات ليس خطأ نادرًا
ظننت أنها غلطة مبتدئ سأتجاوزها. لكن في الفصل التالي اكتشفنا أن نصف الدفعة تقريبًا وقع في صورة أو أخرى من التسرب.
أحيانًا يكون واضحًا كحالتي، وأحيانًا يختبئ في خطوة تطبيع طُبّقت على البيانات كاملة قبل التقسيم — وهذا النوع لا تكتشفه إلا إن كنت تبحث عنه.
ما الذي غيّرته بعدها؟
صرت أبدأ كل مشروع بسؤال واحد قبل أي شيفرة: هل هذا العمود سيكون متاحًا فعلًا لحظة التنبؤ في الواقع؟ العمود الذي لا يكون متاحًا وقت القرار لا مكان له في النموذج مهما رفع الدقة.
ثم صرت أشكّ في كل دقة عالية. الآن حين أرى 99% لا أفرح — أبحث عن الخطأ أولًا، ثم أفرح إن لم أجده.


