Agent Skillsmohitagw15856/pm-claude-skills › cohort-curve-model

cohort-curve-model

GitHub

基于观测到的用户留存数据,使用幂律曲线拟合模型计算精确的LTV、生命周期时长及长期留存率。提供参数解读、24-36期预测及可编辑Excel文件,拒绝低质量拟合。

exports/openclaw/cohort-curve-model/SKILL.md mohitagw15856/pm-claude-skills

Trigger Scenarios

需要基于真实留存数据计算LTV 分析留存曲线是否趋于平缓或流失严重 请求长期留存率或生命周期预测

Install

npx skills add mohitagw15856/pm-claude-skills --skill cohort-curve-model -g -y
More Options

Non-standard path

npx skills add https://github.com/mohitagw15856/pm-claude-skills/tree/main/exports/openclaw/cohort-curve-model -g -y

Use without installing

npx skills use mohitagw15856/pm-claude-skills@cohort-curve-model

指定 Agent (Claude Code)

npx skills add mohitagw15856/pm-claude-skills --skill cohort-curve-model -a claude-code -g -y

安装 repo 全部 skill

npx skills add mohitagw15856/pm-claude-skills --all -g -y

预览 repo 内 skill

npx skills add mohitagw15856/pm-claude-skills --list

SKILL.md

Frontmatter
{
    "name": "cohort-curve-model",
    "homepage": "https:\/\/mohitagw15856.github.io\/pm-claude-skills\/skill\/cohort-curve-model.html",
    "metadata": {
        "openclaw": {
            "emoji": "🧮"
        }
    },
    "description": "Fit a retention curve to observed cohort data and project LTV — computed, not estimated. Use when someone has real cohort retention numbers (month 0, 1, 2…) and asks what lifetime value, lifetime periods, or long-run retention they imply, or whether retention is flattening or leaking. Produces a fitted power curve (parameters, R², retention floor), a 24-36 period projection, and a real .xlsx with live formulas where editing ARPU recalculates LTV — via the bundled zero-dependency script."
}

Cohort Curve Model

Retention data has a shape, and the shape is the business. This skill fits the standard consumer-retention power curve r(t) = a·t^(−b) to observed cohort data by log-log least squares — actual arithmetic run by the bundled script, not model vibes — then projects it forward and prices it.

Required Inputs

  • Observed retention by period — from period 0 (100%) through at least period 3-4. Percent or fraction, either works. More periods = a trustworthy fit; 4 is the floor.
  • ARPU per period (optional) — revenue per retained user per period. Without it, LTV is reported in lifetime-period multiples instead of currency.
  • Projection horizon (optional, default 24 periods).

If the requester has cohort tables (rows of cohorts × months), take the average by period-age or fit the most recent complete cohort — say which you did.

Output Format

  1. The fit — a (scale), b (decay), R² of the log-log fit, and the observed tail floor. Interpret b plainly: b < 0.5 = strong flattening, a habit is forming; 0.5–1 = normal decay; b > 1 = leaky bucket, the curve never accumulates a base.
  2. The projection — observed vs fitted by period, marked where observation ends and projection begins.
  3. The money — lifetime periods (Σ fitted retention over the horizon) and LTV = ARPU × lifetime periods.
  4. The caveat that matters most — if R² < 0.9, say the power family fits poorly and the projection should be distrusted beyond the observed tail.

Programmatic Helper

This skill ships scripts/cohort_model.pyzero dependencies (stdlib zip+XML). The math and the workbook both come from the script; run it rather than computing by hand:

python3 scripts/cohort_model.py fit cohorts.xlsx --observed '[100,62,48,41,37,34,32]' --arpu 40 --horizon 24

It prints the fit (a=0.619 b=0.371 R²=1.000 lifetime≈7.7 periods LTV≈308) and writes an .xlsx with a Model sheet (parameters + an editable ARPU cell wired to LTV by a live formula) and a Curve sheet (observed vs fitted vs projected). Requires a code-execution environment.

Quality Checks

  • Period 0 is normalised to 100% and the input had at least 4 periods — otherwise the fit was refused, not fudged
  • R² is reported next to the projection, and a fit below 0.9 carries an explicit "distrust beyond the tail" warning
  • The b-parameter is interpreted in words (flattening / normal / leaky), not left as a naked number
  • LTV states its horizon — "LTV over 24 periods", never an unbounded number
  • The xlsx was actually generated by the script and the ARPU cell recalculates LTV

Anti-Patterns

  • Do not fit fewer than 4 periods — two points always fit a power law and mean nothing
  • Do not project a poor fit silently — a beautiful curve through bad residuals is how LTV fictions get funded
  • Do not quote LTV without the horizon — "lifetime" hides the assumption that matters
  • Do not average incomplete cohorts into the input (young cohorts drag the tail down mechanically — survivorship in reverse)
  • Do not present the fitted floor as a promise — it is an extrapolation, and the honest phrasing is "if the current shape holds"

Version History

  • 54fad50 Current 2026-07-19 12:13

Same Skill Collection

exports/openclaw/360-feedback-template/SKILL.md
exports/openclaw/401k-plan-decoder/SKILL.md
exports/openclaw/ab-test-planner/SKILL.md
exports/openclaw/ab-test-readout/SKILL.md
exports/openclaw/accessibility-audit/SKILL.md
exports/openclaw/account-plan/SKILL.md
exports/openclaw/acquirer-red-team/SKILL.md
exports/openclaw/ad-copy/SKILL.md
exports/openclaw/aeo-optimizer/SKILL.md
exports/openclaw/agenda-or-cancel/SKILL.md
exports/openclaw/agent-design-review/SKILL.md
exports/openclaw/agent-hiring-panel/SKILL.md
exports/openclaw/agent-observability-spec/SKILL.md
exports/openclaw/agent-severance/SKILL.md
exports/openclaw/agent-spec/SKILL.md
exports/openclaw/agm-in-a-box/SKILL.md
exports/openclaw/ai-ethics-review/SKILL.md
exports/openclaw/ai-eval-plan/SKILL.md
exports/openclaw/ai-feature-prd/SKILL.md
exports/openclaw/ai-product-canvas/SKILL.md
exports/openclaw/air-quality/SKILL.md
exports/openclaw/altitude-shifter/SKILL.md
exports/openclaw/ambiguity-resolver/SKILL.md
exports/openclaw/analyst-relations-brief/SKILL.md
exports/openclaw/announcement-card/SKILL.md
exports/openclaw/api-docs-writer/SKILL.md
exports/openclaw/api-test-plan/SKILL.md
exports/openclaw/api-versioning-strategy/SKILL.md
exports/openclaw/apology-letter/SKILL.md
exports/openclaw/architecture-decision-record/SKILL.md
exports/openclaw/architecture-diagram/SKILL.md
exports/openclaw/archive-strategy/SKILL.md
exports/openclaw/assumption-bounty/SKILL.md
exports/openclaw/assumption-mapper/SKILL.md
exports/openclaw/async-update-format/SKILL.md
exports/openclaw/auto-repair-estimate-decoder/SKILL.md
exports/openclaw/autopilot-charter/SKILL.md
exports/openclaw/behavior-intervention-plan/SKILL.md
exports/openclaw/benefits-decoder/SKILL.md
exports/openclaw/bennett-time-audit/SKILL.md
exports/openclaw/bid-tender-review/SKILL.md
exports/openclaw/board-deck-narrative/SKILL.md
exports/openclaw/board-game-designer/SKILL.md
exports/openclaw/board-minutes/SKILL.md
exports/openclaw/board-pre-read/SKILL.md
exports/openclaw/bom-cost-review/SKILL.md
exports/openclaw/bookkeeping-categorization/SKILL.md
exports/openclaw/boolean-search-builder/SKILL.md
exports/openclaw/brag-doc/SKILL.md
exports/openclaw/brainstorming/SKILL.md

Metadata

Files
0
Version
e4def4c
Hash
cf5c27ee
Indexed
2026-07-19 12:13

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-31 00:49
浙ICP备14020137号-1 $방문자$