Downloads · 30 days
0
nsriram78/tourism-package-prediction
tourism-package-prediction is a tabular classification model from nsriram78. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for scikit-learn.
This model predicts whether a customer will purchase a Wellness Tourism Package from "Visit with Us" travel company. It uses XGBoost classifier with a custom preprocessing pipeline to handle both numeric and categoric…
Downloads · 30 days
0
Access
Public
Updated Dec 25, 2025
Repo size
583 KB
Likes
0
Public
Click a slice to open those files.
.joblib583 KB · 99%
From the Hugging Face model README
This model predicts whether a customer will purchase a Wellness Tourism Package from "Visit with Us" travel company. It uses XGBoost classifier with a custom preprocessing pipeline to handle both numeric and categorical features.
Primary Use: Identify potential customers for the Wellness Tourism Package to optimize marketing outreach and improve conversion rates.
Users: Sales and marketing teams at travel companies.
Out-of-scope: This model should not be used for discriminatory purposes or decisions that could significantly impact individuals' lives beyond marketing preferences.
scale_pos_weight parameterAlgorithm: XGBoost Classifier with sklearn preprocessing pipeline
Preprocessing:
Best Hyperparameters:
Classification Threshold: 0.45 (optimized for F1-score)
import joblib
import pandas as pd
from huggingface_hub import hf_hub_download
# Download the model
model_path = hf_hub_download(
repo_id="nsriram78/tourism-package-prediction",
filename="tourism_conversion_predict_model.joblib",
repo_type="model"
)
# Load the model
model = joblib.load(model_path)
# Prepare input data (must match training feature order)
input_data = pd.DataFrame([{
'Age': 35,
'CityTier': 1,
'DurationOfPitch': 15,
'NumberOfPersonVisiting': 3,
'NumberOfFollowups': 3,
'PreferredPropertyStar': 4.0,
'NumberOfTrips': 3,
'Passport': 1,
'PitchSatisfactionScore': 3,
'OwnCar': 1,
'NumberOfChildrenVisiting': 1,
'MonthlyIncome': 22000,
'TypeofContact': 'Self Enquiry',
'Occupation': 'Salaried',
'Gender': 'Male',
'ProductPitched': 'Basic',
'MaritalStatus': 'Married',
'Designation': 'Manager'
}])
# Get prediction probability
prediction_proba = model.predict_proba(input_data)[0, 1]
# Apply custom threshold
prediction = (prediction_proba >= 0.45).astype(int)
print(f"Purchase Probability: {prediction_proba:.2%}")
print(f"Prediction: {'Will Purchase' if prediction == 1 else 'Will Not Purchase'}")
Sriram Narasimhan
For questions or issues, please open an issue in the model repository.