Skip to content
cccskills
FreePublished on GitHub

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, 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.

The English summary is being prepared. Showing the original description.

Works withExcel

Run score Not tested

See how to install

Files included (2)

  • SKILL.md3.9 KB
  • scripts/cohort_model.py8.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.py — zero 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"

Example Trigger Phrases

  • "Here's our cohort retention: what's the LTV?"
  • "Fit a retention curve to these cohorts."
  • "How long do customers stay, based on this data?"
  • "Is our retention improving across cohorts?"

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

Decode a 401k or workplace retirement plan — the real cost of its funds, the match's fine print, vesting math, and the plan features worth using or avoiding. Use when someone asks 'is my 401k any good', 'decode my 401k plan', 'which funds should I look at', or 'what fees am I paying'. Produces a fee decode in dollars-over-time, match and vesting math, a fund-lineup triage by cost, and the questions for HR or the plan administrator.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

Design statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

Analyse a finished A/B test and write the readout — the result, whether it's statistically and practically significant, what it means, and the ship/no-ship call. Use when asked to analyse experiment results, write an A/B test readout, interpret test data, or decide whether to ship a variant. Produces a clear verdict with the lift and confidence, segment cuts, the risks (peeking, novelty, sample), and a recommendation. Distinct from planning a test — this reads results.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

Build or tailor an academic CV for faculty, postdoc, research or fellowship applications: publications, grants, teaching, supervision and service in the order the field expects, with consistent citations. Use when asked to write my academic CV, update my CV for a lectureship, tenure-track or postdoc application, format my publications list, or adapt my academic CV for an industry research role. Produces the full academic CV, a field-appropriate section order, a clean publications list in one citation style, and a two-page summary version when asked.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

Generate a WCAG 2.2 accessibility audit checklist and remediation suggestions for any UI or design. Use when asked to audit for accessibility, check WCAG compliance, review a design for a11y issues, or create an accessibility remediation plan. Produces a prioritised checklist with pass/fail assessments and specific fixes.

The English summary is being prepared. Showing the original description.

mohitagw15856/pm-claude-skills1.5KUpdated Oct 23, 2026

See all skills by mohitagw15856

Report a problem with this skill