用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/agentscope-ai/QwenPaw-Data --skill bi-time-impact-attribution命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | bi-time-impact-attribution |
| description | 将累加型量值指标的周期波动拆解为结构变动、趋势变动和事件影响。当需要量化时间因素对指标变动的影响时调用。 |
将指标周期波动拆解为结构变动、趋势变动和事件影响,量化各时间因素对指标变化的贡献。典型场景:拆解本周期 vs 上周期的指标变动来源,量化节假日、营销活动、产品发布等事件对指标的影响度。
适用范围:
需要两份数据:
指标数据:包含本周期和上周期日粒度数据的 CSV 文件,至少包含以下两列:
| 列 | 说明 | 示例 |
|---|---|---|
| 日期列 | 时间标识 | 日期 |
| 指标列 | 指标值 | 访问用户数 |
示例:
日期,访问用户数
2025-01-01,10000
2025-01-02,10500
...
事件信息(可选):本周期和上周期内发生的事件列表(CSV),包含事件名称和起止日期。不提供则只拆解结构变动和趋势变动,不计算事件影响:
| 列 | 说明 | 示例 |
|---|---|---|
| 事件名称 | 事件描述 | 春节 |
| 开始日期 | 事件起始 | 2025-01-28 |
| 结束日期 | 事件结束 | 2025-02-04 |
示例:
事件名称,开始日期,结束日期
春节,2025-01-28,2025-02-04
元旦,2025-01-01,2025-01-01
若上游步骤已产出可用数据文件则直接使用,否则自行取数并按上述格式组织。若未提供事件信息,跳过步骤 2 和 3,直接进入步骤 4。
每个事件需确定其影响的时间区间:
| 优先级 | 来源 | 示例 |
|---|---|---|
| 1 | 用户显式指定 | 用户要求"春节影响区间为 1.25-2.05" |
| 2 | 域知识包(若存在) | 域知识包指定各事件的影响区间 |
| 3 | 语义层接口(若可用) | 通过接口查询到的事件影响区间配置 |
| 事件类型 | 时间区间范围 | 默认值 |
|---|---|---|
| 节假日 | 假期开始前 N 天 ~ 假期结束 | N=1 |
| 事件波动 | 事件开始当天 ~ 事件开始后 M 天 | M=2 |
事件影响度阈值用于计算指标基线:影响度超过阈值的事件视为"大事件",其事件日将被剔除后计算基线,以获得更准确的非事件日基线水平。低于阈值的"小事件"不剔除。
| 优先级 | 来源 | 示例 |
|---|---|---|
| 1 | 用户显式指定 | 用户要求"影响度阈值设为 5%" |
| 2 | 域知识包(若存在) | 域知识包指定事件影响度阈值为 10% |
| 3 | 语义层接口(若可用) | 通过接口查询到的阈值配置 |
按以下优先级选择计算方式,命中即停:
路径:scripts/time_impact_attribution.py
原理:先排除事件干扰建立纯净指标基线,再将总变动拆解为结构变动、趋势和事件影响三部分:
若脚本适用于当前场景,按以下方式调用:
参数:
| 参数 | 说明 |
|---|---|
| --input-file | 日粒度指标数据文件路径(必填) |
| --date-col | 日期列名(必填) |
| --metric-col | 指标列名(必填) |
| --events-file | 事件信息文件路径(可选,不提供则不计算事件影响) |
| --current-month | 当前周期,格式 YYYY-MM 或 YYYY-WXX(必填) |
| --prev-month | 上周期,格式同上(必填) |
| --impact-threshold | 事件影响度阈值,超过则剔除该事件日重算基线 |
| --holiday-lead-days | 节假日前置天数 |
| --event-lag-days | 事件后置天数 |
| --output-file | 波动拆解结果输出路径(可选) |
调用示例:
# 有事件信息
python scripts/time_impact_attribution.py \
--input-file data.csv \
--date-col "日期" \
--metric-col "访问用户数" \
--events-file events.csv \
--current-month 2025-02 \
--prev-month 2025-01
# 无事件信息(只拆解结构变动和趋势变动)
python scripts/time_impact_attribution.py \
--input-file data.csv \
--date-col "日期" \
--metric-col "访问用户数" \
--current-month 2025-02 \
--prev-month 2025-01
输出格式:
同时输出绝对影响值与相对占比(占比 = 单项影响 / 总变动量):
有事件时:
影响因素 绝对值 占比
总变动 +15000 100.0%
结构变动 +3000 20.0%
趋势变动 +8000 53.3%
事件影响 +4000 26.7%
春节 +5000 33.3%
元旦 -1000 -6.7%
无事件时:
影响因素 绝对值 占比
总变动 +11000 100.0%
结构变动 +3000 27.3%
趋势变动 +8000 72.7%
若脚本不适用于当前场景,参考上述原理自行实现时间归因计算。