03 人力量化统计People Stats Kit

统计学方法 → 决策工具箱

归属:字节跳动 · 招聘 AB / 监控方法侧 — 支撑简历「招聘策略 AB 实验」。入口 字节。不是独立「人力量化产品」主题页。

开实验前算样本量;跑完看 z/p;漏斗给 Wilson CI;周期用 Kaplan–Meier;评分看校准与 Brier。

Demo · 报告 GitHub

1. 架构图

flowchart TB SC[synth.build_scenarios] --> AB[proportion.two_proportion_z] SC --> SS[sample_size_two_prop] SC --> FN[funnel.funnel_rates + wilson_ci] SC --> KM[survival.kaplan_meier] SC --> CAL[calibration_bins + brier] AB & SS & FN & KM & CAL --> REP[report.render] REP --> HTML[docs/index.html]
flowchart LR subgraph before [开跑前] B1[基线率 p1] B2[目标率 p2] B3[α / 功效] B1 & B2 & B3 --> N[每组样本量 n] end subgraph after [跑完后] A1[成功数 / n] A2[z 与 p] A3[lift] end N -.->|实验执行| A1

2. API 调用

函数场景返回
two_proportion_z(sa,na,sb,nb)触达文案 / 分层跟进 ABrate_a/b, diff, lift, z, p_value
sample_size_two_prop(p1,p2,α,power)实验设计n_per_group
funnel_rates([{name,n}…])招聘漏斗每步 rate + Wilson CI
wilson_ci(k,n)单比例区间(lo, hi)
kaplan_meier(times, events)入职周期生存曲线点
median_survival(curve)一半人已入职的时间天 or None
calibration_bins(scores, y)初筛分 vs 通过分档 mean_score / rate / gap
brier_score(scores, y)概率预测质量标量(越小越好)

与其它板块的调用关系

# 人才评估报告里的回复率检验 ≈ two_proportion_z
# 招聘分析分档通过率 ≈ calibration_bins(分数归一化后)
# Hiring Agent 开实验前可先调 sample_size_two_prop

3. 技术栈梳理

项选择
依赖仅 Python 标准库(math / random / unittest)
正态分位数Acklam 有理逼近(norm_ppf)
交付HTML 报告 + unittest
刻意不用scipy / statsmodels(降低复现门槛)

4. Best practices

5. Demo 路径

  1. 打开报告 KPI:AB 结论、lift、每组样本量、中位周期。
  2. 漏斗表指一格 CI,解释为何不能只看转化率数字。
  3. 校准表:≥60 分档通过率应高于 0–39。
  4. python3 -m unittest discover -s tests -v(9 passed)。