Use when diagnosing where a SaaS or product funnel leaks — visitor → signup → activation → paid → retained — channel-agnostic, conversion-rate-driven.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add event4u-app/agent-config --skill funnel-analysis --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Funnel Analysis?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/event4u-app-funnel-analysis-agent-config)More formats (shields.io, HTML) on the badges page.
---
model_tier: high
name: funnel-analysis
description: "Use when diagnosing where a SaaS or product funnel leaks — visitor → signup → activation → paid → retained — channel-agnostic, conversion-rate-driven."
status: active
tier: senior
domain: product
context_spine: [product, customer-segment, funnel-stage]
workspaces:
- product
packs:
- product-basic
trust:
level: professional
install:
removable: true
---
# funnel-analysis
## When to use
- Conversion to paid dropped and nobody knows which step broke.
- A new signup channel went live and you need to compare its funnel shape to the baseline.
- A board ask: "where does the money leak between landing page and paying customer?"
Do NOT use for ranking features, valuation, or OKR decomposition (see Related Skills). Funnel analysis is a **diagnostic**, not a roadmap.
## Cognition cluster
- **Mental model 16 — Leading vs. lagging indicators.** Paid is
lagging; activation is leading; signup is upstream of both. A
funnel decision built on the lagging stage can only confirm the
miss; the leading stage names the binding fix. See
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 16.
- **Mental model 13 — Occam's razor.** When a stage drops, the
simpler explanation usually wins: *"acquisition mix shifted"*
beats *"users no longer understand the product."* Pick the simpler
cause; it changes the move. See `mental-models.md` § 13.
- **Mental model 3 — Pareto (80/20).** Drops are almost never
uniform across segments; ~20 % of the segment × stage cells carry
~80 % of the loss. Segment before treating the average as
actionable. See `mental-models.md` § 3.
- **Context-spine — product + customer-segment + funnel-stage.**
Read the **product** slot for what activation can actually mean
in-product (the activation event must be shippable), the
**customer-segment** slot for which segments' switch-events the
funnel is built for, and the **funnel-stage** slot for the
position of each stage relative to the buying journey. See
[`context-spine`](../../../docs/contracts/context-spine.md).
## Procedure
### Step 0: Inspect
1. Confirm the cognition cluster: this is **conversion diagnosis**, channel-agnostic. Paid social, organic, partner, and self-serve all share the same shape; only the inputs differ.
2. Confirm event tracking exists for all 5 stages. If even one stage is inferred, the analysis is unreliable — flag and proceed under that caveat.
### Step 1: Lock the 5 stages
1. The canonical SaaS funnel: **Visitor → Signup → Activation → Paid → Retained-D30**.
2. Activation is the load-bearing definition. Pick the **single event** that historically correlates with paid conversion — not "logged in", not "viewed dashboard". For most SaaS this is "completed first meaningful action" (sent first invoice, ran first query, invited first teammate).
3. Retained-D30 = still active 30 days after first paid charge. Earlier than D30 is noise; later requires more data.
### Step 2: Pull stage-to-stage conversion
1. Compute conversion rate at each step: `stage_n / stage_n-1`. Always use cohorts (signup-week or signup-month), never aggregate snapshots — aggregates lie when traffic mix changes.
2. For each rate, attach a 95% confidence interval. Tiny denominators give big bands; the band is half the story.
3. Plot a 12-week trend per rate. A single point is gossip; a trend is evidence.
### Step 3: Benchmark vs internal baseline
1. The right benchmark is **your own funnel one quarter ago**, not industry averages. Industry averages mix verticals so coarsely they're useless for action.
2. For each stage: is current rate within ±2 percentage points of trailing-quarter median? If not, that stage is the primary suspect.
3. If multiple stages move off-band simultaneously, the cause is upstream (acquisition mix change, broken instrumentation), not the stage itself.
### Step 4: Segment the broken stage
1. Take the suspect stage and segment by: channel · device · plan · geo · cohort week.
2. The drop is almost always concentrated in one segment, not uniform. Uniform drops point to instrumentation.
3. Anti-pattern: averaging across segments and treating the average as actionable. The average user does not exist.
### Step 5: Hypothesise causes
1. For the broken segment-stage, write 3 candidate causes. Rank by testability, not plausibility.
2. The cheapest experiment to falsify the top candidate is the next step — usually a UX change, a copy test, or an onboarding tweak.
3. If no cause is testable in under 2 weeks, the analysis is not yet sharp enough.
### Step 6: Validate
1. Recompute the broken rate after the experiment ships. Same cohort definition. Same window.
2. If the rate moves but the downstream rates don't follow, you fixed a vanity step. Keep going.
## Gotcha
- "Activation" defined as a low-friction event (signup confirmation, first login) gives you a flatter funnel that is useless for prediction. Activation must correlate with paid.
- Aggregate funnel rates that look stable can hide a 30-point drop in one channel masked by a 30-point lift in another. Always segment.
- D7 retention looks great compared to D30. Pick the metric that matches the contract length, not the one that flatters.
- Holiday weeks, deploys, marketing pushes, and refund days distort cohorts. Annotate the timeline; don't pretend a 5pp drop is real on a known holiday.
## Do NOT
- Do NOT use industry-average benchmarks as a target. They mix B2B with B2C, freemium with high-touch — the average is meaningless.
- Do NOT compare a 1-week cohort to a 12-week trailing median; sample size is too small to draw conclusions.
- Do NOT diagnose retention on a funnel without separating new-user retention from re-engaged-user retention.
## Related Skills
**WHEN to use this**
- Where in the funnel did conversion drop?
- Compare the funnel shape between two channels.
**WHEN NOT to use this**
- Pricing tier or unit-economics question — route to [`unit-economics-modeling`](../unit-economics-modeling/SKILL.md).
- Roadmap ranking from funnel findings — route to [`rice-prioritization`](../rice-prioritization/SKILL.md).
- Setting team OKRs around the diagnosed metric — route to [`okr-tree-modeling`](../okr-tree-modeling/SKILL.md).
- Valuing the business that owns the funnel — route to [`dcf-modeling`](../dcf-modeling/SKILL.md).
## When the agent should load this
- "Where is our funnel leaking?"
- "Why did paid conversion drop last month?"
- "Compare the funnel for paid social vs organic."
- "Diagnose this dropoff between signup and activation."
- "Is this drop real or instrumentation?"
## Output
1. **`funnel-table.md`** — 5-stage funnel with cohort rates, 95% CI, and 12-week trend (sparkline or compact ASCII). One row per cohort week or month.
2. **`segment-breakdown.md`** — table of the broken stage segmented by channel · device · plan · geo. Rates with CIs. Suspect segments highlighted.
3. **`hypothesis-list.md`** — top 3 causes for the broken segment-stage with cheapest-falsification experiment per cause and an explicit prediction for the next measurement.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!