Skip to main content
Product Management/funnel-analysis

Funnel Analysis

You need to diagnose conversion funnel drop-offs and prioritize fixes.

A client needs to diagnose where prospects or users are dropping out of a conversion funnel, compare performance against benchmarks, and prioritize optimization efforts by expected impact.


How it works

  1. You provide the client name, funnel stages with volume data, benchmarks, and context
  2. The skill maps the funnel with conversion rates at each stage, diagnoses drop-off patterns, compares against benchmarks, and identifies friction points
  3. It returns a funnel diagnostic with optimization recommendations ranked by expected impact and a test backlog Kate can present to the client

Prompt

You are building a conversion funnel analysis for a Kate Makrigiannis consulting engagement. Kate uses this to help clients see where they are losing prospects, quantify the cost of each drop-off, and focus optimization on the highest-leverage stages. Before writing, read knowledge/voice-tone-guide.md -- use the client-facing voice.

Inputs I will provide:

  • Client: {{CLIENT}} (company name, product, business model)
  • Funnel stages: {{FUNNEL_STAGES}} (ordered list of stages with volume at each stage -- e.g., "Visitors: 50,000 → Signups: 2,500 → Activated: 800 → Paid: 200 → Retained 90d: 120")
  • Time period: {{TIME_PERIOD}} (the window these numbers cover -- e.g., "Q4 2025" or "last 30 days")
  • Benchmarks (optional): {{BENCHMARKS}} (industry benchmarks, historical data, or competitor estimates for comparison)
  • Context (optional): {{CONTEXT}} (known friction points, recent changes, business goals, team capacity for experiments)

Step 1: Map the funnel

Build a complete stage-by-stage funnel table. If the client provides raw volume, compute all conversion rates yourself. Show the math.

Funnel Map

StageVolumeStage Conversion RateCumulative ConversionDrop-off Volume
[Stage 1]X--100% (top of funnel)--
[Stage 2]XX% (= Stage 2 / Stage 1 x 100)X%X lost
[Stage 3]XX%X%X lost
[Stage 4]XX%X%X lost
[Stage 5]XX%X%X lost

Show the math for every conversion rate. For example: "Signup → Activated: 800 / 2,500 = 32.0%"

Funnel Visualization

[Stage 1]  ████████████████████████████████████████  X (100%)
[Stage 2]  ██████████████████                        X (X%)
[Stage 3]  ████████                                  X (X%)
[Stage 4]  ████                                      X (X%)
[Stage 5]  ███                                       X (X%)

Step 2: Benchmark comparison

Compare each stage conversion rate against benchmarks. If the client provided benchmarks, use those. If not, use industry medians from the client's business model (SaaS, e-commerce, marketplace, etc.) and flag: [ASSUMPTION: using {{industry}} median benchmarks -- validate with client's historical data or published research]

Benchmark Comparison

Stage TransitionClient RateBenchmarkGapVerdict
[Stage 1 → 2]X%X%+/-X pts[Above / At / Below / Critical]
[Stage 2 → 3]X%X%+/-X pts[Above / At / Below / Critical]
[Stage 3 → 4]X%X%+/-X pts[Above / At / Below / Critical]
[Stage 4 → 5]X%X%+/-X pts[Above / At / Below / Critical]

Verdict criteria:

  • Above: Client rate exceeds benchmark by 20%+. Low optimization priority.
  • At: Within 20% of benchmark. Maintain, minor improvements possible.
  • Below: More than 20% below benchmark. Active optimization opportunity.
  • Critical: More than 50% below benchmark or absolute rate below viability threshold (e.g., <1% visitor-to-signup in SaaS). Urgent fix needed.

Step 3: Drop-off diagnosis

For each stage transition rated Below or Critical, diagnose likely friction causes:

Drop-off Diagnosis

For each underperforming transition:

[Stage X] → [Stage Y]: X% conversion (benchmark: X%)

  • Volume lost: X prospects per {{TIME_PERIOD}}
  • Revenue impact: If these lost prospects converted at benchmark rate, the client would gain approximately X additional customers, worth ~$X in revenue. Show the math: "(Benchmark rate - Current rate) x Stage X volume x revenue per customer = $X"
  • Likely friction points:
    1. [Friction cause with explanation -- e.g., "Registration requires 6 form fields. Industry best practice for SaaS trial signup is 3-4 fields."]
    2. [Friction cause]
    3. [Friction cause]
  • Evidence strength: [Data-backed / Hypothesis based on patterns / Needs investigation]

Step 4: Optimization recommendations

Rank recommendations by expected impact. For each recommendation, estimate the conversion lift and downstream revenue impact.

Optimization Recommendations

PriorityRecommendationTarget StageExpected LiftRevenue ImpactEffortConfidence
1[Specific action][Stage X → Y]+X pts (X% → X%)~$X/{{TIME_PERIOD}}[Low / Med / High][High / Medium / Low]
2[Specific action][Stage X → Y]+X pts~$X/{{TIME_PERIOD}}[Low / Med / High][High / Medium / Low]
3[Specific action][Stage X → Y]+X pts~$X/{{TIME_PERIOD}}[Low / Med / High][High / Medium / Low]

Show the revenue impact math: "If Stage 3 → 4 conversion improves from 25% to 30%, that produces X additional customers x $X average revenue = $X/{{TIME_PERIOD}}"

Prioritization logic:

  • Priority 1: Highest revenue impact per effort. Usually the stage with the largest absolute drop-off and a clear, low-effort fix.
  • Priority 2-3: Strong revenue impact but may require more effort or have lower confidence.
  • Lower priority: Stages already at or above benchmark, or fixes that require significant engineering or design investment with uncertain payoff.

Step 4b: Statistical validation of conversion differences

Before prioritizing optimizations, validate whether observed conversion differences are statistically meaningful:

Statistical Confidence on Funnel Metrics

Stage transitionConversion rateVolume95% CIIs the gap vs. benchmark significant?
[Stage X → Y]X%X[lower%, upper%](Yes -- CI doesn't overlap benchmark / No -- could be noise)

Confidence interval formula for a conversion rate: CI = p +/- 1.96 x sqrt(p x (1-p) / n), where p = conversion rate and n = sample size.

Example: 32% conversion on 2,500 users = 32% +/- 1.96 x sqrt(0.32 x 0.68 / 2500) = [30.2%, 33.8%]. If the benchmark is 35%, this gap is real.

When comparing segments or time periods: Use a Z-test for two proportions to determine whether a conversion rate difference is statistically significant before attributing it to a cause. A stage showing 31% this month vs. 33% last month on 1,000 users per period is likely noise (p > 0.05). The same difference on 50,000 users per period is likely real.

Multi-path funnel consideration: If users can skip stages or take alternate routes (e.g., direct signup bypassing the landing page), note the alternate paths and their volume. A "drop-off" at Stage 2 may actually be users entering at Stage 3 through a different channel. Account for this before diagnosing friction.

Related skills: For choosing the right statistical test for your data type, use /statistical-test-selector. For deeper experiment design on recommended tests, use /experiment-design.

Step 5: Test backlog

Convert the top recommendations into testable experiments.

Test Backlog

For each top-priority recommendation:

Test #HypothesisMetricCurrent BaselineTargetTest DesignDurationTraffic Needed
1"If we [change], then [stage] conversion will improve by X pts because [reason]"[Stage conversion rate]X%X%[A/B test / Before-after / Cohort comparison][X weeks][X visitors/users needed for statistical significance]
2"If we [change]..."..................

Sample size note: For A/B tests, estimate minimum sample per variant using: n = 16 x p x (1 - p) / (MDE)^2, where p = current conversion rate and MDE = minimum detectable effect (the lift you want to detect). Show the calculation.

Step 6: Compound impact model

Show what happens if the top 3 optimizations all succeed:

Compound Impact Projection

StageCurrent VolumeProjected VolumeChange
[Stage 1]XX-- (top of funnel, unchanged)
[Stage 2]XX+X
[Stage 3]XX+X
[Stage 4]XX+X
[Stage 5]XX+X

Bottom-line impact: "If these three optimizations achieve their expected lift, the client moves from X to X customers per {{TIME_PERIOD}}, an increase of X% and approximately $X in additional revenue."

Kate's Talking Points

  • The headline finding: which stage is the biggest leak and what it is costing
  • The quick win: the lowest-effort, highest-impact recommendation
  • The strategic question: whether the client should optimize the existing funnel or rethink the funnel structure entirely (e.g., skip a stage, change the entry point)

For defining the North Star Metric this funnel should drive, use /north-star-metric. For post-campaign funnel analysis, use /campaign-post-mortem. For building the dashboard to track these metrics ongoing, use /analytics-dashboard-design.


Example Output

Input

  • Client: Northpath HR — B2B SaaS platform that automates employee onboarding workflows; sells annual contracts averaging $14,400 ARR; primary growth motion is product-led with a free trial
  • Funnel stages: Landing Page Visitors: 18,400 → Trial Signups: 1,290 → Activated (completed first workflow): 387 → Converted to Paid: 89 → Retained 90d: 61
  • Time period: Q1 2025
  • Benchmarks: B2B SaaS PLG medians — Visitor-to-Trial: 8%, Trial-to-Activated: 45%, Activated-to-Paid: 30%, Paid-to-Retained 90d: 80%
  • Context: Marketing ran a LinkedIn Ads push in January that drove a volume spike; signup form was recently shortened from 7 fields to 4; product team suspects activation drop-off is tied to a complex workflow builder that requires 3 configuration steps before users see any value; no in-app onboarding tooltips currently exist

Output (abbreviated)

Funnel Analysis: Northpath HR

Engagement: Kate Makrigiannis Consulting | Period: Q1 2025


Step 1: Funnel Map

Conversion rate calculations:

  • Visitor → Trial Signup: 1,290 / 18,400 = 7.0%
  • Trial Signup → Activated: 387 / 1,290 = 30.0%
  • Activated → Paid: 89 / 387 = 23.0%
  • Paid → Retained 90d: 61 / 89 = 68.5%
StageVolumeStage Conv. RateCumulative Conv.Drop-off Volume
Landing Page Visitors18,400--100%--
Trial Signups1,2907.0%7.0%17,110 lost
Activated38730.0%2.1%903 lost
Converted to Paid8923.0%0.48%298 lost
Retained 90d6168.5%0.33%28 lost

Funnel Visualization

Landing Page Visitors  ████████████████████████████████████████  18,400 (100%)
Trial Signups          ███                                         1,290 (7.0%)
Activated              █▍                                            387 (2.1%)
Converted to Paid      ▍                                              89 (0.5%)
Retained 90d           ▎                                              61 (0.3%)

Step 2: Benchmark Comparison

Stage TransitionClient RateBenchmarkGapVerdict
Visitor → Trial Signup7.0%8.0%−1.0 ptBelow
Trial → Activated30.0%45.0%−15.0 ptsCritical
Activated → Paid23.0%30.0%−7.0 ptsBelow
Paid → Retained 90d68.5%80.0%−11.5 ptsCritical

Step 3: Drop-off Diagnosis

Trial Signup → Activated: 30.0% conversion (benchmark: 45%)

  • Volume lost: 903 users per Q1 who signed up but never completed a workflow
  • Revenue impact: (45% − 30%) × 1,290 signups × 23% Activated-to-Paid rate × $14,400 ARR = ~$641,000 in ARR left on the table this quarter
    • Math: 0.15 × 1,290 = 194 additional activations → 194 × 23% = 45 additional paid customers → 45 × $14,400 = $648,000
  • Likely friction points:
    1. 3-step configuration requirement before first value moment. Users must define org structure, set permissions, and map fields before launching a single workflow. Best-practice PLG onboarding delivers a "wow moment" within one action.
    2. No in-app guidance. With zero onboarding tooltips, trial users face a blank canvas. B2B tools with complex builders that lack inline guidance show 40–50% lower activation vs. guided equivalents.
    3. LinkedIn Ads traffic mismatch. January's paid campaign likely attracted top-of-funnel awareness audiences less ready to configure software on first visit — inflating signup volume without proportional activation intent.
  • Evidence strength: Hypothesis based on patterns (friction points 1–2); Data-backed for LinkedIn volume spike (point 3 — validate with UTM-segmented activation rates)

Paid → Retained 90d: 68.5% conversion (benchmark: 80%)

  • Volume lost: 28 customers churned within 90 days of converting — at $14,400 ARR, that is $403,000 in annualized revenue at risk
  • Revenue impact: Closing the gap to 80% retention saves approximately 10 additional customers per quarter → 10 × $14,400 = $144,000 ARR protected per quarter
  • Likely friction points:
    1. Activation debt carries forward. Customers who converted without deeply understanding the workflow builder are likely churning when they hit the same configuration wall post-sale.
    2. No structured customer onboarding program noted. PLG companies at this stage often lack a CS handoff motion for converted accounts, leaving new customers to self-serve through the same unclear UX.
  • Evidence strength: Hypothesis — cross-reference churn timing data to confirm if churned customers completed <3 workflows before canceling.

Step 4: Optimization Recommendations

PriorityRecommendationTarget StageExpected LiftRevenue ImpactEffortConfidence
1Build a single-action "quick start" template that lets users launch a pre-built onboarding workflow in one click, bypassing full configurationTrial → Activated+12 pts (30% → 42%)~$518K ARR/QMedHigh
2Add 5-step in-app tooltip sequence triggered at trial signup, guiding users to first workflow completionTrial → Activated+5 pts (42% → 47%)~$216K ARR/QMedMedium
3Implement a 14-day post-conversion email + in-app check-in sequence tied to workflow usage milestonesPaid → Retained 90d+8 pts (68.5% → 76.5%)~$115K ARR/QLowMedium

Revenue impact math for Priority 1: If Trial → Activated improves from 30% to 42%: 1,290 × 12% = 155 additional activations → 155 × 23% Activated-to-Paid = 36 additional customers → 36 × $14,400 = $518,400 ARR per quarter


Step 4b: Statistical Confidence on Funnel Metrics

CI formula: p ± 1.96 × √(p × (1−p) / n)

Stage TransitionConv. RateVolume (n)95% CIGap vs. Benchmark Significant?
Visitor → Trial7.0%18,400[6.6%, 7.4%]Yes — CI doesn't overlap 8% benchmark
Trial → Activated30.0%1,290[27.5%, 32.5%]Yes — CI doesn't overlap 45% benchmark
Activated → Paid23.0%387[18.8%, 27.2%]Yes — CI doesn't overlap 30% benchmark
Paid → Retained 90d68.5%89[58.8%, 78.2%]No — CI overlaps 80% benchmark; treat as directional until n grows