license: mit tags: - hospitality - churn-prediction - customer-analytics - scikit-learn - baseline-model - review-analysis

Guest Churn Risk Prediction โ€“ Hospitality (Baseline Model)

Model Overview

This model predicts guest churn risk in the hospitality context using signals extracted from guest review text.
The goal of the project is to demonstrate how unstructured review data can be transformed into structured features and used to estimate churn likelihood when direct behavioral churn data (repeat bookings, loyalty history) is not available.

This is a baseline, proxy-label model built for learning, experimentation, and portfolio demonstration purposes.


Intended Use

  • Identify guests who show high dissatisfaction signals in their reviews
  • Flag high churn risk cases for possible service recovery or intervention
  • Demonstrate an end-to-end ML workflow: feature engineering โ†’ modeling โ†’ deployment

Not intended for

  • Direct revenue forecasting
  • Production decision-making without further validation
  • Use as a replacement for real churn models based on booking or loyalty data

Dataset Used

Source

Public hotel review datasets from Kaggle, containing structured positive and negative review text.

Key columns used

  • Positive_Review
  • Negative_Review

Dataset size

  • ~500,000 hotel reviews (raw)
  • After preprocessing and filtering: ~350,000 usable review records

Feature Engineering Approach

Since true churn labels (repeat booking behavior) were not available, a proxy labeling approach was used.

From each review, the following features were engineered:

Feature Description
pos_len Length of positive review content
neg_len Length of negative review content
total_len Total review length
neg_ratio Ratio of negative content to total content
complaint_score Discrete score (0โ€“5) derived from complaint intensity

Proxy Churn Logic

Guests with:

  • long negative reviews
  • high negative ratio
  • strong complaint language

were treated as higher churn risk during training.

This approach allows churn-like behavior to be modeled using review text alone.


Model Details

  • Algorithm: Logistic Regression
  • Library: scikit-learn
  • Input: Structured numeric features derived from review text
  • Output: Probability of guest churn (0โ€“1)

This model is intentionally simple and interpretable, serving as a strong baseline before more advanced NLP or behavioral models.


Training Strategy

  • Text reviews were converted into numeric features
  • Proxy churn labels were assigned based on complaint intensity
  • Data was split into training and validation sets
  • Model performance was evaluated using standard classification metrics

Evaluation Summary

  • The model performs best at ranking churn risk, rather than making strict binary decisions
  • Predicted probabilities tend to be conservative (clustered in midโ€“high ranges)
  • A higher decision threshold (โ‰ˆ0.80โ€“0.90) produces more reliable โ€œHigh churn riskโ€ flags

This behavior is expected for proxy-label churn models.


Deployment Notes

This model is deployed on Hugging Face and used inside a Streamlit application where:

  • Users enter one free-text guest review
  • A lightweight text-to-feature layer recreates training-scale features
  • The model outputs churn probability and risk classification

Limitations

  • This model does not use real churn outcomes
  • It relies on heuristic assumptions about dissatisfaction
  • Cultural and language variations in reviews are not fully captured
  • Review sentiment does not always translate to actual churn behavior

These limitations are acknowledged and documented intentionally.


Ethical Considerations

  • Predictions should not be used to penalize guests
  • The model should be used for service improvement, not exclusion
  • Human judgment must remain part of decision-making

Future Improvements

  • Incorporate true behavioral churn data (repeat stays, loyalty history)
  • Replace heuristic features with transformer-based text embeddings
  • Add probability calibration
  • Extend model to multi-class risk bands (Low / Medium / High)
  • Evaluate bias across regions and property types

Author Notes

This project was built as a hands-on learning exercise to understand:

  • Feature engineering from unstructured text
  • Proxy labeling strategies
  • Churn modeling challenges
  • Model deployment on Hugging Face

It represents a complete, end-to-end applied machine learning workflow rather than a production-ready churn system.


Model Files

  • churn_model.joblib โ€“ trained scikit-learn model
  • features.json โ€“ feature order and schema

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Space using Amey9766/guest-churn-risk-hospitality 1