---
name: vala-component-practice-stat
description: 瓦拉英语组件练习质量统计工具，支持Oops率和退出率双指标统计、按日期统计、自动剔除测试账号、分L1/L2等级、自定义样本量规则、导出Excel报表。使用场景：(1) 统计组件练习错误率/Oops率 (2) 统计组件练习退出率 (3) 按难度等级拆分L1(A1)/L2(A2)统计结果 (4) 练习次数不足10次自动补充历史记录 (5) 导出多sheet Excel报表 (6) 按指标降序排序展示高风险组件
---

# 瓦拉英语组件Oops率统计技能

## 功能说明
用于统计飞书多维表格中组件练习的Oops（错误）率，支持灵活配置统计规则，自动处理数据口径问题，输出标准化统计结果。

## 核心特性
✅ 自动剔除测试账号：仅保留`bi_vala_app_account.status = 1`的正常用户练习记录
✅ 等级拆分：自动按`level`字段拆分L1(A1)/L2(A2)两个难度等级分别统计
✅ Oops判定规则：
  - 练习结果为Oops/Opps → 记为Oops
  - 练习结果为Pass且c_type包含`core_`或`scence_` → 记为Oops
  - 其余Pass结果 → 记为Good，不计入Oops
✅ 退出判定规则：练习结果为Failed或Close → 记为退出
✅ 样本量规则：昨日练习≥10次用昨日全量数据，<10次自动补充历史记录至10次，历史不足10次取全部记录
✅ 正确排序：按指标数值从高到低排序，避免字符串排序错误
✅ 自动导出：生成包含4个sheet的Excel报表：L1组件Oops率、L2组件Oops率、L1组件退出率、L2组件退出率

## 使用参数
| 参数 | 说明 | 默认值 |
|------|------|--------|
| 统计日期 | 要统计的日期（格式YYYY-MM-DD） | 昨日（当前日期-1天） |
| 最小样本量 | 组件最少统计样本量 | 10 |
| 是否剔测试账号 | 是否排除测试账号练习记录 | 是 |
| 是否分等级 | 是否拆分L1/L2分别统计 | 是 |
| 导出格式 | 输出格式（CSV/Excel） | Excel |

## 操作步骤
1. 确认用户统计需求：统计日期、样本量规则、是否分等级等
2. 执行Oops率统计SQL脚本：`scripts/stat_l1.sql`（L1）、`scripts/stat_l2.sql`（L2）
3. 执行退出率统计SQL脚本：`scripts/stat_l1_exit_rate.sql`（L1）、`scripts/stat_l2_exit_rate.sql`（L2）
4. 运行`scripts/generate_excel.py`生成包含4个sheet的Excel报表

## 脚本说明
### scripts/stat_l1.sql
统计L1(A1)等级组件Oops率的SQL脚本，自动取运行前一天的数据
### scripts/stat_l2.sql
统计L2(A2)等级组件Oops率的SQL脚本，自动取运行前一天的数据
### scripts/stat_l1_exit_rate.sql
统计L1(A1)等级组件退出率的SQL脚本，自动取运行前一天的数据
### scripts/stat_l2_exit_rate.sql
统计L2(A2)等级组件退出率的SQL脚本，自动取运行前一天的数据
### scripts/generate_excel.py
将4份CSV统计结果合并生成带4个sheet的Excel报表
### references/table_schema.md
相关数据表结构说明和字段含义参考
