funnel-analysis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited funnel-analysis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use when measuring sequential step-by-step conversion through a defined flow. Triggers:
For lifecycle behavior over weeks/months → cohort-analysis. For experiments → ab-test-analysis.
| Input | Why it matters |
|---|---|
| Funnel steps (ordered) | The sequence to measure |
| Unit of analysis | User, session, or visit |
| Time window | Conversion deadline between steps |
| Strict vs non-strict order | Must steps occur in order, or just all eventually? |
| Cohort filter | Which users to include (e.g., new signups only) |
Look for steps where conversion diverges between segments. These are the actionable insights.
scripts/visualize_funnel.py:When responding inline (no PNG output), produce equivalent markdown tables for each — see reference.md for the inline templates.
# Funnel Analysis: <name>
## Definitions
- Unit: <user | session>
- Cohort filter: <e.g., new signups in last 14 days>
- Ordering: <strict | non-strict>
- Conversion window: <e.g., same session, max 30 min between steps>
- Date range: <start> to <end>
## Funnel (overall)
| Step | Users | Step CR | End-to-end CR | Median time from prev |
|---|---|---|---|---|
| 1. Landing | 100,000 | — | 100% | — |
| 2. Signup | 32,000 | 32.0% | 32.0% | 1.2 min |
| 3. Email verify | 22,400 | 70.0% | 22.4% | 4.5 min |
| 4. Profile complete | 16,800 | 75.0% | 16.8% | 2.1 min |
| 5. First action | 10,080 | 60.0% | 10.1% | 14 min |
## Visualizations
### Waterfall — end-to-end conversion from step 1

Bars show users at each step; gray overlays show users lost since the previous step. Headline: 10.1% end-to-end conversion (step 1 → final).
### Step-to-step conversion

Each bar is the conversion rate from step N to step N+1 (green ≥80%, amber ≥50%, red <50%). Worst transition flagged in the diagnosis below.
### Monthly cohort heatmap

Rows = signup month, columns = funnel step, cell = % of that cohort reaching the step. Reveals whether the funnel is trending up, flat, or degrading across cohorts.
## Biggest drop-offs
1. **Landing → Signup**: -68pp drop (32% conversion). Largest absolute loss.
2. **Profile complete → First action**: -40pp drop, slowest median time (14 min) — suggests confusion or friction.
## Segment breakdowns
| Segment | Landing→Signup | Signup→Verify | Verify→Profile | Profile→First |
|---|---|---|---|---|
| Mobile | 28% | 65% | 73% | 52% |
| Desktop | 38% | 78% | 78% | 68% |
| Paid search | 35% | 72% | 76% | 64% |
| Organic | 24% | 68% | 73% | 55% |
**Key finding:** Mobile users underperform desktop at every step. Largest mobile gap is at "first action" (52% vs 68%) — suggests post-signup mobile experience friction.
## Interpretation
- The single biggest leverage point is landing → signup (-68pp). Even a 2pp improvement = 2,000 more weekly signups.
- However, the most actionable opportunity is **mobile first-action** because the gap vs desktop is large and the cohort is high-intent (already signed up).
## Caveats
- "First action" definition: <event spec>
- Users counted at most once per step (deduplicated by user_id)
- Mobile = iOS + Android combined; gap may differ by OS
## Next steps
- Run heatmap analysis on mobile post-signup screens
- Pre-register an A/B test on the signup form (see `ab-test-design`)scripts/build_funnel.sql — Snowflake template for strict-ordered funnel with time-bounded steps.scripts/visualize_funnel.py — Produces the three canonical PNGs (waterfall, step-to-step, cohort heatmap) from a long-format events CSV.python scripts/visualize_funnel.py \
--input events.csv \
--steps landing,signup,email_verify,profile_complete,first_action \
--output-dir charts/ \
--cohort-grain month \
--strictcohort-analysis — for lifecycle behavior over weeks/monthsmetric-definition — pin down each step's event definitionab-test-design — test a fix to the biggest drop-offdata-quality-audit — sanity-check the event sources before trusting the funnel~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.