← Back to all products

Funnel Analyzer

$29

Analyze conversion funnels with step-by-step rates, drop-off points, cohort comparison, and time-to-convert metrics.

📁 10 files
JSONMarkdownPython

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 10 files

funnel-analyzer/ ├── LICENSE ├── README.md ├── examples/ │ └── sample_funnel.json ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_quick-start.md │ ├── 03_output-example.md │ └── 04_license.md ├── index.html └── src/ └── funnel_analyzer.py

📖 Documentation Preview README excerpt

Funnel Analyzer

Analyze conversion funnels: step-by-step conversion rates, drop-off points, cohort comparison, and time-to-convert metrics. Find where users bail and fix your flow.

Features

  • Step-by-step analysis — Conversion rate between each funnel step
  • Drop-off detection — Exact numbers and percentages of users lost at each step
  • Overall conversion — End-to-end funnel conversion rate
  • Time-to-convert — Average time from funnel entry to each step
  • Cohort comparison — Compare funnel performance across user segments
  • Visual bar report — ASCII bar chart showing funnel shape
  • JSON/CSV input — Works with any event data format
  • JSON output — Machine-readable results for dashboards

Requirements

  • Python 3.10+
  • No external dependencies (stdlib only)

Quick Start


# Analyze a funnel
python src/funnel_analyzer.py --events examples/sample_funnel.json \
    --steps "page_view,signup,activate,purchase"

# Compare cohorts
python src/funnel_analyzer.py --events examples/sample_funnel.json \
    --steps "page_view,signup,purchase" --cohort source

# Export results
python src/funnel_analyzer.py --events data.json \
    --steps "visit,signup,activate" --output results.json

Event Data Format

Events should be a JSON array of objects:


[
    {"event_name": "page_view", "user_id": "u1", "timestamp": "2026-01-01T10:00:00Z"},
    {"event_name": "signup",    "user_id": "u1", "timestamp": "2026-01-01T10:05:00Z"},
    {"event_name": "activate",  "user_id": "u1", "timestamp": "2026-01-01T10:30:00Z"}
]

Output Example


============================================================
  FUNNEL: Conversion Funnel
============================================================
  Entered: 150  |  Converted: 23
  Overall conversion: 15.3%
============================================================

  Step 1: page_view
    [########################################]    150 (100.0%)

*... continues with setup instructions, usage examples, and more.*

📄 Code Sample .py preview

src/funnel_analyzer.py #!/usr/bin/env python3 """ Funnel Analyzer — Analytics Hub (DataNest) Analyzes conversion funnels: step-by-step conversion rates, drop-off points, cohort comparison, and time-to-convert metrics. Feed it event data and discover where users bail. Usage: python funnel_analyzer.py --events events.json --steps "visit,signup,activate,purchase" python funnel_analyzer.py --config funnel_config.json --output report.json Dependencies: Python 3.10+ stdlib only (no pip packages) License: MIT """ from __future__ import annotations import argparse import csv import json import logging import sys from collections import defaultdict from dataclasses import asdict, dataclass, field from datetime import datetime, timezone from pathlib import Path from typing import Any # --------------------------------------------------------------------------- # Constants # --------------------------------------------------------------------------- logger = logging.getLogger("funnel_analyzer") # --------------------------------------------------------------------------- # Data models # --------------------------------------------------------------------------- @dataclass class FunnelStep: """A single step in a conversion funnel.""" name: str count: int = 0 conversion_rate: float = 0.0 # Rate from previous step (0-100) overall_rate: float = 0.0 # Rate from first step (0-100) drop_off: int = 0 # Users who didn't continue to next step drop_off_rate: float = 0.0 avg_time_to_step: float = 0.0 # Average seconds from funnel entry # ... 353 more lines ...
Buy Now — $29 Back to Products