تحليل بيانات شامل لأكثر من 119 ألف حجز فندقي (فندق في المدينة ومنتجع في البرتغال، 2015–2017) للإجابة عن سؤال عملي: لماذا يلغي النزلاء حجوزاتهم؟ وماذا يمكن للفندق أن يفعل لتقليل الخسائر؟
ما قمت به:
• تنظيف البيانات مع توثيق كل قرار: معالجة القيم المفقودة، حذف السجلات غير المنطقية، وفحص الصفوف المكررة قبل اتخاذ قرار بشأنها.
• تحليل استكشافي لعوامل الإلغاء: مدة الحجز المسبق، نوع العربون، قناة الحجز، الطلبات الخاصة، والنزلاء المتكررون.
• اكتشاف وتصحيح أخطاء تحليلية شائعة، مثل مقارنة الأشهر بشكل غير عادل (يوليو وأغسطس موجودان في 3 سنوات من البيانات وباقي الأشهر في سنتين فقط).
• اختبارات إحصائية (كاي تربيع، مان-ويتني) مع قياس حجم الأثر وليس الاكتفاء بقيمة p.
• بناء نموذج تعلم آلي (Gradient Boosting) للتنبؤ بالإلغاء وقت الحجز، مع تجنب تسرب البيانات واختبار النموذج على بيانات سنة لاحقة.
أهم النتائج:
• 37% من الحجوزات تُلغى، بقيمة 16.7 مليون يورو (39% من قيمة الحجوزات).
• كلما كان الحجز أبكر زاد احتمال الإلغاء: من 10% للحجوزات قبل أقل من أسبوع إلى 68% للحجوزات قبل أكثر من سنة.
• حوالي 14,600 حجز "غير مسترد" أُلغي منها 99%، وتبيّن أنها حجوزات جماعية لوكالات سفر وتمثل ثلث الإلغاءات.
• النموذج يميّز الحجوزات المعرضة للإلغاء بقيمة ROC-AUC = 0.83، والحجوزات التي صنّفها عالية الخطورة أُلغي منها 98% فعلاً.
التوصيات: قواعد عربون حسب مدة الحجز المسبق، مواعيد نهائية لإعادة الغرف المحجوزة من الوكالات، وتشجيع الحجز المباشر وبرامج ولاء للنزلاء المتكررين.
الأدوات: Python، pandas، matplotlib، SciPy، scikit-learn، Jupyter Notebook، Git و GitHub.
الكود والتقرير الكامل: