pm-metrics — Product metrics review
Part of the Personal Corp framework — running a one-person business through AI agents.
Systematically review product metrics, identify trend changes, locate root causes, output action recommendations. Includes North Star decomposition, retention diagnostics, funnel methodology, and A/B experiment reading.
Inputs
| Field |
Required |
Notes |
| Metric data |
yes |
Excel / CSV / pasted table / verbal description |
| Cycle |
no |
Weekly / monthly / quarterly review; default weekly |
| Focus |
no |
Full review / single-metric anomaly / experiment readout |
| Business context |
no |
Releases, campaigns, incidents in the period |
Mode: full data → complete review; single-metric change → focused anomaly analysis.
Step 1 — Data integrity check
- Confirm time coverage (current vs comparison period)
- Confirm metric coverage (which North Star / L1 / L2 are present)
- Flag missing critical data
Step 2 — North Star metric system
Decomposition: North Star → L1 → L2.
L1 dimensions:
- User growth: DAU/WAU/MAU, new, returning
- User engagement: core action frequency, session length, feature reach
- User retention: D1 / D7 / D30
- Conversion efficiency: signup → activation → paid step-by-step rates
- Business value: paid rate, ARPU, LTV
- Satisfaction: NPS, complaint rate, ratings
North Star selection guide:
| Product type |
Recommended NSM |
Typical L1 |
| Social / community |
Weekly active posters |
DAU/MAU ratio, interactions per user, D7 retention |
| Tools / productivity |
Weekly users completing core task |
Task completion rate, frequency, feature reach |
| E-commerce |
Weekly transacting users |
GMV, AOV, repeat rate, conversion |
| Content / media |
Weekly content-consumption time |
Time per user, completion rate, return rate |
| SaaS / B2B |
Weekly active teams |
Team penetration, feature depth, renewal rate |
Step 3 — Growth metric analysis
Definitions:
- DAU: distinct users with valid action that day
- WAU: distinct users active ≥ 1 day in 7
- MAU: distinct users active ≥ 1 day in 30
- DAU/MAU ratio (stickiness): > 0.5 very high, 0.3-0.5 high, 0.2-0.3 medium, < 0.2 low
User segmentation:
| Type |
Definition |
Focus |
| New |
First-time user |
Channel quality, activation rate |
| Active retained |
Active in both periods |
Depth, feature reach |
| Returning |
Inactive last period, active this |
Return reason, secondary retention |
| Churned |
Active last period, inactive this |
Churn cause, win-back potential |
| Dormant |
Inactive multiple periods |
Possibly permanent loss |
Growth identity: This-period MAU = prev-period retained + new + returning − churned
Step 4 — Retention analysis
Definitions:
- D1: % of new users who return on day 2
- D7: % of new users who return on day 8
- D30: % of new users who return on day 31
Retention benchmarks:
| Product type |
D1 |
D7 |
D30 |
Note |
| Social / messaging |
> 70% |
> 50% |
> 35% |
High-frequency essential |
| Tools |
> 40% |
> 25% |
> 15% |
"Use and leave" pattern |
| Content / news |
> 35% |
> 20% |
> 10% |
Many alternatives, lower retention |
| E-commerce |
> 25% |
> 15% |
> 8% |
Low-frequency, watch repeat rate instead |
| Games |
> 40% |
> 20% |
> 10% |
High variance by genre |
| SaaS / B2B |
> 60% |
> 45% |
> 30% |
High switching cost, higher baseline |
Retention-curve diagnosis:
- Steep drop (D1 → D7 loses > 60%): activation experience broken — users didn't find value
- Slow decay (D7 → D30 keeps falling, doesn't level): no long-term hook
- L-shape (levels off after D7): healthy, core user base formed
- Bounce-back (sudden uptick on a specific day): cyclical use pattern (e.g. weekday-only)
Retention segmentation:
- By channel: organic vs paid retention gap
- By behavior: completed activation vs not
- By cohort month: compare month-over-month curves to gauge product improvement
Step 5 — Conversion funnel analysis
Funnel construction:
- Define start and end points (e.g. homepage visit → payment success)
- Split into key intermediate steps (each step = a user decision point)
- Per-step rate = arriving at next / arriving at this
Funnel framework:
| Step |
Action |
Output |
| Draw |
List steps + rates |
Full funnel view |
| Identify bottleneck |
Find lowest-rate step |
Optimization focus |
| Benchmark |
Compare history / industry / competitor |
Gap quantification |
| Segment |
By channel / device / user type |
Locate problem cohort |
| Hypothesize |
Why is the bottleneck there? |
Optimization direction |
| Experiment |
Propose A/B test |
Action plan |
Common funnels:
- Acquisition: impression → click → install/signup → activation
- Activation: signup → onboarding done → core action first-trigger
- Payment: browse → cart → order → pay success
- Sharing: trigger → share click → recipient open → recipient conversion
Step 6 — A/B experiment readout
| Dimension |
Standard |
Note |
| Statistical significance |
p < 0.05 |
p > 0.05 → inconclusive, don't decide |
| Effect size |
Lift > MDE |
Significant but tiny lift may not be worth it |
| Sample size |
Reaches pre-set N |
"Significant" without N is unreliable |
| Duration |
Covers ≥ 1-2 full weeks |
Avoid weekday/weekend bias |
| AA check |
Pre-period baselines match |
Mismatch → split assignment is broken |
Decision framework:
- Significant + large effect → ship to all
- Significant + small effect → weigh long-term value vs cost
- Not significant → don't ship; investigate (wrong hypothesis? sample? execution?)
- Metric conflict (A up, B down) → weigh, prioritize North Star
Common pitfalls:
- Reading results too early (before reaching N)
- Looking only at primary metric, not guardrails
- Multiple peeks → false positives
- Ignoring novelty effect (early data inflated)
Step 7 — OKR alignment check
| Check |
Healthy |
Anomaly signal |
| Coverage |
Every KR has ≥ 1 trackable metric |
A KR with no measurable proxy |
| Consistency |
Metric direction matches KR target |
Metric up but KR no progress |
| Pacing |
Linear pacing ≥ 50% by mid-quarter |
Severely behind schedule |
| Attribution |
Metric movement attributable to team action |
Metric improved due to industry tailwind, not team |
OKR progress table:
| OKR |
KR metric |
Target |
Current |
Progress % |
Trend |
Risk |
| {O1} |
{KR1} |
{target} |
{current} |
{X%} |
Up/flat/down |
On-track / at-risk / severe |
Step 8 — Anomaly attribution
When a metric moves anomalously, work the framework:
- Quantify: how much, starting when?
- Decompose: segment by channel / region / version / cohort to localize
- Time-align: what happened around the inflection? (release, campaign, incident, competitor move)
- Eliminate: rule out causes one by one until the most likely root remains
- Cross-check: verify the attribution via other metrics
Common causes:
| Category |
Pattern |
Verification |
| Release |
Inflection aligns with deploy time |
Compare per-version |
| Campaign |
Up during campaign, drops after |
Compare per-channel |
| Tech incident |
Sudden drop + recovery |
Check error logs and uptime |
| External |
Industry-wide change |
Compare with competitor / industry data |
| Channel mix |
One channel changed dramatically |
Per-channel decomposition |
| Seasonality |
Same as YoY |
Look at last year's same period |
Step 9 — Generate review report
# Product Metrics Review
**Period:** {date range}
**Product:** {name}
**Type:** {weekly / monthly / quarterly}
## 1. Health Overview
| Layer | Metric | Current | Previous | MoM | Target | Status |
|---|---|---|---|---|---|---|
| North Star | {} | {} | {} | {±X%} | {} | OK / warn / alert |
| L1 | {} | {} | {} | {±X%} | {} | OK / warn / alert |
**Overall judgment:** {one-sentence summary}
## 2. User Growth
- DAU: {value}, MoM {change}
- MAU: {value}, DAU/MAU = {stickiness}
- Composition: new {X}% / retained {Y}% / returning {Z}%
## 3. Retention
| Metric | Current | Previous | Benchmark | Assessment |
|---|---|---|---|---|
## 4. Funnel
| Step | Users | Rate | MoM | Bottleneck? |
|---|---|---|---|---|
**Bottleneck diagnosis:** {description}
## 5. Experiments / Feature Effects
| Experiment | Primary metric Δ | Significance | Conclusion |
|---|---|---|---|
## 6. OKR Progress
| KR | Target | Current | Progress | Risk |
|---|---|---|---|---|
## 7. Anomaly Attribution
| Anomaly | Magnitude | Start | Attribution | Confidence |
|---|---|---|---|---|
## 8. Key Insights
1. {insight 1: finding + data + meaning}
2. {insight 2}
3. {insight 3}
## 9. Action Recommendations
| Priority | Action | Linked metric | Expected impact | Owner |
|---|---|---|---|---|
Review cadence
| Type |
Frequency |
Time |
Audience |
Focus |
| Weekly |
Every Monday |
15-30 min |
PM |
NSM + anomalies + experiments |
| Monthly |
Month start |
30-60 min |
Product team |
All L1 + retention + funnel + OKR pacing |
| Quarterly |
Quarter end |
60-90 min |
Product + ops + eng |
Strategy review + OKR scoring + next-quarter plan |
Quality bar
- Metric definitions clear — every metric has a calculation note
- Data has comparisons — current always compared to previous, YoY, or target
- Attribution evidenced — no causation from correlation alone
- Recommendations actionable — owner-assignable
- Limitations tagged — call out small samples or data quality issues
Common analysis pitfalls
| Pitfall |
Symptom |
Fix |
| Simpson's paradox |
Total goes up while every segment goes down |
Always segment, never just look at totals |
| Survivorship bias |
Only retained users analyzed, churned ignored |
Compare retained vs churned behavior |
| Vanity metric |
Cumulative signups only ever grow, not decision-useful |
Use active metrics (DAU/WAU) instead |
| Time-window trap |
Comparison window happens to be an outlier |
Cross-validate across multiple windows |
| Goodhart's law |
Target becomes a metric, stops measuring well |
Set guardrails to prevent gaming |
Red lines
- No fabricated data — missing data → tag "missing", don't extrapolate
- Don't conflate correlation with causation — attribution must say "highly correlated" or "confirmed causal"
- Don't over-read small swings — small fluctuation → tag "within normal noise"
- Don't ignore negatives — flag risks even when overall is up
When input is incomplete
- Single metric only → focus on that anomaly, no full review
- No history → snapshot only, tag "no baseline, recommend establishing tracking"
- Verbal description → analyze based on description, tag "recommend exact data for verification"
- No targets → use industry benchmarks, suggest team set explicit targets
Related skills
/pm-feedback — pair quantitative anomaly with qualitative voice-of-customer
/pm-prioritize — adjust priority based on metric findings
/pm-roadmap — adjust roadmap based on OKR pacing
1---2name: pm-metrics3description: Делает ревью продуктовых метрик — тренды, аномалии, root causes и рекомендации к действиям. Включает декомпозицию North Star (L1/L2), диагностику retention-кривых, анализ воронки, разбор A/B-экспериментов, проверку соответствия OKR и фреймворк атрибуции аномалий. User-invoked only — do NOT auto-trigger. Triggers on /pm-metrics, "обзор метрик", "разбор воронки", "анализ удержания", "ретеншн", "A/B результаты", "review metrics", "DAU analysis", "retention analysis", "funnel analysis", "metric anomaly".4---5
6# pm-metrics — Product metrics review
7
8
9Part of the Personal Corp framework — running a one-person business through AI agents.
10Systematically review product metrics, identify trend changes, locate root causes, output action recommendations. Includes North Star decomposition, retention diagnostics, funnel methodology, and A/B experiment reading.
11
12## Inputs
13
14| Field | Required | Notes |
15|---|---|---|
16| Metric data | yes | Excel / CSV / pasted table / verbal description |
17| Cycle | no | Weekly / monthly / quarterly review; default weekly |
18| Focus | no | Full review / single-metric anomaly / experiment readout |
19| Business context | no | Releases, campaigns, incidents in the period |
20
21**Mode:** full data → complete review; single-metric change → focused anomaly analysis.
22
23## Step 1 — Data integrity check
24
25- Confirm time coverage (current vs comparison period)
26- Confirm metric coverage (which North Star / L1 / L2 are present)
27- Flag missing critical data
28
29## Step 2 — North Star metric system
30
31**Decomposition:** North Star → L1 → L2.
32
33**L1 dimensions:**
34- **User growth:** DAU/WAU/MAU, new, returning
35- **User engagement:** core action frequency, session length, feature reach
36- **User retention:** D1 / D7 / D30
37- **Conversion efficiency:** signup → activation → paid step-by-step rates
38- **Business value:** paid rate, ARPU, LTV
39- **Satisfaction:** NPS, complaint rate, ratings
40
41**North Star selection guide:**
42
43| Product type | Recommended NSM | Typical L1 |
44|---|---|---|
45| Social / community | Weekly active posters | DAU/MAU ratio, interactions per user, D7 retention |
46| Tools / productivity | Weekly users completing core task | Task completion rate, frequency, feature reach |
47| E-commerce | Weekly transacting users | GMV, AOV, repeat rate, conversion |
48| Content / media | Weekly content-consumption time | Time per user, completion rate, return rate |
49| SaaS / B2B | Weekly active teams | Team penetration, feature depth, renewal rate |
50
51## Step 3 — Growth metric analysis
52
53**Definitions:**
54- **DAU:** distinct users with valid action that day
55- **WAU:** distinct users active ≥ 1 day in 7
56- **MAU:** distinct users active ≥ 1 day in 30
57- **DAU/MAU ratio (stickiness):** > 0.5 very high, 0.3-0.5 high, 0.2-0.3 medium, < 0.2 low
58
59**User segmentation:**
60
61| Type | Definition | Focus |
62|---|---|---|
63| **New** | First-time user | Channel quality, activation rate |
64| **Active retained** | Active in both periods | Depth, feature reach |
65| **Returning** | Inactive last period, active this | Return reason, secondary retention |
66| **Churned** | Active last period, inactive this | Churn cause, win-back potential |
67| **Dormant** | Inactive multiple periods | Possibly permanent loss |
68
69**Growth identity:** This-period MAU = prev-period retained + new + returning − churned
70
71## Step 4 — Retention analysis
72
73**Definitions:**
74- **D1:** % of new users who return on day 2
75- **D7:** % of new users who return on day 8
76- **D30:** % of new users who return on day 31
77
78**Retention benchmarks:**
79
80| Product type | D1 | D7 | D30 | Note |
81|---|---|---|---|---|
82| Social / messaging | > 70% | > 50% | > 35% | High-frequency essential |
83| Tools | > 40% | > 25% | > 15% | "Use and leave" pattern |
84| Content / news | > 35% | > 20% | > 10% | Many alternatives, lower retention |
85| E-commerce | > 25% | > 15% | > 8% | Low-frequency, watch repeat rate instead |
86| Games | > 40% | > 20% | > 10% | High variance by genre |
87| SaaS / B2B | > 60% | > 45% | > 30% | High switching cost, higher baseline |
88
89**Retention-curve diagnosis:**
90- **Steep drop** (D1 → D7 loses > 60%): activation experience broken — users didn't find value
91- **Slow decay** (D7 → D30 keeps falling, doesn't level): no long-term hook
92- **L-shape** (levels off after D7): healthy, core user base formed
93- **Bounce-back** (sudden uptick on a specific day): cyclical use pattern (e.g. weekday-only)
94
95**Retention segmentation:**
96- By channel: organic vs paid retention gap
97- By behavior: completed activation vs not
98- By cohort month: compare month-over-month curves to gauge product improvement
99
100## Step 5 — Conversion funnel analysis
101
102**Funnel construction:**
1031. Define start and end points (e.g. homepage visit → payment success)
1042. Split into key intermediate steps (each step = a user decision point)
1053. Per-step rate = arriving at next / arriving at this
106
107**Funnel framework:**
108
109| Step | Action | Output |
110|---|---|---|
111| **Draw** | List steps + rates | Full funnel view |
112| **Identify bottleneck** | Find lowest-rate step | Optimization focus |
113| **Benchmark** | Compare history / industry / competitor | Gap quantification |
114| **Segment** | By channel / device / user type | Locate problem cohort |
115| **Hypothesize** | Why is the bottleneck there? | Optimization direction |
116| **Experiment** | Propose A/B test | Action plan |
117
118**Common funnels:**
119- **Acquisition:** impression → click → install/signup → activation
120- **Activation:** signup → onboarding done → core action first-trigger
121- **Payment:** browse → cart → order → pay success
122- **Sharing:** trigger → share click → recipient open → recipient conversion
123
124## Step 6 — A/B experiment readout
125
126| Dimension | Standard | Note |
127|---|---|---|
128| **Statistical significance** | p < 0.05 | p > 0.05 → inconclusive, don't decide |
129| **Effect size** | Lift > MDE | Significant but tiny lift may not be worth it |
130| **Sample size** | Reaches pre-set N | "Significant" without N is unreliable |
131| **Duration** | Covers ≥ 1-2 full weeks | Avoid weekday/weekend bias |
132| **AA check** | Pre-period baselines match | Mismatch → split assignment is broken |
133
134**Decision framework:**
135- Significant + large effect → ship to all
136- Significant + small effect → weigh long-term value vs cost
137- Not significant → don't ship; investigate (wrong hypothesis? sample? execution?)
138- Metric conflict (A up, B down) → weigh, prioritize North Star
139
140**Common pitfalls:**
141- Reading results too early (before reaching N)
142- Looking only at primary metric, not guardrails
143- Multiple peeks → false positives
144- Ignoring novelty effect (early data inflated)
145
146## Step 7 — OKR alignment check
147
148| Check | Healthy | Anomaly signal |
149|---|---|---|
150| **Coverage** | Every KR has ≥ 1 trackable metric | A KR with no measurable proxy |
151| **Consistency** | Metric direction matches KR target | Metric up but KR no progress |
152| **Pacing** | Linear pacing ≥ 50% by mid-quarter | Severely behind schedule |
153| **Attribution** | Metric movement attributable to team action | Metric improved due to industry tailwind, not team |
154
155**OKR progress table:**
156
157| OKR | KR metric | Target | Current | Progress % | Trend | Risk |
158|---|---|---|---|---|---|---|
159| {O1} | {KR1} | {target} | {current} | {X%} | Up/flat/down | On-track / at-risk / severe |
160
161## Step 8 — Anomaly attribution
162
163When a metric moves anomalously, work the framework:
164
1651. **Quantify:** how much, starting when?
1662. **Decompose:** segment by channel / region / version / cohort to localize
1673. **Time-align:** what happened around the inflection? (release, campaign, incident, competitor move)
1684. **Eliminate:** rule out causes one by one until the most likely root remains
1695. **Cross-check:** verify the attribution via other metrics
170
171**Common causes:**
172
173| Category | Pattern | Verification |
174|---|---|---|
175| Release | Inflection aligns with deploy time | Compare per-version |
176| Campaign | Up during campaign, drops after | Compare per-channel |
177| Tech incident | Sudden drop + recovery | Check error logs and uptime |
178| External | Industry-wide change | Compare with competitor / industry data |
179| Channel mix | One channel changed dramatically | Per-channel decomposition |
180| Seasonality | Same as YoY | Look at last year's same period |
181
182## Step 9 — Generate review report
183
184```markdown
185# Product Metrics Review
186
187**Period:** {date range}
188**Product:** {name}
189**Type:** {weekly / monthly / quarterly}
190
191## 1. Health Overview
192| Layer | Metric | Current | Previous | MoM | Target | Status |
193|---|---|---|---|---|---|---|
194| North Star | {} | {} | {} | {±X%} | {} | OK / warn / alert |
195| L1 | {} | {} | {} | {±X%} | {} | OK / warn / alert |
196
197**Overall judgment:** {one-sentence summary}
198
199## 2. User Growth
200- DAU: {value}, MoM {change}
201- MAU: {value}, DAU/MAU = {stickiness}
202- Composition: new {X}% / retained {Y}% / returning {Z}%
203
204## 3. Retention
205| Metric | Current | Previous | Benchmark | Assessment |
206|---|---|---|---|---|
207
208## 4. Funnel
209| Step | Users | Rate | MoM | Bottleneck? |
210|---|---|---|---|---|
211
212**Bottleneck diagnosis:** {description}
213
214## 5. Experiments / Feature Effects
215| Experiment | Primary metric Δ | Significance | Conclusion |
216|---|---|---|---|
217
218## 6. OKR Progress
219| KR | Target | Current | Progress | Risk |
220|---|---|---|---|---|
221
222## 7. Anomaly Attribution
223| Anomaly | Magnitude | Start | Attribution | Confidence |
224|---|---|---|---|---|
225
226## 8. Key Insights
2271. {insight 1: finding + data + meaning}
2282. {insight 2}
2293. {insight 3}
230
231## 9. Action Recommendations
232| Priority | Action | Linked metric | Expected impact | Owner |
233|---|---|---|---|---|
234```
235
236## Review cadence
237
238| Type | Frequency | Time | Audience | Focus |
239|---|---|---|---|---|
240| **Weekly** | Every Monday | 15-30 min | PM | NSM + anomalies + experiments |
241| **Monthly** | Month start | 30-60 min | Product team | All L1 + retention + funnel + OKR pacing |
242| **Quarterly** | Quarter end | 60-90 min | Product + ops + eng | Strategy review + OKR scoring + next-quarter plan |
243
244## Quality bar
245
2461. Metric definitions clear — every metric has a calculation note
2472. Data has comparisons — current always compared to previous, YoY, or target
2483. Attribution evidenced — no causation from correlation alone
2494. Recommendations actionable — owner-assignable
2505. Limitations tagged — call out small samples or data quality issues
251
252## Common analysis pitfalls
253
254| Pitfall | Symptom | Fix |
255|---|---|---|
256| **Simpson's paradox** | Total goes up while every segment goes down | Always segment, never just look at totals |
257| **Survivorship bias** | Only retained users analyzed, churned ignored | Compare retained vs churned behavior |
258| **Vanity metric** | Cumulative signups only ever grow, not decision-useful | Use active metrics (DAU/WAU) instead |
259| **Time-window trap** | Comparison window happens to be an outlier | Cross-validate across multiple windows |
260| **Goodhart's law** | Target becomes a metric, stops measuring well | Set guardrails to prevent gaming |
261
262## Red lines
263
2641. **No fabricated data** — missing data → tag "missing", don't extrapolate
2652. **Don't conflate correlation with causation** — attribution must say "highly correlated" or "confirmed causal"
2663. **Don't over-read small swings** — small fluctuation → tag "within normal noise"
2674. **Don't ignore negatives** — flag risks even when overall is up
268
269## When input is incomplete
270
271- **Single metric only** → focus on that anomaly, no full review
272- **No history** → snapshot only, tag "no baseline, recommend establishing tracking"
273- **Verbal description** → analyze based on description, tag "recommend exact data for verification"
274- **No targets** → use industry benchmarks, suggest team set explicit targets
275
276## Related skills
277
278- `/pm-feedback` — pair quantitative anomaly with qualitative voice-of-customer
279- `/pm-prioritize` — adjust priority based on metric findings
280- `/pm-roadmap` — adjust roadmap based on OKR pacing
281