Billing & Churn Dynamics
Billing & Churn Dynamics
Understanding the financial relationship between the customer and the service provider is central to predicting churn. This section explores how billing amounts, payment methods, and automated billing features influence a customer's decision to stay or leave.
Monthly Bill Distribution
The relationship between a customer's monthly costs and their churn status is visualized using a combination of Box Plots and Swarm Plots. This dual-layer visualization allows you to see the statistical distribution (quartiles and outliers) while simultaneously viewing every individual data point to identify density clusters.
import seaborn as sns
import matplotlib.pyplot as plt
# Visualizing the impact of Monthly Bill on Churn
plt.figure(figsize=(8,5))
sns.boxplot(x='Churn', y='MonthlyBill', data=df, palette='Set3')
sns.swarmplot(x='Churn', y='MonthlyBill', data=df, color='black', alpha=0.6)
plt.title("Monthly Bill vs Churn (Box + Swarm Overlay)")
plt.xticks([0, 1], ['No Churn', 'Churn'])
plt.show()
Key Insight: Higher monthly bills are often correlated with increased churn risk. The swarm overlay helps identify if there is a specific "price ceiling" where churn frequency intensifies.
Probability Density (KDE)
To better understand the "overlap" between retained and churned customers, the project utilizes Kernel Density Estimate (KDE) plots. This provides a smoothed view of where most customers fall on the price spectrum.
- Retained Customers: Typically show higher density at lower price points.
- Churned Customers: Often show a shift toward the right, indicating higher-than-average monthly invoices.
Financial Feature Indicators
Beyond the raw bill amount, the model evaluates several categorical billing features that serve as strong churn predictors:
| Feature | Impact on Churn | | :--- | :--- | | AutoPay | Customers with AutoPay enabled demonstrate significantly higher retention rates. | | Payment Method | Credit card users tend to be more stable compared to those using manual payment methods. | | Billing Issues | A history of billing disputes or issues is a primary lead indicator for imminent churn. |
Quantifying the Impact
The analyzer calculates the mean billing values to provide a baseline for "at-risk" customers. In the dataset, the disparity between churned and retained billing averages is a critical metric for setting proactive retention thresholds.
# Calculating average billing impacts
avg_churn_bill = df[df['Churn'] == 1]['MonthlyBill'].mean()
avg_no_churn_bill = df[df['Churn'] == 0]['MonthlyBill'].mean()
print(f"Avg Monthly Bill (Churned): ₹{avg_churn_bill:.2f}")
print(f"Avg Monthly Bill (Retained): ₹{avg_no_churn_bill:.2f}")
Actionable Strategy
Based on the billing dynamics identified:
- Target High-Bill Segments: Users exceeding the average churned bill amount (calculated above) should be prioritized for loyalty offers.
- Promote AutoPay: Since AutoPay is a negative correlate of churn, incentivizing users to switch to automated billing can improve tenure.
- Resolve Disputes Quickly: Given the weight of
BillingIssuesin the model, rapid resolution of billing errors is a high-ROI retention strategy.