Use when defining product KPIs, building metric dashboards, running cohort or retention analysis, or interpreting feature adoption trends across product stages.
Define, track, and interpret product metrics across discovery, growth, and mature product stages.
Use this skill for:
See:
references/metrics-frameworks.mdreferences/dashboard-templates.md| Anti-pattern | Fix | |---|---| | Vanity metrics — tracking pageviews or total signups without activation context | Always pair acquisition metrics with activation rate and retention | | Single-point retention — reporting "30-day retention is 20%" | Compare retention curves across cohorts, not isolated snapshots | | Dashboard overload — 30+ metrics on one screen | Executive layer: 5-7 metrics. Feature layer: per-feature only | | No decision rule — tracking a KPI with no threshold or action plan | Every KPI needs: target, threshold, owner, and "if below X, then Y" | | Averaging across segments — reporting blended metrics that hide segment differences | Always segment by cohort, plan tier, channel, or geography | | Ignoring seasonality — comparing this week to last week without adjusting | Use period-over-period with same-period-last-year context |
scripts/metrics_calculator.pyCLI utility for retention, cohort, and funnel analysis from CSV data. Supports text and JSON output.
# Retention analysis
python3 scripts/metrics_calculator.py retention events.csv
python3 scripts/metrics_calculator.py retention events.csv --format json
# Cohort matrix
python3 scripts/metrics_calculator.py cohort events.csv --cohort-grain month
python3 scripts/metrics_calculator.py cohort events.csv --cohort-grain week --format json
# Funnel conversion
python3 scripts/metrics_calculator.py funnel funnel.csv --stages visit,signup,activate,pay
python3 scripts/metrics_calculator.py funnel funnel.csv --stages visit,signup,activate,pay --format json
CSV format for retention/cohort:
user_id,cohort_date,activity_date
u001,2026-01-01,2026-01-01
u001,2026-01-01,2026-01-03
u002,2026-01-02,2026-01-02
CSV format for funnel:
user_id,stage
u001,visit
u001,signup
u001,activate
u002,visit
u002,signup
product-team/experiment-designer — for A/B test planning after identifying metric opportunitiesproduct-team/product-manager-toolkit — for RICE prioritization of metric-driven featuresproduct-team/product-discovery — for assumption mapping when metrics reveal unknownsfinance/saas-metrics-coach — for SaaS-specific metrics (ARR, MRR, churn, LTV)Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/product-analytics · pinned to the source commit
# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/product-analytics" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/product-analytics" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/product-analytics
Scanner static-checks@0.1.0 · commit 19392f7a0826. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.