Carrier Churn Analysis
Using SQL and Tableau to analyze how premium increases impacted 2024 renewal outcomes and identify where churn risk was highest.
BUSINESS PROBLEM
The agency wanted to understand how premium increases impacted customer retention during the 2024 renewal cycle. By analyzing renewal outcomes across different premium increase ranges, the agency could identify where churn risk increased and use those insights to support retention strategy.
Specifically:
-
How does churn rate change as premium increases get larger?
-
Which premium increase buckets have the highest churn risk?
-
Do churn patterns vary by carrier?
-
Where should the agency focus retention efforts before renewal?
MY APPROACH
1
Gather and clean 2024 renewal data
2
Bucket renewals by premium increase range
3
Calculate churn rate using SQL
4
Visualize churn risk in Tableau
5
Deliver retention recommendations
SQL ANALYSIS
To analyze churn risk, I created a SQL query that grouped 2024 renewal records into premium increase buckets: Decrease, 0–10%, 10–20%, and 20%+. I classified churned policies as renewals with an outcome of Cancelled or Non-Renewed, then calculated total renewals, churned policies, and churn rate for each bucket. The query produced both carrier-level results and an overall summary across all carriers, with carrier names masked to protect proprietary information.
-- Churn Risk Analysis by Premium Increase Bucket (2024)
-- Analyzes renewal outcomes for all policies renewed in 2024
-- Categorizes each renewal into a premium increase bucket (Decrease, 0-10%, 10-20%, 20%+)
-- and calculates churn rate (Cancelled + Non-Renewed) per bucket
-- Results include both a per-carrier breakdown and an overall all-carriers rollup
-- Carrier names are masked using carrier_id to protect proprietary information
-- Source tables: agency_db.renewals
WITH renewal_buckets AS
(
SELECT
r.outcome,
r.carrier_id,
CASE
WHEN r.pct_increase < 0 THEN '1. Decrease'
WHEN r.pct_increase < 0.10 THEN '2. 0-10%'
WHEN r.pct_increase < 0.20 THEN '3. 10-20%'
ELSE '4. 20%+'
END AS premium_increase_bucket
FROM `agency_db.renewals` AS r
WHERE EXTRACT(YEAR FROM r.renewal_date) = 2024
)
-- Per-carrier breakdown
SELECT
CONCAT('Carrier ', CAST(carrier_id AS STRING)) AS carrier_label,
premium_increase_bucket,
COUNT(*) AS total_renewals,
SUM(CASE WHEN outcome IN ('Cancelled','Non-Renewed') THEN 1 ELSE 0 END) AS churned_count,
ROUND(SUM(CASE WHEN outcome IN ('Cancelled','Non-Renewed') THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1) AS churn_rate_pct
FROM renewal_buckets
GROUP BY carrier_id, premium_increase_bucket
UNION ALL
-- Overall (all carriers combined)
SELECT
'All Carriers' AS carrier_label,
premium_increase_bucket,
COUNT(*) AS total_renewals,
SUM(CASE WHEN outcome IN ('Cancelled','Non-Renewed') THEN 1 ELSE 0 END) AS churned_count,
ROUND(SUM(CASE WHEN outcome IN ('Cancelled','Non-Renewed') THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1) AS churn_rate_pct
FROM renewal_buckets
GROUP BY premium_increase_bucket
ORDER BY carrier_label, premium_increase_bucket;
SQL QUERY RESULTS
The query returned churn rates by premium increase bucket, including both carrier-level results and an overall summary across all carriers. Across all carriers, churn increased significantly as premium increases grew. Renewals with a 0–10% increase had a churn rate of 6.2%, while renewals with a 10–20% increase rose to 21.4%. The highest churn risk occurred in the 20%+ premium increase bucket, where 38.4% of renewals were cancelled or non-renewed.
Key Finding: Policies with premium increases of 20% or more had the highest churn rate at 38.4%, making large premium increases the clearest renewal risk indicator in the analysis.
carrier_label | premium_increase_bucket | total_renewals | churned_count | churn_rate_pct |
|---|---|---|---|---|
All Carriers | 1. Decrease | 196 | 10 | 5.1 |
All Carriers | 2. 0-10% | 969 | 60 | 6.2 |
All Carriers | 3. 10-20% | 995 | 213 | 21.4 |
All Carriers | 4. 20%+ | 1906 | 732 | 38.4 |
Carrier 1 | 1. Decrease | 49 | 5 | 10.2 |
Carrier 1 | 2. 0-10% | 262 | 15 | 5.7 |
Carrier 1 | 3. 10-20% | 310 | 68 | 21.9 |
Carrier 1 | 4. 20%+ | 531 | 208 | 39.2 |
Carrier 2 | 1. Decrease | 38 | 2 | 5.3 |
Carrier 2 | 2. 0-10% | 150 | 10 | 6.7 |
Carrier 2 | 3. 10-20% | 160 | 34 | 21.3 |
Carrier 2 | 4. 20%+ | 289 | 112 | 38.8 |
Carrier 3 | 1. Decrease | 31 | 0 | 0 |
Carrier 3 | 2. 0-10% | 177 | 9 | 5.1 |
Carrier 3 | 3. 10-20% | 152 | 28 | 18.4 |
Carrier 3 | 4. 20%+ | 326 | 128 | 39.3 |
Carrier 4 | 1. Decrease | 21 | 0 | 0 |
Carrier 4 | 2. 0-10% | 123 | 11 | 8.9 |
Carrier 4 | 3. 10-20% | 123 | 27 | 22 |
Carrier 4 | 4. 20%+ | 287 | 93 | 32.4 |
Carrier 5 | 1. Decrease | 28 | 0 | 0 |
Carrier 5 | 2. 0-10% | 143 | 9 | 6.3 |
Carrier 5 | 3. 10-20% | 141 | 32 | 22.7 |
Carrier 5 | 4. 20%+ | 259 | 101 | 39 |
Carrier 6 | 1. Decrease | 3 | 0 | 0 |
Carrier 6 | 2. 0-10% | 30 | 0 | 0 |
Carrier 6 | 3. 10-20% | 22 | 3 | 13.6 |
Carrier 6 | 4. 20%+ | 44 | 18 | 40.9 |
Carrier 7 | 1. Decrease | 12 | 3 | 25 |
Carrier 7 | 2. 0-10% | 41 | 3 | 7.3 |
Carrier 7 | 3. 10-20% | 44 | 11 | 25 |
Carrier 7 | 4. 20%+ | 98 | 42 | 42.9 |
Carrier 8 | 1. Decrease | 14 | 0 | 0 |
Carrier 8 | 2. 0-10% | 43 | 3 | 7 |
Carrier 8 | 3. 10-20% | 43 | 10 | 23.3 |
Carrier 8 | 4. 20%+ | 72 | 30 | 41.7 |
KEY FINDINGS
-
Churn increased as premium increases became larger.
-
Renewals with a 20%+ premium increase had the highest churn rate at 38.4%.
-
Renewals with a 10–20% premium increase had a churn rate of 21.4%, showing churn risk increased before reaching the highest rate-change bucket.
-
Renewals with premium decreases or 0–10% increases had much lower churn rates, at 5.1% and 6.2%.
-
Carrier-level results showed that high premium increases consistently created elevated churn risk across the book.
INTERACTIVE TABLEAU DASHBOARD
The dashboard visualizes churn risk by premium increase bucket, showing how renewal outcomes change as premium increases become larger.
NOTE: If the Tableau dashboard does not load properly, please click here to view it directly in Tableau Public.
BUSINESS RECOMMENDATIONS
Based on the churn analysis, the agency should focus retention efforts on customers facing larger premium increases. The results show that churn risk rises sharply once premium increases move above 10%, making those renewals the best opportunities for proactive outreach.
1
Prioritize outreach for 20%+ premium increases
Contact customers before renewal when their premium increase is 20% or higher, since this group showed the highest churn rate.
2
Monitor customers with 10–20% increases
Treat moderate premium increases as an early warning sign, since churn rose meaningfully in this bucket.
3
Use churn trends to guide renewal strategy
Equip producers with premium-change insights so they can prepare stronger renewal conversations and offer alternatives before customers leave.
BUSINESS IMPACT
This analysis demonstrated that premium increases were strongly associated with renewal churn. By identifying the premium increase ranges with the highest policy loss, the agency can prioritize outreach before renewal, focus producer attention on higher-risk customers, and reduce preventable churn. The findings support a more proactive retention strategy by showing where customer intervention is most needed.