Define Growth Metrics
Turn a metric name into a reproducible measurement contract. Keep targets tied to a baseline, source, owner, and decision context.
Inputs
Require:
- product and business model;
- user or account entity;
- candidate value event;
- available event and billing data;
- current baseline or an explicit unknown;
- decision owner and review cadence.
Workflow
- State the decision the metric should inform.
- Define the entity and eligible population.
- Define numerator and denominator in plain language.
- Define observation window, cohort maturity, time zone, and exclusions.
- Name the value event and explain why it represents delivered value.
- Record source tables or events and query version.
- Record baseline with date and source, or set it to
null.
- Propose a target only with provenance, rationale, and human owner.
- Add at least one counter-metric for quality, risk, or cost.
- Separate activation, retention, revenue, and satisfaction rather than merging them into one score.
- For an introduction-enabled first-user loop, use the recipe below instead of treating an invite or signup as value.
Introduction-loop metric recipe
Use this only after the first-five direct-seeding batch has a reviewable value
observation. Keep each event separate:
qualified introduction: an eligible reuser identifies a recipient with the same stated problem; it is not a sent message.
referred user's first value: the introduced user reaches the same defined value event.
referred user's reuse: that introduced user repeats the value event inside the stated window.
activation-based loop coefficient: referred users reaching first value / eligible reusers observed in the same cohort.
Record the cohort, maturity window, source event, owner, and counter-metric for
each. The coefficient, introduction rate, and reuse rate have baseline=null
and target=null until observed data and a human owner exist.
Boundaries
- Let the model propose metric candidates and diagnostic questions.
- Use deterministic checks for required fields, denominator, cohort maturity, target provenance, and references.
- Require a person to approve the value event, target, and trade-off.
- Do not use an industry benchmark as a default target.
- Do not calculate immature cohorts as failures.
- Do not treat shipping or signup as demonstrated value without a stated rationale.
- Do not set a universal referral or viral-coefficient target. A target remains null until a baseline and owner exist.
Outputs
Create:
metrics.jsonl
growth-loop-map.md
measurement-plan.md
introduction-loop-metric-recipe.md
- optional query stubs that are clearly marked unverified until executed
For an introduction or referral objective after direct seeding, additionally
create introduction-loop-metric-recipe.md. It names the four events above,
the formula, cohort, observation window, baseline state, owner, and
counter-metric; it is a routing handoff, not an approval to contact anyone.
Read references/output-contract.md before writing them.
Add every new record to metrics.jsonl with the append-record command, never
by writing or editing the file:
python3 scripts/stg.py append-record <artifact-directory>/metrics.jsonl '<json-object>'
It takes an exclusive lock and hash-chains each line to the one before it, so a
later reader can tell whether history was rewritten. In a packaged runtime the
same command is signal-to-growth append-record.
Stop conditions
Stop when the value event is undefined, the denominator cannot be reconstructed, the requested target has no source, or the available data cannot answer the question.
Verification
Run:
python3 scripts/stg.py validate-artifacts artifacts/
Report query generation, local query execution, warehouse execution, and reviewed metric output as separate verification states.
1---2name: define-growth-metrics3description: Define SaaS growth metrics as explicit contracts with population, numerator, denominator, window, value event, baseline, target provenance, and counter-metrics. Use when designing activation, retention, revenue, PMF, 성장 지표, KPI, or cohort measurement. Do not use for running queries against production data, setting universal benchmark targets, or deciding what to build.4---56# Define Growth Metrics78Turn a metric name into a reproducible measurement contract. Keep targets tied to a baseline, source, owner, and decision context.910## Inputs1112Require:1314- product and business model;15- user or account entity;16- candidate value event;17- available event and billing data;18- current baseline or an explicit unknown;19- decision owner and review cadence.2021## Workflow22231. State the decision the metric should inform.242. Define the entity and eligible population.253. Define numerator and denominator in plain language.264. Define observation window, cohort maturity, time zone, and exclusions.275. Name the value event and explain why it represents delivered value.286. Record source tables or events and query version.297. Record baseline with date and source, or set it to `null`.308. Propose a target only with provenance, rationale, and human owner.319. Add at least one counter-metric for quality, risk, or cost.3210. Separate activation, retention, revenue, and satisfaction rather than merging them into one score.3311. For an introduction-enabled first-user loop, use the recipe below instead of treating an invite or signup as value.3435## Introduction-loop metric recipe3637Use this only after the first-five direct-seeding batch has a reviewable value38observation. Keep each event separate:3940- `qualified introduction`: an eligible reuser identifies a recipient with the same stated problem; it is not a sent message.41- `referred user's first value`: the introduced user reaches the same defined value event.42- `referred user's reuse`: that introduced user repeats the value event inside the stated window.43- `activation-based loop coefficient`: `referred users reaching first value / eligible reusers observed in the same cohort`.4445Record the cohort, maturity window, source event, owner, and counter-metric for46each. The coefficient, introduction rate, and reuse rate have `baseline=null`47and `target=null` until observed data and a human owner exist.4849## Boundaries5051- Let the model propose metric candidates and diagnostic questions.52- Use deterministic checks for required fields, denominator, cohort maturity, target provenance, and references.53- Require a person to approve the value event, target, and trade-off.54- Do not use an industry benchmark as a default target.55- Do not calculate immature cohorts as failures.56- Do not treat shipping or signup as demonstrated value without a stated rationale.57- Do not set a universal referral or viral-coefficient target. A target remains null until a baseline and owner exist.5859## Outputs6061Create:6263- `metrics.jsonl`64- `growth-loop-map.md`65- `measurement-plan.md`66- `introduction-loop-metric-recipe.md`67- optional query stubs that are clearly marked unverified until executed6869For an introduction or referral objective after direct seeding, additionally70create `introduction-loop-metric-recipe.md`. It names the four events above,71the formula, cohort, observation window, baseline state, owner, and72counter-metric; it is a routing handoff, not an approval to contact anyone.7374Read [references/output-contract.md](references/output-contract.md) before writing them.7576Add every new record to `metrics.jsonl` with the `append-record` command, never77by writing or editing the file:7879```bash80python3 scripts/stg.py append-record <artifact-directory>/metrics.jsonl '<json-object>'81```8283It takes an exclusive lock and hash-chains each line to the one before it, so a84later reader can tell whether history was rewritten. In a packaged runtime the85same command is `signal-to-growth append-record`.8687## Stop conditions8889Stop when the value event is undefined, the denominator cannot be reconstructed, the requested target has no source, or the available data cannot answer the question.9091## Verification9293Run:9495```bash96python3 scripts/stg.py validate-artifacts artifacts/97```9899Report query generation, local query execution, warehouse execution, and reviewed metric output as separate verification states.