Skip to content

About

End-to-end SaaS analytics project using Python, SQL, SQLite, and Power BI to analyze customer behavior, subscriptions, revenue, churn, product usage, and support performance.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SaaS Product & Customer Analytics — End-to-End Business Intelligence

An end-to-end SaaS analytics project focused on understanding customer behavior, subscription growth, revenue performance, churn, product usage, and customer support using Python, SQL, SQLite, and Power BI.

The project demonstrates how raw operational data can be transformed into meaningful business insights through data understanding, data cleaning, SQL analysis, cross-domain analysis, business intelligence dashboards, and business recommendations.


1. Project Overview

RavenStack is a fictional SaaS company serving customers across multiple industries and countries.

The objective of this project is to analyze RavenStack's business performance across the complete customer lifecycle, from acquisition and subscription to product usage, support, and churn.

The project answers practical business questions related to:

  • Customer acquisition
  • Customer distribution
  • Subscription growth
  • MRR and ARR
  • Plan performance
  • Billing behavior
  • Churn and retention
  • Churn reasons
  • Product usage
  • Feature errors
  • Customer support
  • Customer satisfaction
  • Revenue exposure
  • Cross-domain business relationships

The overall workflow is:

Data Understanding
        ↓
Data Cleaning
        ↓
Database & SQL Analysis
        ↓
Business Analysis
        ↓
Power BI Dashboard
        ↓
Business Recommendations

RavenStack SaaS Product & Customer Analytics

2. Business Objectives

The project focuses on answering the following business questions.

Customer & Acquisition

  • How is the customer base distributed across industries?
  • Which countries contribute the most customers?
  • Which referral sources contribute customers?
  • How is the customer base distributed across plan tiers?

Subscription & Revenue

  • How many subscriptions does RavenStack have?
  • Which plans contribute the most MRR?
  • How does monthly billing compare with annual billing?
  • How much revenue comes from trial and non-trial subscriptions?
  • Which countries generate the most MRR?
  • How does revenue compare with seat volume?
  • Which plan generates the highest MRR per seat?

Churn & Retention

  • What is the overall churn rate?
  • Which plans have higher churn rates?
  • Which industries have higher churn rates?
  • Which countries have higher churn rates?
  • What are the major churn reasons?
  • How has churn changed over time?
  • How much MRR is lost through churn?
  • Do churn reasons differ across plans?
  • What activity is recorded before churn events?
  • How many churned customers are marked as reactivated?

Product Usage

  • Which features are used most?
  • Which features have more errors?
  • How do beta and non-beta features compare?
  • Does feature usage show a strong relationship with error volume?
  • Does aggregate usage differ between churned and non-churned customers?
  • Does usage intensity vary across plans?

Customer Support

  • How are support tickets distributed by priority?
  • What is the average resolution time?
  • What is the average first response time?
  • How does customer satisfaction vary across priorities?
  • What is the escalation rate?
  • Does aggregate support experience differ between churned and non-churned customers?

3. Dataset Overview

The project uses five related datasets.

Dataset Rows Description
Accounts 500 Customer/account information
Subscriptions 5,000 Subscription, plan, revenue, and billing information
Churn Events 600 Churn events, churn reasons, and reactivation information
Feature Usage 25,000 Product feature usage and error activity
Support Tickets 2,000 Customer support activity and satisfaction information

3.1 Accounts Dataset

Contains customer-level information such as:

  • account_id
  • account_name
  • industry
  • country
  • signup_date
  • referral_source
  • plan_tier
  • seats
  • is_trial
  • churn_flag

3.2 Subscriptions Dataset

Contains subscription-level information such as:

  • subscription_id
  • account_id
  • start_date
  • end_date
  • plan_tier
  • seats
  • mrr_amount
  • arr_amount
  • is_trial
  • upgrade_flag
  • downgrade_flag
  • churn_flag
  • billing_frequency
  • auto_renew_flag

3.3 Churn Events Dataset

Contains churn-event information such as:

  • churn_event_id
  • account_id
  • churn_date
  • reason_code
  • refund_amount_usd
  • preceding_upgrade_flag
  • preceding_downgrade_flag
  • is_reactivation
  • feedback_text

3.4 Feature Usage Dataset

Contains product usage information such as:

  • usage_id
  • subscription_id
  • usage_date
  • feature_name
  • usage_count
  • usage_duration_secs
  • error_count
  • is_beta_feature

3.5 Support Tickets Dataset

Contains customer support information such as:

  • ticket_id
  • account_id
  • submitted_at
  • closed_at
  • resolution_time_hours
  • priority
  • first_response_time_minutes
  • satisfaction_score
  • escalation_flag

4. Project Structure

saas_product_&_customer_analytics/
│
├── data/
│   ├── ravenstack_accounts.csv
│   ├── ravenstack_churn_events.csv
│   ├── ravenstack_feature_usage.csv
│   ├── ravenstack_subscriptions.csv
│   └── ravenstack_support_tickets.csv
│
├── database/
│   └── ravenstack.db
│
├── src/
│   └── ingestion.py
│
├── notebooks/
│   ├── 01_data_understanding.ipynb
│   ├── 02_data_cleaning.ipynb
│   └── 03_analysis.ipynb
│
├── dashboard/
│   └── RavenStack_Dashboard.pbix
│
└── README.md

5. Data Understanding

The first stage focused on understanding the structure, quality, and relationships between the datasets.

The following checks were performed:

  • Dataset shape and columns
  • Data types
  • Descriptive statistics
  • Categorical value distributions
  • Duplicate checks
  • Date-range checks
  • Primary-key validation
  • Foreign-key validation
  • Missing-value profiling
  • Boolean and flag validation
  • Numeric data-quality checks

5.1 Dataset Sizes

Dataset Rows Columns
Accounts 500 10
Churn Events 600 9
Feature Usage 25,000 8
Subscriptions 5,000 14
Support Tickets 2,000 9

5.2 Primary Key Validation

The following identifiers were checked:

  • accounts.account_id
  • subscriptions.subscription_id
  • churn_events.churn_event_id
  • support_tickets.ticket_id
  • feature_usage.usage_id

The usage table contained repeated usage_id values. However, these repeated IDs represented different usage records rather than exact duplicate rows, so they were retained.

5.3 Foreign Key Validation

The following relationships were validated:

accounts.account_id
        ↓
subscriptions.account_id

accounts.account_id
        ↓
churn_events.account_id

accounts.account_id
        ↓
support_tickets.account_id

subscriptions.subscription_id
        ↓
feature_usage.subscription_id

All checked foreign-key relationships were valid and no unmatched foreign-key records were identified.

5.4 Missing Value Profile

Major missing-value cases identified:

Dataset Column Missing Values Treatment
Churn Events feedback_text 148 Replaced with "No feedback provided"
Subscriptions end_date 4,514 Retained intentionally
Support Tickets satisfaction_score 825 Retained as missing

6. Data Cleaning

The second stage focused on preparing the datasets for reliable analysis.

Cleaning activities included:

  • Duplicate checks
  • Missing-value treatment
  • Data-type validation
  • Categorical-value validation
  • Boolean/flag validation
  • Numeric-value validation
  • Business-rule validation
  • Relationship validation

6.1 Churn Feedback

There were 148 missing values in feedback_text. These were replaced with: "No feedback provided"

This preserves the distinction between missing feedback and an actual written customer response.

6.2 Subscription End Dates

There were 4,514 missing end_date values. All churned subscriptions had a populated end date, while the missing values were associated with non-churned subscriptions.

The missing values were therefore retained because they represented active subscriptions in the available data.

6.3 Satisfaction Scores

There were 825 missing satisfaction scores. The observed satisfaction values ranged from 3 to 5, with an average close to 3.98.

The missing scores were intentionally retained as NaN rather than artificially imputing customer satisfaction values.

6.4 Duplicate & Data Quality Checks

Additional checks confirmed:

  • No exact duplicate rows in the usage table
  • No negative numeric values in the checked fields
  • No invalid categorical values
  • Boolean/flag columns contained valid values
  • Upgrade and downgrade combinations were reviewed
  • Usage-date mismatches with subscription periods were reviewed
  • Zero-MRR and zero-ARR records were investigated

There were 778 zero-MRR/ARR subscriptions. All of these were trial subscriptions, making the zero revenue values consistent with the observed business behavior.

6.5 Final Dataset Sizes

No records were removed during cleaning.

Dataset Final Rows
Accounts 500
Subscriptions 5,000
Churn Events 600
Feature Usage 25,000
Support Tickets 2,000

7. Database & SQL Analysis

The cleaned datasets were loaded into a SQLite database: database/ravenstack.db

The ingestion process is handled through: src/ingestion.py

SQL was used for business-oriented analysis across the connected datasets.

Major SQL analysis areas included:

  • Business overview
  • Subscription growth
  • Revenue analysis
  • Plan analysis
  • Country analysis
  • Churn analysis
  • Churn reasons
  • Product usage
  • Support performance
  • Cross-domain analysis

The relational database structure allowed multiple datasets to be joined and analyzed from a common business perspective.

8. Overall Business Overview

8.1 Core Business Metrics

Metric Value
Total Accounts 500
Total Subscriptions 5,000
Trial Subscriptions 778
Churned Subscriptions 486
Total Seats 149,260
Total MRR $11,338,747
Total ARR $136,064,964
Churn Rate 9.72%
Trial Rate 15.56%

8.2 Subscription Growth

RavenStack experienced substantial subscription growth during the observed period.

Annual Comparison

Year New Subscriptions New MRR
2023 666 $1.31M
2024 4,334 $10.03M

Growth

  • New Subscriptions Growth: 550.75%
  • New MRR Growth: 663.18%

December 2024 recorded the highest monthly number of new subscriptions and the highest new MRR in the observed period.

9. Customer Analysis

9.1 Industry Distribution

Industry Accounts
DevTools 113
FinTech 112
Cybersecurity 100
HealthTech 96
EdTech 79

DevTools and FinTech have the highest account representation, while EdTech has the lowest. The customer base is relatively distributed across industries, with no single industry dominating the portfolio.

9.2 Geographic Distribution

Country Accounts
US 291
UK 58
India 49
Australia 32
Germany 25
Canada 23
France 22

The US represents 58.2% of the total account base, indicating significant geographic concentration.

9.3 Referral Sources

Referral Source Accounts
Organic 114
Other 103
Ads 98
Event 96
Partner 89

Customer acquisition is distributed across multiple sources, with no single source dominating the customer base.

9.4 Account Plan Distribution

Plan Accounts
Pro 178
Basic 168
Enterprise 154

The account base is relatively evenly distributed across the three plans.

10. Subscription & Revenue Analysis

10.1 MRR by Plan

Plan Subscriptions Total MRR Average MRR
Enterprise 1,723 $8.47M $4,917.71
Pro 1,675 $2.11M $1,256.77
Basic 1,602 $0.76M $474.68

Enterprise generates the majority of MRR despite having a similar number of subscriptions to the other plans. This demonstrates that subscription volume alone does not determine revenue contribution.

10.2 Billing Frequency

Billing Frequency Subscriptions Total MRR Average MRR
Monthly 2,539 $5.74M $2,261.26
Annual 2,461 $5.60M $2,274.44

Monthly and annual billing are relatively evenly distributed. Total MRR is also closely balanced between the two billing frequencies.

10.3 Plan + Billing Frequency

Plan Billing Subscriptions Total MRR
Basic Annual 788 $376,485
Basic Monthly 814 $383,952
Enterprise Annual 835 $4,193,726
Enterprise Monthly 888 $4,279,495
Pro Annual 838 $1,027,187
Pro Monthly 837 $1,077,902

Enterprise generates the highest MRR under both billing frequencies. Overall, plan tier has a much larger revenue difference than billing frequency.

10.4 Trial vs Non-Trial

Subscription Type Subscriptions Total MRR
Trial 778 $0
Non-Trial 4,222 $11.34M

Trial subscriptions generate $0 MRR, while all recorded MRR comes from non-trial subscriptions.

10.5 Revenue by Country

Country Accounts Subscriptions Total MRR Average MRR
US 291 2,961 $6.63M $2,240.66
UK 58 590 $1.22M $2,068.59
India 49 498 $1.19M $2,398.24
Australia 32 312 $0.84M $2,692.24
France 22 211 $0.59M $2,795.24
Canada 23 217 $0.48M $2,200.75
Germany 25 211 $0.38M $1,810.51

The US contributes the largest MRR because of its much larger customer and subscription base. Some smaller markets have relatively high average MRR per subscription.

10.6 Seats by Plan

Plan Subscriptions Total Seats Average Seats
Pro 1,675 51,284 30.62
Enterprise 1,723 50,604 29.37
Basic 1,602 47,372 29.57

Average seats per subscription are relatively similar across all three plans.

10.7 MRR per Seat

Plan MRR per Seat
Enterprise $167
Pro $41
Basic $16

Enterprise generates substantially higher revenue per seat than Pro and Basic. This highlights the significant difference in revenue value across plan tiers.

11. Churn Analysis

11.1 Overall Churn

RavenStack has:

  • Total Subscriptions: 5,000
  • Churned Subscriptions: 486
  • Churn Rate: 9.72%

This serves as the baseline for comparing churn across plans, industries, countries, and other segments.

11.2 Churn by Plan

Plan Total Subscriptions Churned Churn Rate
Enterprise 1,723 172 9.98%
Pro 1,675 162 9.67%
Basic 1,602 152 9.49%

Churn rates are relatively similar across all three plans. The difference between the highest and lowest churn rate is only 0.49 percentage points.

11.3 Churn by Industry

Industry Total Subscriptions Churned Churn Rate
DevTools 1,158 125 10.79%
Cybersecurity 1,008 103 10.22%
HealthTech 949 96 10.12%
FinTech 1,100 96 8.73%
EdTech 785 66 8.41%

Churn rates vary across industries. DevTools records the highest churn rate, while EdTech records the lowest in the observed dataset.

11.4 Churn by Country

Country Total Subscriptions Churned Churn Rate
France 211 25 11.85%
Australia 312 35 11.22%
UK 590 64 10.85%
US 2,961 288 9.73%
Canada 217 21 9.68%
Germany 211 20 9.48%
India 498 33 6.63%

Churn rate varies considerably across countries. The US has the highest churn volume, while France has the highest churn rate.

11.5 Churn Reasons

Reason Churn Events Share
Features 114 19.00%
Support 104 17.33%
Budget 104 17.33%
Unknown 95 15.83%
Competitor 92 15.33%
Pricing 91 15.17%

Feature-related issues are the largest recorded churn reason. However, churn is distributed across multiple categories rather than being concentrated in one driver.

11.6 Churn Trend

Monthly churn events generally increased during the observed period.

The number of monthly churn events increased from:

  • January 2023: 1
  • December 2024: 117

The increase becomes particularly noticeable during the second half of 2024. However, churn volume should be interpreted together with the rapidly growing subscription base and should not be treated as the same metric as churn rate.

11.7 Activity Before Churn

Activity Before Churn Churn Events Share
No Upgrade / Downgrade 432 72.00%
Upgrade Only 115 19.17%
Downgrade Only 45 7.50%
Both 8 1.33%

Most churn events were not immediately preceded by a recorded plan change. The presence of an upgrade before churn should be interpreted as a sequence/association rather than evidence that an upgrade caused churn.

11.8 Reactivation

Reactivation Status Churn Events Share
No 539 89.83%
Yes 61 10.17%

A smaller portion of recorded churn events is associated with customers marked as reactivated.

11.9 Churn Revenue Impact

The 486 churned subscriptions represent approximately: $1.18M in churned MRR

Average MRR per churned subscription: $2,426.21

This shows that churn has a measurable recurring-revenue impact.

11.10 Churn + Revenue by Plan

Plan Churn Rate Churned MRR
Enterprise 9.98% $926,345
Pro 9.67% $180,271
Basic 9.49% $72,523

Although churn rates are relatively similar, the revenue impact differs substantially across the plans. Enterprise represents the largest financial exposure because of its much higher revenue contribution.

12. Product Usage Analysis

12.1 Most Used Features

Top features by total usage count include:

Feature Total Usage
Feature_32 6,686
Feature_15 6,621
Feature_6 6,546
Feature_20 6,541
Feature_34 6,536
Feature_12 6,534
Feature_11 6,533
Feature_2 6,525
Feature_38 6,478
Feature_26 6,470

Feature usage is relatively evenly distributed. The relatively small difference between highly used features indicates that product usage is not heavily concentrated in a small number of features.

12.2 Feature Errors

Error counts vary across features, but error rates remain relatively close, generally around 5–6%.

Examples include:

  • Feature_4: 418 errors
  • Feature_26: 417 errors
  • Feature_9: 404 errors
  • Feature_2: 401 errors

Similar error rates across features do not show a strong difference in error frequency relative to usage volume.

12.3 Beta vs Non-Beta Features

Metric Non-Beta Beta
Usage Records 22,456 2,544
Total Usage 224,939 25,586
Average Usage 10.02 10.06
Error Rate 5.64% 5.53%

Beta and non-beta features show very similar usage intensity and error rates.

12.4 Usage vs Errors

Product usage and total errors do not show a strong direct pattern. Some relatively high-usage features have moderate error counts, while some lower-usage features have comparatively high errors.

For example:

  • Feature_26: 6,470 usage and 417 errors
  • Feature_8: 6,030 usage and 284 errors

This suggests that error volume is not determined by usage volume alone.

12.5 Monthly Product Usage

Monthly product usage remained relatively stable throughout the observed period.

Monthly usage generally remained between approximately 9,500 and 11,500 usage events.

  • Highest observed monthly usage: October 2024 — 11,450
  • Lowest observed monthly usage: November 2023 — 9,475

Overall, the data does not show a strong sustained upward or downward trend in product usage.

12.6 Usage Duration by Feature

Usage duration is relatively evenly distributed across the top features.

Among the top features:

  • Feature_24: 575.07 hours
  • Feature_12: 572.63 hours
  • Feature_32: 570.09 hours
  • Feature_6: 559.44 hours
  • Feature_11: 559.11 hours

The relatively small differences indicate that customer time is distributed across multiple features rather than concentrated in a single feature.

12.7 Churned vs Non-Churned Usage

Metric Non-Churned Churned
Average Usage per Record 10.02 10.03
Average Duration per Record 3,042.58 sec 3,038.64 sec

The aggregate usage intensity between churned and non-churned groups is very similar. Based on these aggregate metrics, there is no substantial difference in usage intensity between the two groups.

13. Support Analysis

13.1 Support Ticket Volume by Priority

Priority Tickets Share
Urgent 514 25.70%
High 510 25.50%
Medium 491 24.55%
Low 485 24.25%

Support ticket volume is evenly distributed across priority levels.

13.2 Resolution Time by Priority

Priority Tickets Average Resolution
High 510 36.96 hours
Low 485 36.35 hours
Medium 491 35.59 hours
Urgent 514 34.57 hours

Average resolution time is relatively similar across priorities.

13.3 Satisfaction by Priority

Priority Rated Tickets Average Satisfaction
Low 287 4.02
High 295 4.00
Urgent 301 3.97
Medium 292 3.93

Average satisfaction scores are relatively consistent across priorities.

13.4 Escalation Rate by Priority

Priority Tickets Escalated Escalation Rate
Medium 491 25 5.09%
Low 485 23 4.74%
High 510 24 4.71%
Urgent 514 23 4.47%

Escalation rates are relatively consistent across priorities.

13.5 First Response Time

Average first response time is relatively similar across priorities.

Priority Average First Response
Urgent 85.53 min
Medium 85.86 min
Low 91.15 min
High 91.44 min

13.6 Overall Support Performance

Metric Value
Total Tickets 2,000
Avg Resolution Time 35.86 hours
Avg First Response Time 88.48 minutes
Avg Satisfaction 3.98 / 5
Escalated Tickets 95
Escalation Rate 4.75%

Overall support metrics remain relatively stable across priority levels.

14. Cross-Domain Analysis

The project combines multiple datasets to evaluate relationships between different areas of the business.

14.1 Churn vs Support Experience

Support experience metrics are very similar between churned and non-churned subscriptions.

Metric Non-Churned Churned
Avg Resolution Time 35.99 hours 36.08 hours
Avg First Response 88.15 min 87.44 min
Avg Satisfaction 3.99 3.97
Escalation Rate 4.81% 4.97%

Based on these aggregate metrics, there is no substantial difference in support experience between the two groups.

14.2 Churn + Revenue by Country

Country Churn Rate Churned MRR
US 9.73% $645,721
UK 10.85% $175,279
France 11.85% $100,563
Australia 11.22% $88,549
India 6.63% $81,589
Germany 9.48% $44,111
Canada 9.68% $43,327

The US has the highest churned MRR because of its much larger subscription base. France has the highest churn rate in the observed dataset. This highlights the importance of evaluating both churn rate and churned MRR.

14.3 Plan + Usage + Churn

Plan Avg Usage Avg Duration Churn Rate
Enterprise 9.99 3,050.36 sec 9.98%
Pro 10.03 3,043.99 sec 9.67%
Basic 10.00 3,022.65 sec 9.49%

Usage intensity is very similar across all plans. Churn rates are also relatively close. This suggests that aggregate plan-level usage differences are small and do not coincide with large differences in churn rate.

14.4 Churn Reason + Plan Tier

Different plans show different leading churn reasons:

Plan Leading Churn Reason Share
Basic Budget 22.16%
Pro Features 19.62%
Enterprise Support 22.22%

This suggests that churn drivers are not identical across plan tiers and may require segment-specific investigation.

14.5 Revenue + Churn by Plan

Plan Total MRR Churn Rate Churned MRR
Enterprise $8.47M 9.98% $926,345
Pro $2.11M 9.67% $180,271
Basic $0.76M 9.49% $72,523

Enterprise generates the majority of total MRR and also accounts for the largest amount of churned MRR. This highlights the importance of considering both customer retention and revenue exposure.

15. Key Business Findings

15.1 Strong Subscription and Revenue Growth

RavenStack experienced significant growth during the observed period. New subscriptions increased by 550.75% from 2023 to 2024, while new MRR increased by 663.18%. This indicates strong expansion in both customer volume and recurring revenue.

15.2 Enterprise Revenue Concentration

Enterprise subscriptions generate approximately $8.47M in MRR, representing the majority of RavenStack's recurring revenue. Enterprise also generates substantially higher MRR per seat than Basic and Pro.

15.3 Churn Has Significant Revenue Impact

RavenStack has a churn rate of 9.72%, representing:

  • 486 churned subscriptions
  • Approximately $1.18M in churned MRR

The financial impact is particularly significant for Enterprise subscriptions.

15.4 Churn Drivers Differ Across Plans

Different plans show different leading churn reasons:

  • Basic → Budget
  • Pro → Features
  • Enterprise → Support

This indicates that customer retention challenges may differ by customer segment.

15.5 Geographic Concentration and Churn Variation

The US represents 58.2% of the account base and contributes the largest MRR. At the same time, churn rates differ across countries. This suggests that both geographic concentration and country-level retention should be monitored.

15.6 Aggregate Product Usage Is Relatively Stable

Product usage remains relatively stable across the observed period and is also similar between churned and non-churned customers. Aggregate usage metrics alone therefore do not provide a strong distinction between churned and non-churned customers.

15.7 Support Metrics Are Relatively Stable

Support ticket volume, response times, resolution times, satisfaction scores, and escalation rates show relatively small differences across ticket priorities. The aggregate support metrics also show only small differences between churned and non-churned groups.

15.8 Track Churn Rate Alongside Revenue Impact

A complete retention analysis should track both churn rate and churned MRR.

For RavenStack:

  • Overall churn rate: 9.72%
  • Churned subscriptions: 486
  • Churned MRR: $1.18M
  • Enterprise churned MRR: $926,345

Although churn rates are relatively similar across plan tiers, the financial impact differs substantially because Enterprise subscriptions generate significantly higher MRR.

Therefore, retention dashboards should monitor: Churn Rate + Churned MRR

This provides a more complete view of the financial impact of customer churn.

15.9 Investigate Churn Beyond Aggregate Usage Metrics

Aggregate product usage intensity is very similar between churned and non-churned customers. Average usage per record is approximately 10 for both groups, and average usage duration is also very similar. Therefore, aggregate usage volume alone may not be sufficient to explain churn behavior.

Further analysis can focus on:

  • Feature-level adoption
  • Changes in usage over time
  • Error patterns
  • Usage frequency before churn
  • Customer-level engagement trends

These deeper behavioral metrics can help identify patterns that may not be visible in aggregate usage statistics.

16. Business Recommendations

The recommendations below are based on the patterns identified in the analysis.

16.1 Monitor Churn Alongside Revenue Impact

RavenStack should monitor both:

  • Churn Rate
  • Churned MRR

Churn rate indicates the proportion of subscriptions being lost, while churned MRR shows the recurring-revenue impact. This is particularly important because the financial effect of churn differs substantially across plan tiers.

16.2 Develop Plan-Specific Retention Strategies

The leading churn reason differs by plan:

  • Basic → Budget
  • Pro → Features
  • Enterprise → Support

Potential areas of investigation include:

  • Reviewing affordability and perceived value for Basic customers
  • Investigating feature requirements and product gaps for Pro customers
  • Reviewing support experience and account management for Enterprise customers

These findings should be validated using deeper customer-level analysis before operational implementation.

16.3 Monitor Geographic Churn and Revenue Exposure

The data shows meaningful differences in churn rates across countries. Management should therefore monitor both:

  • Country-level churn rate
  • Country-level churned MRR

This helps distinguish markets with higher churn percentages from markets where churn creates greater financial exposure because of a larger subscription base.

16.4 Protect Enterprise Revenue

Enterprise subscriptions contribute approximately $8.47M in MRR and account for approximately $926K in churned MRR.

Because of the higher revenue value associated with Enterprise subscriptions, potential retention monitoring could focus on:

  • High-value Enterprise accounts
  • Support-related churn cases
  • Declining customer engagement
  • Upgrade/downgrade activity
  • Customer health signals

16.5 Investigate Churn Beyond Aggregate Usage

Aggregate usage intensity does not show a substantial difference between churned and non-churned customers. Future analysis should therefore focus on customer-level behavioral changes such as:

  • Feature adoption
  • Usage frequency
  • Usage trend before churn
  • Error patterns
  • Customer engagement changes
  • Support interactions

This can provide a more granular view of potential churn signals.

16.6 Use Churn Reason Analysis to Guide Product and Support Priorities

Churn reasons are distributed across several categories. RavenStack can use churn-reason data to:

  • Identify recurring product gaps
  • Review support-related churn
  • Understand budget and pricing concerns
  • Monitor competitor-related losses
  • Investigate cases with unknown churn reasons
  • Connect customer feedback with product and customer-success decisions

16.7 Track Growth and Retention Together

Strong customer acquisition should be evaluated alongside customer retention. A management dashboard should therefore monitor:

  • New Subscriptions
  • New MRR
  • Churn Rate
  • Churned MRR
  • Customer Base
  • Revenue by Plan

This helps evaluate whether growth is accompanied by sustainable retention.

16.8 Build a Customer Health Monitoring Framework

A future customer-health framework could combine multiple signals:

  • Subscription value
  • Product usage
  • Feature adoption
  • Support activity
  • Satisfaction
  • Upgrade/downgrade behavior
  • Recent engagement changes

Such a framework could help identify customers requiring proactive attention before churn occurs.

17. Power BI Dashboard

The project includes an interactive Power BI dashboard for management-friendly reporting. The dashboard is designed around the most important business metrics rather than displaying every analytical result.

Dashboard Areas

Executive Overview

Key KPIs include:

  • Total Accounts
  • Total Subscriptions
  • Total MRR
  • Churn Rate
  • Subscription Growth
  • Revenue Growth
  • MRR by Plan

Customer & Churn

Key visuals include:

  • Churn Rate by Plan
  • Churn Rate by Country
  • Churn Reasons
  • Churned MRR by Plan
  • Churn Trend

Product & Support

Key visuals include:

  • Feature Usage
  • Usage vs Errors
  • Support Ticket Distribution
  • Resolution Time
  • Satisfaction
  • Support Performance

The dashboard is stored in: dashboard/RavenStack_Dashboard.pbix

18. Tools & Technologies

Programming & Analysis

  • Python
  • Pandas
  • NumPy
  • Matplotlib

Database & SQL

  • SQLite
  • SQL

Business Intelligence

  • Microsoft Power BI
  • DAX

Development Environment

  • Jupyter Notebook
  • VS Code

Version Control

  • Git
  • GitHub

19. Analytical Approach

The project follows a business-oriented analytical framework:

Business Question
       ↓
Data Identification
       ↓
Data Validation
       ↓
SQL / Python Analysis
       ↓
Result
       ↓
Visualization where useful
       ↓
Business Insight
       ↓
Business Recommendation

This approach ensures that the analysis is driven by business questions rather than only by exploratory charts.

20. Key Skills Demonstrated

This project demonstrates practical experience in:

  • Data cleaning
  • Exploratory data analysis
  • SQL querying
  • Relational database design
  • Data validation
  • Missing-value handling
  • Duplicate analysis
  • Data integration
  • Business KPI development
  • Revenue analysis
  • Churn analysis
  • Customer segmentation
  • Product usage analysis
  • Support analytics
  • Cross-domain analysis
  • DAX measures
  • Power BI dashboard development
  • Business insight generation
  • Business recommendations

21. Final Conclusion

The analysis shows a SaaS business experiencing strong growth while simultaneously facing measurable customer churn and recurring-revenue exposure.

The major business themes identified are:

  • Strong subscription and revenue growth
  • Enterprise revenue concentration
  • Geographic concentration in the US
  • Measurable recurring-revenue impact from churn
  • Different churn drivers across customer segments
  • Variation in churn rates across countries
  • Relatively stable aggregate product usage
  • Relatively stable support performance

The analysis also demonstrates that individual metrics do not always provide a complete business picture.

For example:

  • Subscription volume does not directly determine revenue contribution.
  • Churn rate does not fully describe financial impact.
  • Aggregate usage does not clearly distinguish churned and non-churned customers.
  • Ticket priority does not show large differences in support outcomes.

Combining customer, subscription, revenue, churn, product usage, and support data provides a broader view of SaaS business performance.

The project demonstrates how data analytics can move from:

Raw Data
   ↓
Clean Data
   ↓
SQL & Python Analysis
   ↓
Business Insights
   ↓
Power BI Dashboard
   ↓
Actionable Recommendations

and ultimately support more informed, data-driven business decisions.

About

End-to-end SaaS analytics project using Python, SQL, SQLite, and Power BI to analyze customer behavior, subscriptions, revenue, churn, product usage, and support performance.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages