data
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseData — Analytics & Intelligence
数据——分析与智能
Measure what matters. Every metric should drive a decision. If it doesn't, stop tracking it.
衡量重要的指标。每个指标都应该为决策提供依据。如果不能,就停止追踪它。
Metric Hierarchy
指标层级
| Level | Metric | Cadence |
|---|---|---|
| North Star | 1 metric that defines success (e.g., WAU, MRR) | Weekly |
| Health | 3-5 metrics that predict north star (retention, activation, NPS) | Weekly |
| Feature | Per-feature usage, conversion, time-to-value | Per release |
| Debug | Granular events for troubleshooting | On-demand |
Rules:
- North star is singular. Two north stars = zero north stars.
- Vanity metrics (page views, total signups) are not health metrics.
- Every feature ships with tracking. No "we'll add analytics later."
| 层级 | 指标 | 频率 |
|---|---|---|
| 北极星指标 | 定义成功的1个核心指标(例如:WAU、MRR) | 每周 |
| 健康指标 | 3-5个可预测北极星指标的辅助指标(留存率、激活率、NPS) | 每周 |
| 功能指标 | 各功能的使用情况、转化率、价值实现时间 | 每次版本发布后 |
| 调试指标 | 用于故障排查的细粒度事件 | 按需 |
规则:
- 北极星指标唯一。两个北极星指标等于没有北极星指标。
- 虚荣指标(页面浏览量、总注册数)不属于健康指标。
- 每个功能上线时都必须包含追踪机制。不要说“我们以后再添加分析功能”。
SQL Patterns
SQL模式
Cohort Retention
同期群留存
sql
SELECT
DATE_TRUNC('week', u.created_at) AS cohort_week,
DATE_TRUNC('week', e.created_at) AS activity_week,
COUNT(DISTINCT e.user_id) AS active_users
FROM users u
JOIN events e ON e.user_id = u.id
GROUP BY 1, 2
ORDER BY 1, 2;sql
SELECT
DATE_TRUNC('week', u.created_at) AS cohort_week,
DATE_TRUNC('week', e.created_at) AS activity_week,
COUNT(DISTINCT e.user_id) AS active_users
FROM users u
JOIN events e ON e.user_id = u.id
GROUP BY 1, 2
ORDER BY 1, 2;Funnel Analysis
漏斗分析
sql
WITH steps AS (
SELECT user_id,
MAX(CASE WHEN event = 'signup' THEN 1 END) AS step_1,
MAX(CASE WHEN event = 'onboard_complete' THEN 1 END) AS step_2,
MAX(CASE WHEN event = 'first_action' THEN 1 END) AS step_3,
MAX(CASE WHEN event = 'paid' THEN 1 END) AS step_4
FROM events
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY user_id
)
SELECT
COUNT(*) AS total,
SUM(step_1) AS signup,
SUM(step_2) AS onboarded,
SUM(step_3) AS activated,
SUM(step_4) AS converted
FROM steps;sql
WITH steps AS (
SELECT user_id,
MAX(CASE WHEN event = 'signup' THEN 1 END) AS step_1,
MAX(CASE WHEN event = 'onboard_complete' THEN 1 END) AS step_2,
MAX(CASE WHEN event = 'first_action' THEN 1 END) AS step_3,
MAX(CASE WHEN event = 'paid' THEN 1 END) AS step_4
FROM events
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY user_id
)
SELECT
COUNT(*) AS total,
SUM(step_1) AS signup,
SUM(step_2) AS onboarded,
SUM(step_3) AS activated,
SUM(step_4) AS converted
FROM steps;Rolling Averages
滚动平均值
sql
SELECT
date,
value,
AVG(value) OVER (ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS rolling_7d
FROM daily_metrics;sql
SELECT
date,
value,
AVG(value) OVER (ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS rolling_7d
FROM daily_metrics;Event Tracking Design
事件追踪设计
Every event needs:
| Field | Example |
|---|---|
| |
| Authenticated user |
| Pre-auth (cookie/device) |
| ISO 8601, UTC always |
| |
Naming convention: — , ,
noun_verbform_submittedfile_uploadedsubscription_cancelledNever: , , ,
clickevent1trackThismisc每个事件需包含以下字段:
| 字段 | 示例 |
|---|---|
| |
| 已认证用户ID |
| 未认证用户(Cookie/设备标识) |
| ISO 8601格式,始终使用UTC时区 |
| |
命名规范: —— , ,
名词_动词form_submittedfile_uploadedsubscription_cancelled禁止: , , ,
clickevent1trackThismiscDashboard Rules
仪表盘规则
- One question per dashboard. "How is acquisition?" not "Everything."
- Top-left = most important metric. Eye lands there first.
- Comparison always. This week vs last week. This month vs last month.
- No pie charts. Use bar charts. Humans can't compare angles.
- Annotate changes. "Launched feature X" on the timeline.
- 每个仪表盘只聚焦一个问题。比如“获客情况如何?”而非“所有数据汇总”。
- 左上角放置最重要的指标。用户的视线首先会落在那里。
- 始终进行对比。本周与上周对比,本月与上月对比。
- 禁止使用饼图。改用柱状图。人类无法准确比较角度。
- 标注变化点。在时间轴上标注“上线功能X”等关键事件。
Data Pipeline Defaults
数据管道默认配置
| Layer | Tool | Purpose |
|---|---|---|
| Collection | PostHog, Segment, or custom | Event ingestion |
| Storage | Postgres or BigQuery | Queryable warehouse |
| Transform | dbt or SQL views | Business logic layer |
| Visualization | Metabase, Grafana, or PostHog | Dashboards |
Keep it simple. You don't need Kafka until you have 10M events/day.
| 层级 | 工具 | 用途 |
|---|---|---|
| 采集层 | PostHog、Segment或自定义工具 | 事件摄入 |
| 存储层 | Postgres或BigQuery | 可查询的数据仓库 |
| 转换层 | dbt或SQL视图 | 业务逻辑层 |
| 可视化层 | Metabase、Grafana或PostHog | 仪表盘展示 |
保持简单。除非每日事件量达到1000万,否则不需要Kafka。