Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Model pricing scenarios — tiers, margins, break-even, and the revenue impact of a price change. Use when asked to calculate pricing, model a price increase, find break-even volume, set tier prices to a margin target, or estimate the revenue effect of a pricing change. Produces a computed pricing model (per-tier margin, break-even units, price-change revenue impact with an elasticity assumption) and a recommendation.
.claude/skills/mohitagw15856-pricing-calculator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 37% | 0% |
Pricing decisions are usually made on gut and defended with a spreadsheet built under deadline. This skill does the math cleanly: the margin on each tier, the break-even volume, and the revenue impact of a price change under an explicit elasticity assumption — so a pricing proposal rests on numbers, with the assumptions visible. (For the strategy — model, packaging, positioning — pair with pricing-strategy; this runs the numbers.)
Ask for these only if they aren't already provided:
1. The numbers (via the helper):
| Scenario | Price | Volume | Revenue | Margin | |---|---|---|---|---| | Today | | | | | | Proposed | | | | |
2. The recommendation — what the math supports, and the volume drop you could absorb before the change loses money (the break-even elasticity — the most decision-useful number).
3. Assumptions — elasticity is an estimate; state it, and how sensitive the conclusion is to it.
scripts/pricing.py (stdlib only) runs the margin / break-even / price-change math:
bash# in.json: {"current_price":50,"variable_cost":10,"current_volume":1000,"price_change_pct":0.2,"volume_change_pct":-0.1,"fixed_costs":20000} python3 scripts/pricing.py in.json python3 scripts/pricing.py in.json --json
Pricing & break-even analysis — contribution margin, break-even volume, price-elasticity sensitivity.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 24,802 | 33,905 | +37% | 1 | 1 | 0% | 3,117 | 5,564 | +79% | 0 | 0 | — |
case-01 | fail→fail | 44,998 | 69,199 | +54% | 1 | 1 | 0% | 3,908 | 5,311 | +36% | 0 | 0 | — |
case-02 | fail→fail | 28,472 | 48,066 | +69% | 1 | 1 | 0% | 3,882 | 2,916 | -25% | 0 | 0 | — |
case-03 | fail→fail | 27,296 | 32,449 | +19% | 1 | 1 | 0% | 4,417 | 5,590 | +27% | 0 | 0 | — |
case-04 | fail→pass | 23,167 | 33,194 | +43% | 1 | 1 | 0% | 2,996 | 5,337 | +78% | 0 | 0 | — |
case-05 | fail→fail | 18,079 | 16,375 | -9% | 1 | 1 | 0% | 2,813 | 3,957 | +41% | 0 | 0 | — |
case-07 | fail→fail | 18,277 | 19,093 | +4% | 1 | 1 | 0% | 2,860 | 3,606 | +26% | 0 | 0 | — |
case-08 | fail→pass | 17,739 | 24,274 | +37% | 1 | 1 | 0% | 3,250 | 4,584 | +41% | 0 | 0 | — |
case-09 | fail→pass | 24,648 | 21,204 | -14% | 1 | 1 | 0% | 3,148 | 3,981 | +26% | 0 | 0 | — |
case-10 | fail→fail | 20,370 | 22,147 | +9% | 1 | 1 | 0% | 2,732 | 4,225 | +55% | 0 | 0 | — |
case-11 | pass→pass | 20,766 | 27,938 | +35% | 1 | 1 | 0% | 3,197 | 4,978 | +56% | 0 | 0 | — |
case-12 | fail→pass | 32,315 | 24,761 | -23% | 1 | 1 | 0% | 2,791 | 3,830 | +37% | 0 | 0 | — |
case-13 | fail→fail | 23,698 | 24,305 | +3% | 1 | 1 | 0% | 2,569 | 5,674 | +121% | 0 | 0 | — |
case-14 | pass→pass | 18,355 | 26,604 | +45% | 1 | 1 | 0% | 2,623 | 4,042 | +54% | 0 | 0 | — |
case-15 | fail→pass | 17,612 | 30,216 | +72% | 1 | 1 | 0% | 2,634 | 5,888 | +124% | 0 | 0 | — |
case-16 | pass→pass | 17,895 | 41,306 | +131% | 1 | 1 | 0% | 2,850 | 4,665 | +64% | 0 | 0 | — |
case-17 | fail→fail | 21,681 | 18,837 | -13% | 1 | 1 | 0% | 2,534 | 3,791 | +50% | 0 | 0 | — |
case-18 | fail→pass | 15,286 | 23,715 | +55% | 1 | 1 | 0% | 2,468 | 4,643 | +88% | 0 | 0 | — |
case-19 | fail→pass | 14,175 | 29,435 | +108% | 1 | 1 | 0% | 2,605 | 5,627 | +116% | 0 | 0 | — |
case-20 | fail→fail | 22,191 | 23,107 | +4% | 1 | 1 | 0% | 2,397 | 4,279 | +79% | 0 | 0 | — |
case-21 | fail→pass | 19,256 | 29,737 | +54% | 1 | 1 | 0% | 2,078 | 6,788 | +227% | 0 | 0 | — |
case-22 | fail→pass | 13,813 | 16,333 | +18% | 1 | 1 | 0% | 2,110 | 4,050 | +92% | 0 | 0 | — |
case-23 | pass→fail | 20,962 | 39,426 | +88% | 1 | 1 | 0% | 3,145 | 7,976 | +154% | 0 | 0 | — |
case-24 | pass→pass | 20,216 | 28,320 | +40% | 1 | 1 | 0% | 3,440 | 5,055 | +47% | 0 | 0 | — |
case-25 | pass→pass | 31,584 | 53,833 | +70% | 1 | 1 | 0% | 4,105 | 5,075 | +24% | 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. 25 cases were attempted, and 24 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 24 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.