Install any skill in seconds. Free to start, no credit card required.
Get Started Free →银行经营分析专用计算工具集。当用户要求计算同比增速、环比变动率、贡献度占比、结构分布、排名百分位、不良率、拨备覆盖率、净息差等银行核心指标时使用。提供确定性数值计算,避免LLM心算幻觉。
.claude/skills/aifinlab-bank-calc-utils/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 92% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 47% | 0% |
银行经营分析涉及大量数值计算:同比增长率、环比变动率、贡献度拆解、结构占比、集中度指标、排名百分位等。LLM在直接进行数值运算时容易产生幻觉(心算错误),尤其在多步计算和大数运算场景下。本工具集提供确定性的计算脚本,确保所有数值结果精确可靠,为上层分析技能提供可信赖的计算基础设施。
| 输入项 | 说明 | 是否必须 | |--------|------|----------| | 计算类型 | percentage / change_rate / contribution / distribution / top_n / rank | 必须 | | 数值参数 | 根据计算类型提供对应的数值(当期值、基期值、分项值等) | 必须 | | 精度要求 | 小数位数(默认2位) | 可选 | | 单位 | 万元/亿元/百分比/BP | 可选 |
| 操作 | 说明 | 典型银行应用场景 | |------|------|-----------------| | percentage | 计算百分比(部分/整体) | 存款占比、不良率、产品渗透率 | | change_rate | 计算变动率(同比/环比/较年初) | 存款增速、利润变动率、客户增长率 | | contribution | 计算各分项对总量变动的贡献度 | 各机构对存款增量的贡献、各产品对收入增长的贡献 | | distribution | 计算分布结构(各项占比) | 贷款行业分布、期限结构、客群结构 | | top_n | 取前N项及其合计占比 | 前十大客户集中度、前五大行业占比 | | rank | 排名及百分位计算 | 网点排名、客户经理业绩排名 |
本工具为计算基础设施,不独立进行分析。默认支持以下银行业务计算场景:
本工具不执行分析框架,仅提供计算服务。调用方式:
scripts/calc.py 中对应的计算函数调用示例:
# 计算变动率
python scripts/calc.py change_rate --current 1250.5 --base 1180.3
# 计算贡献度
python scripts/calc.py contribution --total_change 70.2 --items '{"分行A": 35.1, "分行B": 20.5, "分行C": 14.6}'
# 计算集中度
python scripts/calc.py top_n --values '{"客户1": 500, "客户2": 300, "客户3": 200, ...}' --n 5| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 29,580 | 35,563 | +20% | 1 | 1 | 0% | 4,807 | 5,724 | +19% | 0 | 0 | — |
case-02 | fail→fail | 24,070 | 28,916 | +20% | 1 | 1 | 0% | 2,964 | 6,506 | +120% | 0 | 0 | — |
case-03 | fail→pass | 27,112 | 15,352 | -43% | 1 | 1 | 0% | 3,729 | 4,224 | +13% | 0 | 0 | — |
case-04 | fail→fail | 34,072 | 25,691 | -25% | 1 | 1 | 0% | 4,256 | 4,892 | +15% | 0 | 0 | — |
case-05 | pass→pass | 13,709 | 14,715 | +7% | 1 | 1 | 0% | 2,574 | 3,628 | +41% | 0 | 0 | — |
case-06 | fail→pass | 5,139 | 3,969 | -23% | 1 | 1 | 0% | 1,009 | 1,939 | +92% | 0 | 0 | — |
case-07 | fail→pass | 13,588 | 3,432 | -75% | 1 | 1 | 0% | 2,114 | 1,828 | -14% | 0 | 0 | — |
case-08 | fail→pass | 9,185 | 5,440 | -41% | 1 | 1 | 0% | 1,497 | 2,213 | +48% | 0 | 0 | — |
case-09 | pass→pass | 10,920 | 5,197 | -52% | 1 | 1 | 0% | 1,073 | 2,125 | +98% | 0 | 0 | — |
case-10 | pass→pass | 14,805 | 13,801 | -7% | 1 | 1 | 0% | 2,671 | 3,258 | +22% | 0 | 0 | — |
case-11 | pass→pass | 5,623 | 7,261 | +29% | 1 | 1 | 0% | 1,186 | 2,615 | +120% | 0 | 0 | — |
case-12 | pass→pass | 8,524 | 10,462 | +23% | 1 | 1 | 0% | 1,794 | 3,267 | +82% | 0 | 0 | — |
case-13 | pass→pass | 5,536 | 6,582 | +19% | 1 | 1 | 0% | 1,050 | 2,502 | +138% | 0 | 0 | — |
case-14 | pass→pass | 10,014 | 7,786 | -22% | 1 | 1 | 0% | 1,751 | 2,591 | +48% | 0 | 0 | — |
case-15 | pass→pass | 5,835 | 8,304 | +42% | 1 | 1 | 0% | 892 | 2,418 | +171% | 0 | 0 | — |
case-16 | pass→pass | 14,694 | 14,114 | -4% | 1 | 1 | 0% | 2,249 | 4,252 | +89% | 0 | 0 | — |
case-17 | pass→pass | 6,720 | 11,889 | +77% | 1 | 1 | 0% | 1,334 | 2,896 | +117% | 0 | 0 | — |
case-18 | fail→pass | 20,513 | 17,203 | -16% | 1 | 1 | 0% | 2,694 | 3,962 | +47% | 0 | 0 | — |
case-19 | pass→pass | 12,286 | 8,371 | -32% | 1 | 1 | 0% | 2,050 | 2,795 | +36% | 0 | 0 | — |
case-20 | pass→pass | 15,607 | 10,939 | -30% | 1 | 1 | 0% | 1,926 | 2,654 | +38% | 0 | 0 | — |
case-21 | pass→pass | 126,514 | 20,284 | -84% | 1 | 1 | 0% | 2,090 | 3,939 | +88% | 0 | 0 | — |
case-22 | fail→fail | 23,471 | 17,623 | -25% | 1 | 1 | 0% | 3,395 | 4,266 | +26% | 0 | 0 | — |
case-23 | pass→pass | 11,611 | 7,479 | -36% | 1 | 1 | 0% | 1,838 | 2,200 | +20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.