Snowball Analysis

Quick Start Guide for 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_idmonthrevenue
alice2024-01100
alice2024-02100
alice2024-03150
bob2024-0150
bob2024-0250
carol2024-02200
carol2024-03200
dave2024-0175
dave2024-0375
eve2024-03100

Step-by-Step Setup

  1. Open Jetti and select your data sheet
  2. Column mapping:
    • Customer ID → customer_id
    • Date/Period → month
    • Value → revenue
  3. Settings:
    • Report type: Snowball
    • Interval: 1 month
    • Level: Topline only
  4. Generate Report

Expected Output

2024-012024-022024-03
Starting0225350
New225200100
Return0075
Growth0050
Reduction000
Lost07550
Ending225350525

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_idmonthrevenueproduct
alice2024-01100Pro
alice2024-02100Pro
alice2024-0250Enterprise
bob2024-01200Enterprise
bob2024-02200Enterprise
carol2024-0275Pro

Setup Changes

  1. Same setup as before, plus:
    • Segment → product
    • Level: By segment

Expected Output

Pro Segment:

2024-012024-02
Starting0100
New100125
Ending100225

Enterprise Segment:

2024-012024-02
Starting0200
New20050
Ending200250

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_idmonthrevenue
alice2024-01500
alice2024-02600
bob2024-0150
carol2024-0150
carol2024-0250
dave2024-02100

Revenue Snowball (Value Type: Sum)

2024-012024-02
Starting0600
New600100
Growth0100
Lost050
Ending600750

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-012024-02
Starting03
New31
Growth00
Lost01
Ending33

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

PeriodDave's RevenuePreviousCategoryAmount
2024-01750NEW75
2024-02075LOST75
2024-03750RETURN75

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)