تخطّ إلى المحتوى
كل الرؤى النمذجة المالية والأتمتة بالذكاء الاصطناعي

التنبؤ بفقدان العملاء بطريقة يمكن للفينتك التصرّف بناءً عليها

درجة فقدان (churn score) لا يتصرّف أحد بناءً عليها هي مجرّد لوحة بيانات. إليك كيف نبني نماذج فقدان العملاء مرتبطة بتدخّلات فعلية ومقيسة مقابل احتفاظ حقيقي.

5 دقائق قراءة #فقدان العملاء#الاحتفاظ#النمذجة
متخصصون في القطاع المالي يعملون على مبادرة للذكاء الاصطناعي

لا يُثبت نموذج فقدان العملاء (churn) جدارته إلا حين تُغيّر الدرجة فعلاً ما يفعله فريق الاحتفاظ في ذلك الأسبوع. الأجزاء الصعبة ليست الخوارزمية، بل هي: تعريف حدث الفقدان بحيث يطابق الطريقة التي يغادر بها العملاء فعلاً، وحساب السمات (features) على نحو يحترم ما كان معروفاً وقت التنبّؤ، وإغلاق الحلقة من الدرجة إلى التدخّل ثم إلى نتيجة احتفاظ مقيسة. أهمِل هذه الخطوة الأخيرة وسينتهي بك الأمر إلى لوحة بيانات لا يتصرّف أحد بناءً عليها.

لا شيء من هذا غريب أو معقّد. لكنه سهل الوقوع في خطأ دقيق فيه، وتميل هذه الأخطاء إلى البقاء مخفيّة إلى أن يكون النموذج قد دخل الإنتاج بالفعل وصار يوزّع الميزانية على نحو خاطئ.

عرّف الفقدان قبل أن تنمذجه

في شركات الفينتك، نادراً ما يكون الفقدان إلغاءً نظيفاً وصريحاً. العميل الذي ينقل راتبه المودَع مباشرة (direct deposit) إلى جهة أخرى ويترك بطاقته خاملة قد غادر بالفعل، وإن ظلّ حسابه مفتوحاً تقنيّاً. ومَن يتوقّف لربع سنة ثم يعود لم يغادر. إن نمذجت الحدث الخاطئ، فسيكون كل رقم لاحق واثقاً وخاطئاً في آن.

ابدأ بكتابة التعريف على هيئة استعلام (query)، لا جملة. حدّد بدقّة نافذة المراقبة، وعتبة الخمول، وفترة السماح، ثم طابِق هذا التعريف مع الطريقة التي يبلّغ بها قسم المالية أصلاً عن التناقص (attrition)، حتى يمكن لاحقاً ربط الارتفاع في الاحتفاظ بالإيرادات. وانتبه لهذه الحالات:

  • التناقص الصامت. عادةً ما يسبق تراجعُ الرصيد والمعاملات الإغلاقَ الرسمي بأسابيع. إن سمّيت الإغلاقات الصريحة (hard closes) فقط، فأنت تتنبّأ بالإجراء الورقي، لا بالمغادرة.
  • الفقدان غير الطوعي. فشل إعادة إصدار بطاقة أو انتهاء صلاحية وثيقة اعرف عميلك (KYC) يُنهي العلاقة لأسباب لا يمكن لعرض احتفاظ أن يعالجها. اعزل هذه الحالات، لأن خلطها يُعلّم النموذج الإشارة الخاطئة ويلوّث التدخّل.
  • إعادة التنشيط. احسم مسبقاً ما إذا كان العميل العائد يُحتسب محتفَظاً به، واجعل فترة السماح صريحة. فجوة من 90 يوماً تُحلّ في اليوم المئة لا ينبغي أن تُصنَّف فقداناً في اليوم الحادي والتسعين.

تُصبح مطابقة الكيانات (entity resolution) هنا أهمّ ممّا يتوقّع الناس. فشخص واحد له حسابان، وشريك مالك مشترك، وملف أُغلق ثم أُعيد فتحه، قد يبدو ثلاث حالات فقدان واستحواذاً واحداً، بينما هو في الواقع علاقة واحدة متّصلة. طابِق الكيانات قبل حساب التسمية، وإلا فسيكون المعدّل الأساسي (base rate) نفسه محض خيال.

اضبط الخط الزمني وإلا فالنموذج محض خيال

سمات الفقدان فخّ للنظر إلى المستقبل (lookahead). في اللحظة التي تربط فيها جدولاً جرى استبداله في مكانه (overwritten in place)، تخاطر بأن تُعلّم النموذج شيئاً لم يكن ليعرفه وقت التنبّؤ. الفشل الكلاسيكي: حقل حالة يقرأ “مُغلق” لأن الحساب أُغلق لاحقاً، ثم يُستخدم مدخلاً للتنبّؤ بهذا الإغلاق نفسه. يبدو المقياس دون اتصال (offline) ممتازاً، ثم لا يتنبّأ نموذج الإنتاج بشيء.

ابنِ السمات كما هي في تاريخ تنبّؤ محدّد، واسحب فقط ما كان معروفاً قبله. وعمليّاً:

  • تُحسَب كل سمة عند نقطة قطع (cutoff)، وتُفتَح نافذة التسمية بعد نقطة القطع تماماً. بلا أي تداخل.
  • تحمل القيم المُعادة بأثر رجعي (backfilled) أو المصحّحة الطابع الزمني للحظة توفّرها، لا الطابع الزمني الذي تشير إليه. ردّ مبالغ (chargeback) سُجّل متأخّراً ثلاثة أسابيع يدخل السمة عند تاريخ التسجيل.
  • تسويات المطابقة (reconciliation) وتصحيحات نهاية الربع (true-ups) مصادر تسريب شائعة. فهي تصل بعد الفترة التي تصفها، ولذلك يسحب الربط الساذج «كما في تاريخ» (as-of join) تصحيحاً مستقبليّاً إلى صفّ سمة ماضٍ.

مخزن سمات (feature store) يفرض عمليات ربط عند نقطة زمنية محدّدة (point-in-time joins) يزيل معظم هذا بحكم البناء، ويمنحك تتبّع النسب (lineage)، بحيث حين تنحرف سمة تستطيع تعقّبها إلى الجدول المصدر بدلاً من التخمين. وإن كنت تحسب السمات باستعلامات SQL مخصّصة، فاحتفظ على الأقل بمجموعة تقييم (eval set) مبنيّة باستعلام مستقلّ عند نقطة زمنية محدّدة. حين تختلف المجموعتان، تكون قد عثرت على تسريب.

تصنيف أم بقاء أم كلاهما

اختر النموذج انطلاقاً من القرار، لا العكس. إن كان فريق الاحتفاظ يتصرّف ضمن نافذة ثابتة، فمصنّف معزَّز بالتدرّج (gradient-boosted classifier) على أفق من 30 أو 60 يوماً يكفي عادةً، وهو سهل المعايرة والتفسير. أما إن كان التوقيت هو ما يقود الاقتصاديات، فتحليل البقاء (survival analysis) هو الأنسب، لأنه يستفيد من الحسابات التي ما زالت نشطة في نهاية نافذتك بدلاً من رميها باعتبارها غير مُسمّاة.

تتعامل نماذج البقاء مع الرقابة اليمنى (right-censoring) مباشرةً. يمنحك نموذج كوكس (Cox model) أو المخاطر منفصلة الزمن (discrete-time hazard) منحنىً لكل حساب بدلاً من احتمال مفرد، وهو ما يتيح لك أن تسأل متى يُرجَّح أن يغادر العميل، لا مجرّد ما إذا كان سيغادر. هذا التمييز يغيّر التدخّل. فعميل ذو مخاطرة مرتفعة في الأسبوع الثاني يحتاج إلى لمسة مختلفة عن عميل ترتفع مخاطرته ببطء على مدى ستة أشهر.

أيّاً كان اختيارك، فالمعايرة (calibration) هي الجزء الذي يربط النموذج بالمال. درجة قدرها 0.8 يجب أن تعني ما يقارب معدّل حدوث 80 بالمئة ضمن ذلك النطاق، لأن ميزانية التدخّل تُوزَّع بحسب القيمة المتوقّعة. تحقّق من المعايرة على بيانات خارج الزمن (out-of-time)، لا على تقسيم عشوائي. تتغيّر ديناميكيات الفقدان مع تغيّرات المنتج والتسعير والظروف الكليّة، ولذلك يُجمّل التقسيم العشوائي النموذجَ بتسريب الموسمية بين التدريب والاختبار.

اربط كل درجة بتدخّل ومجموعة ضبط

نموذج يُسنِد المخاطرة دون إجراء مقابل ليس إلا تقريراً. اربط كل نطاق بشيء ملموس: إعفاء من رسوم، أو اتصال من مدير علاقات، أو مسار إعادة تفاعل (re-engagement flow)، أو لا شيء حين تكون القيمة المتوقّع الاحتفاظ بها دون كلفة التواصل. حدّد ميزانية للإيجابيات الكاذبة (false-positive budget) صراحةً، لأن كل تدخّل يُوجَّه إلى عميل لم يكن لِيغادر أصلاً هو إنفاق بلا عائد، وعلى نطاق واسع يفوق هذا الهدر مكاسبَ النمذجة بكثير.

ثم احتجز مجموعة ضبط (control). امنع التدخّل عشوائيّاً عن شريحة من الفئة عالية المخاطرة، وقِس فرق الاحتفاظ بين المجموعة المُعالَجة ومجموعة الضبط. هذا هو الرقم الوحيد الذي يُثبت أن المنظومة تعمل. فمساحة تحت المنحنى (AUC) تخبرك بأن الترتيب جيّد؛ أما مجموعة الضبط فتخبرك بأن الإجراء غيّر السلوك فعلاً. وأبقِ الحلقة دائرة، لأن كلّاً من النموذج والتدخّلات ينحرف:

  • راقب انحراف السمات (feature drift) ومعدّل الفقدان الأساسي. نموذج مُعاير على معدّل العام الماضي يوزّع الميزانية على نحو خاطئ حين يتحرّك المعدّل.
  • سجّل كل درجة، والتدخّل المتّخذ، والنتيجة، بأثر تدقيق (audit trail) كافٍ لإعادة بناء سبب التواصل مع عميل بعينه. فأنت في الغالب ستحتاج إلى إظهار تتبّع النسب هذا على أي حال بموجب معظم توقّعات مخاطر النماذج (model-risk).
  • أعِد تقدير الارتفاع (uplift) وفق جدول زمني منتظم. فالتدخّل الذي نجح عند الإطلاق قد يتلاشى أثره مع تعوّد العملاء على العرض.

الارتفاع في الاحتفاظ، بعد خصم كلفة التواصل، ومقيساً مقابل مجموعة ضبط، هو المُخرَج النهائي. أما الدرجة فليست إلا الآلية التي تنتجه.

الأسئلة الشائعة

هل ينبغي أن أستخدم نموذج تصنيف (classification) أم تحليل البقاء (survival analysis) لفقدان العملاء؟

استخدم التصنيف عندما تملك نافذة قرار ثابتة، مثل مَن سيتوقّف عن التعامل خلال الثلاثين يوماً القادمة. واستخدم تحليل البقاء عندما يكون التوقيت مهمّاً ويظلّ العملاء نشطين حتى نهاية بياناتك، لأنه يتعامل مع الرقابة اليمنى (right-censoring) بدلاً من التخلّص من تلك الحسابات.

كيف أمنع تسميات فقدان العملاء (churn labels) من تسريب معلومات مستقبلية؟

ابنِ كل سمة (feature) كما هي في تاريخ تنبّؤ محدّد، واسحب فقط الحقائق المعروفة قبل ذلك التاريخ. إن كانت التسمية هي الفقدان خلال الستين يوماً القادمة، فيجب أن تُغلق نافذة السمات قبل أن يبدأ عدّاد الستين يوماً، وأي قيمة مُعادة بأثر رجعي (backfilled) أو مصحّحة يجب أن تحمل الطابع الزمني للحظة التي أصبحت فيها متاحة فعلاً.

ما الطريقة الصحيحة لقياس نموذج فقدان العملاء في بيئة الإنتاج؟

قِس الاحتفاظ مقابل مجموعة ضبط مُستبعَدة (holdout) لا تتلقّى أي تدخّل، لا مساحة تحت المنحنى (AUC) الخاصة بالدرجة. الرقم المهمّ هو الفرق في الحسابات المحتفَظ بها بين المجموعة التي جرى التواصل معها ومجموعة الضبط، بعد خصم كلفة التواصل مع أشخاص لم يكونوا لِيغادروا أصلاً.

تعمل على شيء مشابه؟

أخبِرنا عن بياناتك وسير العمل المحيط بها، وسنعطيك رأياً صريحاً.

احجز مكالمة تعريفية مدتها 30 دقيقة