Product Analytics
Event Taxonomy Design
Naming Convention: Object-Action
Format: object_action
Examples:
user_signed_up
project_created
file_uploaded
subscription_upgraded
report_exported
onboarding_completed
Event Properties (always include)
{
"event": "project_created",
"user_id": "usr_123",
"timestamp": "2024-01-15T10:30:00Z",
"session_id": "sess_456",
"platform": "web",
"properties": {
"project_type": "template",
"team_size": 5,
"plan": "pro"
}
}
Instrumentation Checklist
Funnel Analysis
Funnel Construction
- Define the conversion goal (signup, activation, purchase)
- Map required steps in order
- Identify optional vs required steps
- Set time window (complete within X days)
- Measure conversion rate at each step
Funnel Metrics
| Metric |
Formula |
| Step conversion rate |
Users completing step N / Users entering step N |
| Overall conversion |
Users completing final step / Users entering step 1 |
| Drop-off rate |
1 - step conversion rate |
| Time to convert |
Median time from step 1 to final step |
Diagnosing Drop-offs
- Drop > 50% at a step → investigate with session recordings
- Compare drop-off by segment (device, plan, cohort)
- Run qualitative research at high-drop steps
- Test friction reduction (reduce fields, add progress indicator)
Cohort Analysis
Acquisition Cohort
Groups users by when they joined (week/month). Tracks how each cohort behaves over time.
Week 0: 1,000 users signed up
Week 1: 650 returned (65% W1 retention)
Week 2: 450 returned (45% W2 retention)
Week 4: 300 retained (30% W4 retention)
Week 8: 220 retained (22% W8 retention — stabilization point)
Behavioral Cohort
Groups users by action taken (users who completed onboarding vs those who didn't).
Use behavioral cohorts to:
- Validate aha moment hypothesis
- Compare LTV of activated vs non-activated users
- Identify high-value behaviors to promote
Retention Curves
Benchmarks by Product Category
| Category |
D1 |
D7 |
D30 |
| Social / consumer |
40% |
20% |
10% |
| SaaS (B2B) |
60% |
45% |
35% |
| Mobile games |
35% |
15% |
5% |
| E-commerce |
30% |
10% |
5% |
| Productivity tools |
50% |
35% |
25% |
Reading the Curve
- Smile curve: Drops then flattens → healthy core audience
- Declining curve: Never flattens → product has no sticky value
- High D1, steep drop: Strong acquisition but weak activation
Improving Retention
- D1 retention: Improve onboarding and time-to-value
- D7 retention: Establish habit loop, trigger return visit
- D30 retention: Deepen engagement, show accumulated value
DAU / WAU / MAU
Definitions
- DAU: Unique users with at least one qualifying event in a calendar day
- WAU: Unique users active in the past 7 days
- MAU: Unique users active in the past 28–30 days
Engagement Ratios
| Ratio |
Formula |
Healthy range |
| DAU/MAU (stickiness) |
DAU ÷ MAU |
> 20% good, > 50% excellent |
| DAU/WAU |
DAU ÷ WAU |
Indicates daily vs weekly habit |
| WAU/MAU |
WAU ÷ MAU |
Weekly habit strength |
Qualifying Event Definition
Do not count all events as active. Define a meaningful "active" event:
- Bad: any page view (inflated by bots/accidental visits)
- Good: core product action (created item, sent message, ran query)
Activation Metrics
Finding the Aha Moment
- Define activation: what behavior correlates with long-term retention?
- Segment retained vs churned users
- Identify actions taken in first session that differ between groups
- Test hypothesis: does promoting that action improve retention?
Activation Metric Examples
| Product |
Activation event |
| Slack |
Sent 2,000 messages as a team |
| Dropbox |
Uploaded 1 file on 2 devices |
| Twitter |
Followed 30 accounts in first day |
| HubSpot |
Connected email + created 1 contact |
Time-to-Activate
Track: median time from signup to activation event.
Goal: reduce time-to-activate while maintaining quality of activation.
Product Health Dashboard
Key Metrics (top of dashboard)
| Metric |
Timeframe |
Alert threshold |
| DAU |
Daily |
-10% WoW |
| New signups |
Daily |
-20% WoW |
| Activation rate |
Weekly |
-5pp MoM |
| D7 retention |
Weekly cohort |
-5pp MoM |
| Revenue (MRR/ARR) |
Monthly |
-5% MoM |
| NPS |
Monthly |
< 30 |
Supporting Metrics
- Funnel conversion rates by step
- Feature adoption (% MAU using feature)
- Error rates on key flows
- Support ticket volume by category
Mixpanel vs Amplitude vs PostHog
|
Mixpanel |
Amplitude |
PostHog |
| Strengths |
Funnels, retention |
Behavioral cohorts |
Open source, session replay |
| Pricing |
Usage-based |
Usage-based |
Free tier + usage |
| Best for |
Growth teams |
Enterprise |
Startups, self-hosted |
| SQL access |
Limited |
Yes (paid) |
Yes |
1---2name: product-analytics3description: When to activate: product analytics, funnel analysis, cohort analysis, retention curves, DAU WAU MAU, activation metrics, event tracking, Mixpanel, Amplitude4---56# Product Analytics78## Event Taxonomy Design910### Naming Convention: Object-Action11```12Format: object_action1314Examples:15 user_signed_up16 project_created17 file_uploaded18 subscription_upgraded19 report_exported20 onboarding_completed21```2223### Event Properties (always include)24```json25{26 "event": "project_created",27 "user_id": "usr_123",28 "timestamp": "2024-01-15T10:30:00Z",29 "session_id": "sess_456",30 "platform": "web",31 "properties": {32 "project_type": "template",33 "team_size": 5,34 "plan": "pro"35 }36}37```3839### Instrumentation Checklist40- [ ] Every screen/page view tracked41- [ ] All CTA clicks tracked42- [ ] Form submissions tracked (start + complete)43- [ ] Errors tracked with context44- [ ] Key milestones tracked (activation, upgrade, churn signal)45- [ ] Properties consistent across events (same field names)46- [ ] User identity linked (anonymous → identified on signup)4748## Funnel Analysis4950### Funnel Construction511. Define the conversion goal (signup, activation, purchase)522. Map required steps in order533. Identify optional vs required steps544. Set time window (complete within X days)555. Measure conversion rate at each step5657### Funnel Metrics58| Metric | Formula |59|--------|---------|60| Step conversion rate | Users completing step N / Users entering step N |61| Overall conversion | Users completing final step / Users entering step 1 |62| Drop-off rate | 1 - step conversion rate |63| Time to convert | Median time from step 1 to final step |6465### Diagnosing Drop-offs66- Drop > 50% at a step → investigate with session recordings67- Compare drop-off by segment (device, plan, cohort)68- Run qualitative research at high-drop steps69- Test friction reduction (reduce fields, add progress indicator)7071## Cohort Analysis7273### Acquisition Cohort74Groups users by when they joined (week/month). Tracks how each cohort behaves over time.7576```77Week 0: 1,000 users signed up78Week 1: 650 returned (65% W1 retention)79Week 2: 450 returned (45% W2 retention)80Week 4: 300 retained (30% W4 retention)81Week 8: 220 retained (22% W8 retention — stabilization point)82```8384### Behavioral Cohort85Groups users by action taken (users who completed onboarding vs those who didn't).8687Use behavioral cohorts to:88- Validate aha moment hypothesis89- Compare LTV of activated vs non-activated users90- Identify high-value behaviors to promote9192## Retention Curves9394### Benchmarks by Product Category95| Category | D1 | D7 | D30 |96|----------|----|----|-----|97| Social / consumer | 40% | 20% | 10% |98| SaaS (B2B) | 60% | 45% | 35% |99| Mobile games | 35% | 15% | 5% |100| E-commerce | 30% | 10% | 5% |101| Productivity tools | 50% | 35% | 25% |102103### Reading the Curve104- **Smile curve**: Drops then flattens → healthy core audience105- **Declining curve**: Never flattens → product has no sticky value106- **High D1, steep drop**: Strong acquisition but weak activation107108### Improving Retention109- D1 retention: Improve onboarding and time-to-value110- D7 retention: Establish habit loop, trigger return visit111- D30 retention: Deepen engagement, show accumulated value112113## DAU / WAU / MAU114115### Definitions116- **DAU**: Unique users with at least one qualifying event in a calendar day117- **WAU**: Unique users active in the past 7 days118- **MAU**: Unique users active in the past 28–30 days119120### Engagement Ratios121| Ratio | Formula | Healthy range |122|-------|---------|---------------|123| DAU/MAU (stickiness) | DAU ÷ MAU | > 20% good, > 50% excellent |124| DAU/WAU | DAU ÷ WAU | Indicates daily vs weekly habit |125| WAU/MAU | WAU ÷ MAU | Weekly habit strength |126127### Qualifying Event Definition128Do not count all events as active. Define a meaningful "active" event:129- Bad: any page view (inflated by bots/accidental visits)130- Good: core product action (created item, sent message, ran query)131132## Activation Metrics133134### Finding the Aha Moment1351. Define activation: what behavior correlates with long-term retention?1362. Segment retained vs churned users1373. Identify actions taken in first session that differ between groups1384. Test hypothesis: does promoting that action improve retention?139140### Activation Metric Examples141| Product | Activation event |142|---------|-----------------|143| Slack | Sent 2,000 messages as a team |144| Dropbox | Uploaded 1 file on 2 devices |145| Twitter | Followed 30 accounts in first day |146| HubSpot | Connected email + created 1 contact |147148### Time-to-Activate149Track: median time from signup to activation event.150Goal: reduce time-to-activate while maintaining quality of activation.151152## Product Health Dashboard153154### Key Metrics (top of dashboard)155| Metric | Timeframe | Alert threshold |156|--------|-----------|----------------|157| DAU | Daily | -10% WoW |158| New signups | Daily | -20% WoW |159| Activation rate | Weekly | -5pp MoM |160| D7 retention | Weekly cohort | -5pp MoM |161| Revenue (MRR/ARR) | Monthly | -5% MoM |162| NPS | Monthly | < 30 |163164### Supporting Metrics165- Funnel conversion rates by step166- Feature adoption (% MAU using feature)167- Error rates on key flows168- Support ticket volume by category169170## Mixpanel vs Amplitude vs PostHog171172| | Mixpanel | Amplitude | PostHog |173|-|---------|-----------|---------|174| **Strengths** | Funnels, retention | Behavioral cohorts | Open source, session replay |175| **Pricing** | Usage-based | Usage-based | Free tier + usage |176| **Best for** | Growth teams | Enterprise | Startups, self-hosted |177| **SQL access** | Limited | Yes (paid) | Yes |