跳到主要内容
知仓学习社ZHICANG

cohort-curve-model

Fit a retention curve to observed cohort data and project LTV — computed, not estimated. Use when someone has real cohort retention numbers (month 0…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

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"

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 cohort-curve-model 的技能。它们内容并不相同,别混用: