Snowball Analysis
Snowball Analysis Workflows
Example: Monthly Revenue Waterfall
Scenario: You want to understand what's driving changes in your MRR month-over-month. Where is growth coming from? Where are you losing revenue?
Your Data
| customer_id | month | revenue |
|---|---|---|
| alice | 2024-01 | 100 |
| alice | 2024-02 | 100 |
| alice | 2024-03 | 150 |
| bob | 2024-01 | 50 |
| bob | 2024-02 | 50 |
| carol | 2024-02 | 200 |
| carol | 2024-03 | 200 |
| dave | 2024-01 | 75 |
| dave | 2024-03 | 75 |
| eve | 2024-03 | 100 |
Step-by-Step Setup
- Open Jetti and select your data sheet
- Column mapping:
- Customer ID →
customer_id - Date/Period →
month - Value →
revenue
- Customer ID →
- Settings:
- Report type: Snowball
- Interval: 1 month
- Level: Topline only
- Generate Report
Expected Output
| 2024-01 | 2024-02 | 2024-03 | |
|---|---|---|---|
| Starting | 0 | 225 | 350 |
| New | 225 | 200 | 100 |
| Return | 0 | 0 | 75 |
| Growth | 0 | 0 | 50 |
| Reduction | 0 | 0 | 0 |
| Lost | 0 | 75 | 50 |
| Ending | 225 | 350 | 525 |
Walking Through Each Period
January 2024:
- Starting: $0 (first period)
- New: $225 (Alice $100 + Bob $50 + Dave $75 - all first-time)
- Ending: $225
February 2024:
- Starting: $225 (from January)
- New: $200 (Carol - first-time customer)
- Lost: $75 (Dave had $75 in Jan, $0 in Feb)
- Ending: $225 + $200 - $75 = $350
March 2024:
- Starting: $350 (from February)
- New: $100 (Eve - first-time)
- Return: $75 (Dave was $0 in Feb, now back with $75)
- Growth: $50 (Alice went from $100 to $150)
- Lost: $50 (Bob had $50 in Feb, $0 in March)
- Ending: $350 + $100 + $75 + $50 - $50 = $525
Key Insights
- Growth is healthy: New customers ($100) + Returns ($75) + Growth ($50) = $225 added
- Churn concern: Bob churned in March - drill down to investigate
- Win-backs working: Dave returned after a month gap
Example: Segment-Level Breakdown
Scenario: You have multiple products and want to see the waterfall broken down by product line.
Your Data
| customer_id | month | revenue | product |
|---|---|---|---|
| alice | 2024-01 | 100 | Pro |
| alice | 2024-02 | 100 | Pro |
| alice | 2024-02 | 50 | Enterprise |
| bob | 2024-01 | 200 | Enterprise |
| bob | 2024-02 | 200 | Enterprise |
| carol | 2024-02 | 75 | Pro |
Setup Changes
- Same setup as before, plus:
- Segment →
product - Level: By segment
- Segment →
Expected Output
Pro Segment:
| 2024-01 | 2024-02 | |
|---|---|---|
| Starting | 0 | 100 |
| New | 100 | 125 |
| Ending | 100 | 225 |
Enterprise Segment:
| 2024-01 | 2024-02 | |
|---|---|---|
| Starting | 0 | 200 |
| New | 200 | 50 |
| Ending | 200 | 250 |
How to Interpret
- Pro grew from $100 → $225 (+125%), mostly from Carol's new subscription
- Enterprise grew from $200 → $250 (+25%), with Alice adding an Enterprise subscription
- Alice expanded cross-product (counts as New in Enterprise since it's her first Enterprise transaction)
Example: Revenue vs Customer Snowball
Scenario: You want to compare dollar churn vs logo churn to understand if you're losing many small customers or a few big ones.
Your Data
| customer_id | month | revenue |
|---|---|---|
| alice | 2024-01 | 500 |
| alice | 2024-02 | 600 |
| bob | 2024-01 | 50 |
| carol | 2024-01 | 50 |
| carol | 2024-02 | 50 |
| dave | 2024-02 | 100 |
Revenue Snowball (Value Type: Sum)
| 2024-01 | 2024-02 | |
|---|---|---|
| Starting | 0 | 600 |
| New | 600 | 100 |
| Growth | 0 | 100 |
| Lost | 0 | 50 |
| Ending | 600 | 750 |
Reading: $600 starting, +$100 from new customer Dave, +$100 growth from Alice spending more, -$50 lost from Bob churning = $750 ending.
Customer Snowball (Value Type: Count)
| 2024-01 | 2024-02 | |
|---|---|---|
| Starting | 0 | 3 |
| New | 3 | 1 |
| Growth | 0 | 0 |
| Lost | 0 | 1 |
| Ending | 3 | 3 |
Reading: 3 customers starting, +1 new (Dave), -1 lost (Bob) = 3 ending. Growth shows 0 because customer count doesn't change when spending increases.
The Insight
Comparing these two reports reveals:
- Logo churn: 1 out of 3 customers left (33% logo churn)
- Revenue churn: $50 out of $600 lost (8% revenue churn)
This tells you: You lost a small customer (Bob at $50), not a big one. Meanwhile, Alice's upsell (+$100) more than offset the loss. Your revenue is healthier than your logo count suggests.
Rule of thumb:
- Revenue churn > Logo churn = You're losing big customers (concerning)
- Revenue churn < Logo churn = You're losing small customers (less concerning, but watch the trend)
How Snowball Calculations Work
The Classification Logic
For each customer in each period, Jetti analyzes their transaction history and classifies them into a movement category:
- New - Customer has value this period but has never had value before
- Return - Customer has value this period, had no value last period, but did have value at some point in the past
- Lost - Customer had value last period but has no value this period
- Growth - Customer has value in both periods, and this period is higher
- Reduction - Customer has value in both periods, and this period is lower
- Stable - Customer has the same value in both periods (not shown as a movement)
Worked Example: Dave's Journey
| Period | Dave's Revenue | Previous | Category | Amount |
|---|---|---|---|---|
| 2024-01 | 75 | 0 | NEW | 75 |
| 2024-02 | 0 | 75 | LOST | 75 |
| 2024-03 | 75 | 0 | RETURN | 75 |
Dave is classified as RETURN (not NEW) in March because he had value before February.
The Math Check
Every period should balance:
Starting + New + Return + Growth - Reduction - Lost = Ending
If it doesn't, check:
- Period boundaries (transactions on edge dates)
- Data quality (duplicate customer IDs, missing periods)