---
name: bi-conversion-rate
description: 从接触目标行为到完成目标行为的转化率计算。触发条件：需计算转化率时触发，如对话包含“转化率”、“转化情况”等词时触发。
---

# bi-conversion-rate

计算用户从**接触目标行为**（起始阶段）到**完成目标行为**（结束阶段）的转化率。

## 执行步骤

### Step 0: 检查数据以及确定计算指标

1. 转化率计算涉及的指标以及数据范围（初始状态数据以及目标状态数据）已经明确，如指标明确为“对话转化率”，转化率计算需“访问用户数”与“对话用户数”；
2. 数据已经保存为 CSV 文件，且包含转化率计算所需关键数据，如上述的“访问用户数”与“对话用户数”。如

```csv
date,访问用户数,对话用户数
2025-01-01,10000,3000
2025-01-02,10500,1000
2025-01-03,9800,100
```

### Step 1: 执行转化率计算

使用 `<skill-dir>/scripts/compute_conversion.py` 脚本，计算用户从某初始状态到目标状态的转化率（计算结果保留小数点后 5 位）。

```bash
python <skill-dir>/scripts/compute_retention.py --input_file "<输入数据文件路径 (CSV)>" --metric_name "<转化率名称>" --begin_col "<初始行为状态的对象列名>" --end_col "<目标/结束行为状态的对象列名>"
```

**参数说明**：

| 参数           | 说明                      | 默认值   |
| ------------- | ------------------------- | ------- |
| --input_file  | 输入数据文件路径 (.csv)      | (必填) |
| --metric_name | 计算指标名称（如对话转化率等） | 转化率 |
| --begin_col   | 初始行为状态的对象列名        | (必填) |
| --end_col     | 目标/结束行为状态的对象列名    | (必填) |

对于所有需要计算的转化率指标都需调用该脚本计算，不能遗失任何必要的指标计算。

## fallback (指引模式)

无脚本环境时按以下计算公式手动计算转化率：

$$
\text{转换率}=\frac{\text{User at the final stage}}{\text{User at the beginning stage}}
$$

- **分母**：起始阶段用户数（接触过目标行为或进入漏斗起点）
- **分子**：结束阶段用户数（完成目标行为）
- 口径须与业务一致（例如结束阶段用户是否为起始阶段的子集、是否去重同一用户）

## 输出要求

输出所有需要计算的转化率指标结果，不要遗失任何计算结果，包括 NaN 值。