订阅审计
输入
- 一个或多个CSV导出文件(最好包含90天以上的数据),包含日期、描述和金额列。如果列标题不清晰,请询问用户哪个列对应什么。
- 可选:用户已知的订阅列表。
流程
- 加载CSV文件。规范化金额,使扣款为正数。排除转账、退款和信用卡还款(描述类似于 "PAYMENT THANK YOU"、"TRANSFER")。
- 规范化商户名称:转为大写,去除店铺编号、日期、参考ID和城市/州后缀。按规范化商户名称分组。
- 当商户的中位间隔与某个周期匹配(每周7±1天、双周14±2天、每月30.4±4天、每季度91±7天、每年365±10天),且至少60%的间隔符合该周期,同时金额稳定时,将该商户标记为循环。变化超过10%的项目会被保留但标记为“金额可变”(如水电费)。金额波动较大的商户(变异系数>25%)应排除,这些属于普通购物而非订阅。仅出现两次的扣款标记为“低置信度”。超过1.5倍周期无扣款则标记为“可能已取消”。
- 如果Python可用,运行
python scripts/subscription_audit.py <csv>(该脚本位于此技能文件夹内;相对于此SKILL.md文件解析路径),并审查其表格,而不是手动计算。
- 如果Python可用,运行
- 对于每个循环商户记录:周期、典型金额、上次扣款日期、下次预计日期(上次扣款日期+周期)、每月等效费用(每周×52/12、每年÷12)和年度费用。
- 标记可能的重复:同一类别中的两个商户(例如两个音乐服务、两个云存储计划)或同一商户出现在两张卡上。
- 询问用户每个项目“保留/取消/降级/不确定”。如果被要求,根据重叠和最后使用日期提供建议。绝不施加压力。
- 输出:
- 表格:商户 | 周期 | 金额 | 每月 | 每年 | 下次扣款 | 标记 | 决定
- 总计:当前的每月/每年支出,以及应用决定后的节省金额
- 取消清单:按下次扣款日期排序(最近优先),并提醒在扣款前取消。
- 在提供取消步骤时,仅链接该服务的官方帮助页面,或告知用户搜索“[服务] 取消订阅 site:[官方域名]”。绝不编造步骤。
规则
- 展示您的匹配假设;将“可能的循环”项目单独列出,当置信度低时。
- 绝不询问银行密码或登录账户。
- 非财务建议。