How we score it
Every receipt gets a Nerf Score (0–100). Every vendor gets a rolling Nerf Index (0–100) that decays with time. Higher = worse for users. The rubric is fully transparent, deterministic, and open-source — no LLM in the scoring loop.
Per-event Nerf Score
The score is kind_weight × severity_multiplier, clamped to 0–100.
Kind weights
Higher base weight = more user harm.
| Change kind | Weight | Why |
|---|---|---|
| tier-removed | 28 | Bought-thing is gone (Claude Code April 2026) |
| billing-model-shift | 26 | Surprise-bill territory (Cursor June 2025) |
| rate-limit-cut | 24 | Same price, less throughput |
| free-tier-nerf | 22 | Funnel collapse, trust hit |
| model-swap | 20 | Silent quality regression |
| feature-gated | 18 | Used to have it, now upsell |
| price-increase | 16 | |
| tos-change | 12 | Slow-burn rights creep |
| feature-ungated | -6 | Positive: gated thing now free |
| tier-added | -4 | Positive (unless cannibalizes existing tier) |
| rate-limit-raise | -8 | Positive: more throughput |
| price-decrease | -10 | Positive |
Severity multipliers
- critical × 2.6 — materially reduces paid-user value
- major × 1.8 — substantive user-facing change
- minor × 1.0 — clarification or copy edit
- info × 0.5 — additive (new tier, new feature) without removing existing value
Per-vendor Nerf Index
Aggregate of every receipt for a vendor, weighted by recency. Half-life is 180 days — a year-old nerf still counts but at a quarter weight. Mapped onto 0–100 via a logistic squash so a single critical nerf doesn't max the index; repeated nerfs stack with diminishing returns.
Index bands
- 0–4 · no receipts
- 5–24 · clean
- 25–49 · on watch
- 50–74 · shrinking
- 75–100 · predator
Source
Code at lib/score.ts. File a PR if you disagree with a coefficient — we'll respond in the open.