learn-metric-decomposition-with-phoebe / Builder session 2 of 10
Learn Metric Decomposition with Phoebe · Builder track · Session 2 of 10

The three patterns

Every driver tree you will ever build is one of three shapes, or a nesting of them. A metric is a product of rates and volumes, a sum of parts, or a bridge that carries a balance forward through gross adds and gross losses. Name the shape and you already know how a drop will behave - what passes through, what dilutes, what to watch. Today you build all three live and learn to read a fall off each one.

🟢 Builder track Analysts · PMs · founders · ops Live tree simulator + SQL 45 min
0-3 · Recap 3-20 · The three patterns 20-42 · Build all three live 42-45 · Q&A
Part 0

Recap, and where this fits

In b1 you built one tree - GMV = Traffic x Conversion x AOV - and broke it in the simulator until naming the guilty driver was a reflex. That tree was multiplicative: a product of drivers. But not every metric multiplies. Revenue split by region is a sum. Active users this month is a balance carried from last month, a bridge. This session gives you the full vocabulary so that the moment a metric lands on your desk, you already know which shape it is and how its drop will read.

Live - presented in session Self-study - read after class ▶ Live tree - editable & runnable Framework sources covered
★ What you walk out with today Three ready-to-use tree shapes and the one diagnostic rule for each: in a product, percentages pass straight through; in a sum, watch each part's weight; in a bridge, watch the flows - gross adds against gross losses - not just the net.
Part 1 · covers the DuPont / multiplicative pattern

Pattern one: multiplicative - rate x volume 6 min live

A multiplicative tree is a product of drivers, usually a volume times one or more rates times a value. Revenue = Users x ARPU. GMV = Traffic x Conversion x AOV. Its signature property - the one that makes it the friendliest tree to diagnose - is clean pass-through: a percentage change in any single driver moves the top line by that same percentage. Users down 10% with ARPU flat, revenue down 10%. Nothing gets absorbed.

Multiplicative ( x ) product of rate and volume Revenue Users ARPU Additive ( + ) sum of parts Revenue N. Am. EMEA APAC Bridge ( flow ) start + adds - losses End users + New Start - Churn Same tree, three combine rules. Name the rule and you know how a drop will read.
🔍 Click to zoom - the three shapes every driver tree is built from
LiveWhy the product tree is the easiest to diagnose3 min

In a pure product, percentage moves are additive down the guilty path. Users down 8% and ARPU down 2%, revenue down about 10% - you literally sum the percentages. That is why a multiplicative tree lets you read the fall off the branches instead of rebuilding a spreadsheet: find the driver that moved, note its percent, and you have most of the explanation.

  • Volume x rate x value is the classic ecommerce form: Traffic x Conversion x AOV.
  • Users x ARPU is the classic subscription form - two drivers, same rule.
  • Diagnose in percent, never absolutes. A "10-point" move means nothing until you know 10 points of what.
The pass-through rule A percentage change in one driver of a product tree flows to the top line as the same percentage. Sum the percent changes along the moved path and you have explained the drop.
{
  "unit": "$",
  "root": {
    "label": "Revenue", "op": "x",
    "children": [
      { "label": "Users", "value": 42000, "unit": "users" },
      { "label": "ARPU",  "value": 5, "unit": "$" }
    ]
  }
}
Part 2 · covers the additive / sum-of-parts pattern

Pattern two: additive - sum of parts 5 min live

An additive tree is a sum of segments: total revenue = North America + EMEA + APAC. Regions, product lines, cohorts, channels - anything that partitions the whole. A drop here does not pass through evenly; it is usually one part falling while the others hold. To read it you need each part's weight (its share of the total), because a big swing in a tiny segment barely moves the top line, and a small swing in a dominant one moves it a lot.

LiveReading an additive drop: which part, and how heavy3 min

In a sum, the top-line change equals the absolute change of the part that moved - percentages do not pass through cleanly because each part carries a different weight. If EMEA is 28% of revenue and it falls 20%, the top line falls about 20% x 28% = 5.6%. So the additive diagnosis is a two-step read: which part moved, and what share of the whole is it.

Additive trees: weight decides how much a part's drop matters EMEA share of revenue 28% EMEA revenue fall -20% Top-line impact -5.6% EMEA is 28% of revenue; a 20% EMEA fall drags the top line down only 5.6% - weight matters.
🔍 Click to zoom - a big swing in a small part barely moves the whole
  • Contribution = the part's share of the total. Sort your segments by contribution before you panic about any one of them.
  • A drop is usually concentrated. One region, one SKU, one cohort - additive trees fail in a corner, not everywhere at once.
  • The move down the tree is to re-decompose the guilty part: EMEA fell, so split EMEA into its own drivers.
Real world

The "it's just one region" save. A SaaS company saw total revenue dip and braced for a company-wide problem. The additive tree showed EMEA alone fell while North America and APAC held - a single currency swing in one market, not a product failure. Ten minutes of reading the sum saved a week of the wrong fire drill.

{
  "unit": "$",
  "root": {
    "label": "Total revenue", "op": "+",
    "children": [
      { "label": "North America", "value": 120000, "unit": "$" },
      { "label": "EMEA",          "value": 62000,  "unit": "$" },
      { "label": "APAC",          "value": 38000,  "unit": "$" }
    ]
  }
}
Part 3 · covers the bridge / flow pattern

Pattern three: the bridge - start + adds - losses 5 min live

Some metrics are stocks: they carry a balance forward. Active users, ARR, headcount - this month's number is last month's plus what came in minus what left. A bridge tree makes the flows explicit: Ending = Start + New + Resurrected - Churned. The whole point is that you watch gross adds against gross losses, not just the net. A flat active-user count can hide a business bleeding both ways fast - big adds papering over big churn.

LiveWhy a bridge is a different animal3 min

A product or sum is a snapshot - it describes this period from scratch. A bridge is a flow statement: it explains how you got from the last balance to this one. That changes the diagnosis. When ending active users dips, the question is never just "how much" - it is "did adds fall or did losses grow?" Those two have opposite owners and opposite fixes: growth versus retention.

  • Stock vs flow: if the metric carries over month to month, it is a bridge. If it resets each period, it is a product or a sum.
  • Losses carry a minus. In the simulator, churn is a leaf with "sign": -1 - growing losses pull the ending balance down.
  • Net can lie. +8,000 new and -6,000 churned nets to +2,000, but a churn spike is the story, not the calm net.
The bridge question When a stock metric moves, always ask "adds or losses?" before "how much?". The net number hides which side of the flow broke - and which team owns it.
{
  "unit": "users",
  "root": {
    "label": "Ending active users", "op": "bridge",
    "children": [
      { "label": "Start",       "value": 50000, "unit": "users" },
      { "label": "New",         "value": 8000,  "unit": "users" },
      { "label": "Resurrected", "value": 1500,  "unit": "users" },
      { "label": "Churned",     "value": 6000,  "unit": "users", "sign": -1 }
    ]
  }
}
Demo 1 of 2

Build all three, break all three ★ 12 min · everyone builds

Three live trees, one per pattern. For each: press Simulate a drop, follow the coral trail, then say out loud which pattern this is and which driver moved. The muscle you are building is instant classification - shape first, culprit second - because the shape tells you how to read the fall before you even look at the number.

{
  "unit": "$",
  "root": {
    "label": "GMV", "op": "x",
    "children": [
      { "label": "Traffic",    "value": 90000, "unit": "visits" },
      { "label": "Conversion", "value": 0.03,  "pct": true },
      { "label": "AOV",        "value": 55,    "unit": "$" }
    ]
  }
}
{
  "unit": "signups",
  "root": {
    "label": "Total signups", "op": "+",
    "children": [
      { "label": "Organic",  "value": 4200, "unit": "signups" },
      { "label": "Paid",     "value": 2800, "unit": "signups" },
      { "label": "Referral", "value": 1500, "unit": "signups" }
    ]
  }
}
{
  "unit": "$",
  "root": {
    "label": "Ending ARR", "op": "bridge",
    "children": [
      { "label": "Start",     "value": 1200000, "unit": "$" },
      { "label": "New",       "value": 240000,  "unit": "$" },
      { "label": "Expansion", "value": 90000,   "unit": "$" },
      { "label": "Churn",     "value": 150000,  "unit": "$", "sign": -1 }
    ]
  }
}

Tree one is multiplicative. Simulate a drop, sum the percent on the coral leaf, and that is roughly the GMV fall. Pass-through.

Tree two is additive. Simulate a drop and note the delta chip - the top line fell by that channel's absolute change, weighted by its share.

Tree three is a bridge. Simulate a drop and ask "adds or losses?". If Churn grows, ending ARR falls even with New unchanged.

For each, say the full diagnosis: "this is a [pattern] tree; [driver] moved [X%]; the top line moved because [rule]." Reset and repeat.

Demo 2 of 2

Your turn: shape your own metrics ★ 10 min · everyone builds

Now you drive. The two trees below are yours to edit - swap in a metric you actually own. Then answer the third question in prose. The goal is to leave able to look at any metric on your dashboard and instantly say "that is a product / a sum / a bridge."

LiveQ1 · Write a multiplicative tree for a metric you pick3 min

Here is a sales-style product tree: Monthly revenue = Leads x Close rate x Deal size. Edit the leaves to match a metric you own - or keep these and knock one down to confirm the pass-through.

{
  "unit": "$",
  "root": {
    "label": "Monthly revenue", "op": "x",
    "children": [
      { "label": "Leads",      "value": 800,  "unit": "leads" },
      { "label": "Close rate", "value": 0.22, "pct": true },
      { "label": "Deal size",  "value": 1200, "unit": "$" }
    ]
  }
}
LiveQ2 · Write an additive segment tree3 min

Here is a product-line sum: Total revenue = Product A + Product B + Product C. Edit the parts to your segments. Then simulate a drop and note which part carries the most weight.

Total revenue as a sum: three products, three weights Total revenue $204,000 Product A $95,000 46.6% of total Product B $68,000 33.3% of total Product C $41,000 20.1% of total Total revenue is a sum: $95,000 + $68,000 + $41,000 = $204,000 - each part carries its own weight.
🔍 Click to zoom - a sum tree: three parts, three different weights on the total
{
  "unit": "$",
  "root": {
    "label": "Total revenue", "op": "+",
    "children": [
      { "label": "Product A", "value": 95000, "unit": "$" },
      { "label": "Product B", "value": 68000, "unit": "$" },
      { "label": "Product C", "value": 41000, "unit": "$" }
    ]
  }
}
Self-studyQ3 · When is a metric a bridge vs a fresh product?2 min write

Write two or three sentences answering: for one of your own metrics, is it a stock (carries a balance forward month to month - a bridge) or a flow that resets each period (a fresh product or sum)? The test: if you deleted last month's number, could you still compute this month's from scratch? If yes, it is a product or sum. If you need last month's balance as a starting point, it is a bridge.

The tell "Active users", "ARR", "headcount", "cash balance" carry over - bridges. "This month's GMV", "signups this week", "orders today" reset - products or sums. Same business, both kinds live on the dashboard.
Homework

Try it yourself - this week ◐ 20-30 min total

Framework sources

Frameworks this session draws on

The three patterns are not one person's invention - they are the working core distilled from a handful of durable frameworks, applied here live instead of described. This page draws on:

DuPont analysis - the original multiplicative decompositionPart 1 · margin x turnover x leverage, the product-tree ancestor
Lean Analytics (Croll & Yoskovitz) - the one metric that matters, and its partsParts 1-2 · products and sums per business model
Amplitude North Star Playbook - inputs and the movement equationPart 3 · flows into a stock; full leading-indicator treatment in b3
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · ARR this month = last month's ARR + new + expansion - churn. Which pattern is that?

ARR is a stock: this month's value starts from last month's and moves by gross adds minus gross losses. That is the bridge pattern - watch the flows, not just the net.

2 · In a multiplicative tree, one driver falls 10% and nothing else changes. The top line...

Clean pass-through is the signature of a product tree. A percentage change in a single driver flows to the top line as the same percentage - sum the percent moves down the guilty path.

3 · Total revenue is a sum of three regions. EMEA is 15% of the total and falls 20%. The top line falls about...

In an additive tree a part's contribution is its share of the total. A 20% fall in a 15% segment moves the whole by about 20% x 15% = 3%. Weight is everything in a sum.

Builder session 2 cheat sheet · pin this

Three patternsEvery tree is a product ( x ), a sum ( + ), a bridge (flow), or a nesting of them. Name the shape first.
MultiplicativeVolume x rate x value. A % change in one driver passes straight through - sum the percents down the guilty path.
AdditiveSum of segments. A drop is usually one part; contribution = each part's share. Weight decides the top-line move.
BridgeStart + adds - losses, for stocks that carry over. Watch flows: did adds fall or losses grow? Not just the net.
Stock vs flow testCan you compute this month from scratch? Product or sum. Need last month's balance? Bridge.
Diagnose in percentProducts pass % through. Sums move by weighted absolute change. Bridges move by which flow broke.
Losses carry a minusIn a bridge, churn is a leaf with sign -1. Growing losses pull the ending balance down even with adds flat.
Running skillClassify any metric by shape on sight. Next: b3, leading indicators and the diagnosis playbook.