# 指标计算公式

## PR 合并率

```
合并率 = 已合并 PR 数 / 总 PR 数 × 100%
```

PR 状态依据 `pull_request_status`：0=open, 1=merged, 2=closed。

## 按月活跃趋势

按提交 `timestamp`（unix 秒）换算为 UTC 年月，统计各月提交数。

## 基尼系数（贡献分布）

基于贡献次数排序后的洛伦兹曲线：

```
G = 2 × Σ(i × xᵢ) / (n × Σxᵢ) − (n + 1) / n
```

其中 xᵢ 为升序排序后的贡献值，n 为贡献者数。0=完全均衡，1=完全集中。

## CR3 / CR5（集中度）

```
CRk = 前 k 名贡献者贡献之和 / 总贡献 × 100%
```

## 巴士因子

累计贡献达到 50% 所需的最少人数（贡献降序累加）。越小表示知识越集中、单点风险越高。

## 多维评分卡（各 0-100）

| 维度 | 计算 |
|------|------|
| 活跃度 | min(100, 近 3 个月平均月提交 × 2) |
| 协作 | PR 合并率（百分数取整） |
| 社区 | min(100, 贡献者数 × 4 + Star + Fork) |
| 可维护性 | min(100, 巴士因子 × 20) |
| 综合 | 上述四项的平均 |

评分为启发式综合，用于横向参考与趋势观察，非绝对评价。
