---
name: funnel-decomposition
description: "Use when handed the step counts of a conversion funnel — visits → signups → activated → paid, or any ordered drop-off sequence — and asked where the funnel leaks or where to focus. Reports each step's conditional rate AND the absolute users lost there, because the worst-rate step is rarely where the most people are lost; pins down the attribution window before reading the drops; and refuses to multiply step rates measured on different populations. Do NOT use for judging whether one A/B funnel beats another, forecasting future conversion, or writing the SQL that builds the funnel."
metadata:
  decimalai-skill-id: "195d852d-8f62-4989-9376-c8cbc546c892"
  decimalai-version-id: "9f9a610d-0af1-4f69-ad0d-35fa9a3dd487"
  decimalai-version: "1"
  decimalai-body-sha256: "ebf8a73993011fad391f981b05227e909a23d7e7c5e5c457da597345280d946a"
  decimalai-name: "funnel-decomposition"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "data"
  decimalai-source: "https://app.decimal.ai/s/funnel-decomposition@1/SKILL.md"
---
# Decompose a funnel by rate AND absolute loss, not rate alone

Shown a funnel — 100,000 visitors → 40,000 signups → 36,000 activated → 2,000 paid — the base
model computes conversion rates, spots the step with the lowest rate, and declares that the leak:
"paid conversion is only 5.6%, fix the paywall." The percentage is real, but it answers the wrong
question. A step's *rate* tells you how leaky the pipe is; it does not tell you how much water is
on the floor. Those two rankings routinely disagree, and the decision — where to spend effort —
depends on the second one, which the base model skips.

A funnel is an accounting structure before it is a story. Size every step two ways and reconcile
them before naming a fix.

## When to activate

- "Here are our funnel counts by step — where are we losing people / where should we focus?"
- A drop-off report: visits → signup → activation → subscribe → renew, or any ordered stage counts.
- "Our conversion from X to Y is only Z% — is that where the problem is?"
- Someone quotes an end-to-end conversion number and you need to know how it was built.
- Any "biggest drop-off," "leakiest step," "where do users fall out" question over stage counts.

Not this skill: comparing two variants' funnels for significance, forecasting next quarter's
conversion, or writing the query that computes the stages.

## The four moves

### 1. Size every step twice: conditional rate AND absolute users lost

For each step report both, side by side:

- **Step-conditional rate** — completers ÷ entrants *to that step*. How leaky this pipe is.
- **Absolute loss** — entrants − completers, in users. How many people this step costs you.

Then rank the steps by each. The two rankings usually differ, and **the biggest relative drop is
rarely the biggest absolute loss**:

> 100,000 → 40,000 → 36,000 → 2,000.
> Conditional rates: 40%, 90%, **5.6%**. The paid step has the worst rate by far.
> Absolute loss: **60,000**, 4,000, 34,000. The *first* step loses the most people.
> Chasing only the 5.6% leaves 60,000 users unaddressed at the top. Chasing only the 60,000
> ignores that 34,000 warm, activated users die at the paywall. You need both rankings to decide;
> neither alone is the answer.

Never hand back only percentages. A rate with no count hides where the users actually are.

### 2. Say whether a rate is step-conditional or cumulative

"Conversion to paid is 2%" is ambiguous. It can mean paid ÷ *previous step* (conditional) or paid
÷ *top of funnel* (cumulative). They are different numbers and imply different fixes. State which
you are quoting every time, and don't compare a conditional rate at one step to a cumulative rate
at another.

### 3. Fix the attribution window before you read the drops

Funnel counts are only meaningful once you know *what counts as reaching the next step*. The
decisive question is the window: **same-session or cross-session?**

- A **same-session** funnel counts a user as dropped the moment they leave, even if they come back
  the next day and convert. It systematically overstates the drop and understates conversion.
- A **cross-session** funnel credits the later return, but needs a stable identity across sessions
  and devices (a login, a stitched ID) — without it, the returning user is counted as a brand-new
  top-of-funnel entrant, double-counting the top and hiding the real completion.

Many "huge drop-off" steps are windowing artifacts, not real abandonment: users who research on
mobile and buy on desktop, or who leave to compare and return signed out. Before attributing a
drop to the product, state the window and ask whether returns and cross-device journeys are
captured. If the window is unknown, that is the first thing to resolve, not the funnel.

### 4. Never multiply step rates measured on different populations

The end-to-end rate is *not* the product of per-step rates unless every rate was measured on the
**same cohort walking the funnel in sequence**. If step A's rate came from last month's traffic and
step B's from this week's, or from different segments, or over different date ranges, multiplying
them (0.40 × 0.90 × 0.056) produces a number that corresponds to no real group of users. It is a
composed fiction.

The trustworthy end-to-end rate is measured directly: users who reached the *final* step ÷ users
who entered the *first* step, for one defined cohort over one window. Compute it that way. Only when
you have confirmed a single sequential cohort may you decompose it multiplicatively — and then the
product will reconcile to the directly-measured number, which is the check that you did it right.

## The output

For a funnel question, return: each step's entrants, completers, conditional rate, and absolute
loss; the two rankings (by rate, by users lost) with the disagreement called out; the attribution
window you assumed and what would change if it's wrong; and a directly-measured end-to-end rate, not
a product of step rates. Name the fix that moves the most *users*, not the one at the worst *rate* —
unless they happen to be the same step, in which case say so.
