# Pricepilot backtest — Sun 15 Nov 2026

**Verdict:** At $49.00 fee + 2,000 included actions + $0.10 overage your MRR goes from $9,475 to $8,650 (-8.7%). 4 customers neutral, 19 falling, 7 rising (biggest: Bluepeak Logistics +87%). Revenue-neutral: $0.11149 overage (same fee and allowance) keeps MRR at $9,475.

New model: $49.00 fee + 2,000 included actions + $0.10 overage. Currency: USD (symbol only, no conversion). Metric: actions.

## Per-customer bills (sorted by change % desc)

| Customer | Seats | actions | Old | New | Change | % | Band | Capped yr-1 | Per seat | Per action |
|---|---|---|---|---|---|---|---|---|---|---|
| Bluepeak Logistics | 22 | 11800 | $550.00 | $1,029.00 | $479.00 | +87.1% | rising | $660.00 | $46.77 | $0.087203 |
| Acme Dental | 40 | 18200 | $1,000.00 | $1,669.00 | $669.00 | +66.9% | rising | $1,200.00 | $41.73 | $0.091703 |
| Granite Finance | 14 | 6800 | $350.00 | $529.00 | $179.00 | +51.1% | rising | $420.00 | $37.79 | $0.077794 |
| Marina Hotels | 12 | 5900 | $300.00 | $439.00 | $139.00 | +46.3% | rising | $360.00 | $36.58 | $0.074407 |
| Juniper Health | 18 | 7600 | $450.00 | $609.00 | $159.00 | +35.3% | rising | $540.00 | $33.83 | $0.080132 |
| Tern Shipping | 9 | 4200 | $225.00 | $269.00 | $44.00 | +19.6% | rising | $269.00 | $29.89 | $0.064048 |
| Foxglove Media | 11 | 4700 | $275.00 | $319.00 | $44.00 | +16.0% | rising | $319.00 | $29.00 | $0.067872 |
| Maple Mortgages | 2 | 450 | $50.00 | $49.00 | -$1.00 | -2.0% | neutral | $49.00 | $24.50 | $0.108889 |
| Willow HR | 15 | 5100 | $375.00 | $359.00 | -$16.00 | -4.3% | neutral | $359.00 | $23.93 | $0.070392 |
| Northwind Clinics | 32 | 9100 | $800.00 | $759.00 | -$41.00 | -5.1% | neutral | $759.00 | $23.72 | $0.083407 |
| Dune Travel | 7 | 3100 | $175.00 | $159.00 | -$16.00 | -9.1% | neutral | $159.00 | $22.71 | $0.05129 |
| Sable Insurance | 10 | 3300 | $250.00 | $179.00 | -$71.00 | -28.4% | falling | $179.00 | $17.90 | $0.054242 |
| Harbour Legal | 28 | 6400 | $700.00 | $489.00 | -$211.00 | -30.1% | falling | $489.00 | $17.46 | $0.076406 |
| Kestrel Security | 3 | 1100 | $75.00 | $49.00 | -$26.00 | -34.7% | falling | $49.00 | $16.33 | $0.044545 |
| Lark Bakeries | 3 | 600 | $75.00 | $49.00 | -$26.00 | -34.7% | falling | $49.00 | $16.33 | $0.081667 |
| Fern Accountants | 25 | 5200 | $625.00 | $369.00 | -$256.00 | -41.0% | falling | $369.00 | $14.76 | $0.070962 |
| Meadow Vets | 20 | 4300 | $500.00 | $279.00 | -$221.00 | -44.2% | falling | $279.00 | $13.95 | $0.064884 |
| Bramble Foods | 8 | 2600 | $200.00 | $109.00 | -$91.00 | -45.5% | falling | $109.00 | $13.63 | $0.041923 |
| Fjord Fisheries | 6 | 2300 | $150.00 | $79.00 | -$71.00 | -47.3% | falling | $79.00 | $13.17 | $0.034348 |
| Copperfield Estates | 18 | 3800 | $450.00 | $229.00 | -$221.00 | -49.1% | falling | $229.00 | $12.72 | $0.060263 |
| Iris Pharmacies | 4 | 800 | $100.00 | $49.00 | -$51.00 | -51.0% | falling | $49.00 | $12.25 | $0.06125 |
| Jett Printers | 4 | 1400 | $100.00 | $49.00 | -$51.00 | -51.0% | falling | $49.00 | $12.25 | $0.035 |
| Garnet Jewellers | 5 | 900 | $125.00 | $49.00 | -$76.00 | -60.8% | falling | $49.00 | $9.80 | $0.054444 |
| Heather Nurseries | 5 | 1700 | $125.00 | $49.00 | -$76.00 | -60.8% | falling | $49.00 | $9.80 | $0.028824 |
| Atlas Roofing | 15 | 2900 | $375.00 | $139.00 | -$236.00 | -62.9% | falling | $139.00 | $9.27 | $0.047931 |
| Ember Fitness | 6 | 1200 | $150.00 | $49.00 | -$101.00 | -67.3% | falling | $49.00 | $8.17 | $0.040833 |
| Pinecrest Dental | 12 | 2400 | $300.00 | $89.00 | -$211.00 | -70.3% | falling | $89.00 | $7.42 | $0.037083 |
| Cobalt Recruiting | 7 | 1900 | $175.00 | $49.00 | -$126.00 | -72.0% | falling | $49.00 | $7.00 | $0.025789 |
| Hazel Opticians | 8 | 1500 | $200.00 | $49.00 | -$151.00 | -75.5% | falling | $49.00 | $6.13 | $0.032667 |
| Rowan Architects | 10 | 2100 | $250.00 | $59.00 | -$191.00 | -76.4% | falling | $59.00 | $5.90 | $0.028095 |

## Totals

- Old MRR $9,475.00 (ARR $113,700.00) → new MRR $8,650.00 (ARR $103,800.00), -8.7%
- Bands: 4 neutral, 19 falling, 7 rising (band and wave timings are labelled heuristics)
- Revenue at risk (rises on rising accounts): $1,713.00/month
- Cost of first-year cap: $1,095.00/month ($13,140.00/year); capped MRR $7,555.00
- Falling accounts: $2,461.00/month new revenue, down $2,464.00/month
- Concentration: top before Acme Dental 10.6%; top after Acme Dental 19.3%

## Revenue-neutral solution

Formula: overageRate = (target − n×fee) / Σmax(0, actions − included) = (9475.00 − 1470.00) / 71800
Solved overage rate 0.11149 per action above 2000 included hits the target before per-customer rounding to 2 dp.
Solved price: $49.00 fee + 2,000 included actions + $0.11149 overage
Re-run at solved price: MRR $9,475.00 vs old $9,475.00 (0.0%).

## Migration plan (suggested)

- Wave 1 — neutral (suggested) — Mon 1 Feb 2027: 4 customers. Bills barely change; safest first. Fix every invoice question here before wave 2.
- Wave 2 — falling (suggested) — Mon 1 Mar 2027: 19 customers. These customers pay less. Confirm the revenue drop is the one in the backtest, not larger.
- Wave 3 — rising (suggested) — Thu 1 Apr 2027: 7 customers. Most reason to leave: give at least one full renewal cycle of notice and the first-year 20% increase cap shown in the table.

## Next steps

1. Sun 15 Nov 2026 — Agree the price from this backtest. Check the rising accounts by name; adjust rate, fee or included actions until the riser list is one you can defend.
2. Sun 15 Nov 2026 — Create the Stripe prices in test mode. Use the exported Price JSON as a starting point; replace prod_REPLACE and mtr_REPLACE, then test in Stripe test mode.
3. Tue 1 Dec 2026 — Send shadow invoice 1 and announce. Show each customer their new-model invoice alongside the real (old-price) invoice. Send the notice draft.
4. Fri 1 Jan 2027 — Send shadow invoice 2. Second shadow month; answer questions, confirm the cap for rising accounts in writing.
5. Mon 1 Feb 2027 — Cut over wave 1 (neutral). Move neutral customers to the new Stripe prices.
6. Mon 1 Mar 2027 — Cut over wave 2 (falling). Move falling customers; watch revenue against this backtest.
7. Thu 1 Apr 2027 — Cut over wave 3 (rising, capped). Move rising customers with the first-year 20% cap applied.

## Stripe set-up (starting point — test in Stripe test mode)

### Input price

```json
{
  "note": "Starting point — test in Stripe test mode. Replace prod_REPLACE with your Product ID and mtr_REPLACE with your meter ID. Fixed fee + overage: report only usage above the 2000 included actions to the overage meter (or model the allowance in your usage pipeline), so the metered price bills overage only.",
  "endpoint": "POST https://api.stripe.com/v1/prices",
  "prices": [
    {
      "nickname": "Fixed fee (monthly, includes allowance)",
      "product": "prod_REPLACE",
      "currency": "usd",
      "billing_scheme": "per_unit",
      "unit_amount": 4900,
      "recurring": {
        "interval": "month",
        "usage_type": "licensed"
      }
    },
    {
      "nickname": "Overage (per action above included, metered)",
      "product": "prod_REPLACE",
      "currency": "usd",
      "billing_scheme": "per_unit",
      "unit_amount_decimal": "10",
      "recurring": {
        "interval": "month",
        "usage_type": "metered",
        "meter": "mtr_REPLACE"
      }
    }
  ]
}
```

### Stripe set-up — solved revenue-neutral price

```json
{
  "label": "solved revenue-neutral price",
  "note": "Starting point — test in Stripe test mode. Replace prod_REPLACE with your Product ID and mtr_REPLACE with your meter ID. Fixed fee + overage: report only usage above the 2000 included actions to the overage meter (or model the allowance in your usage pipeline), so the metered price bills overage only.",
  "endpoint": "POST https://api.stripe.com/v1/prices",
  "prices": [
    {
      "nickname": "Fixed fee (monthly, includes allowance)",
      "product": "prod_REPLACE",
      "currency": "usd",
      "billing_scheme": "per_unit",
      "unit_amount": 4900,
      "recurring": {
        "interval": "month",
        "usage_type": "licensed"
      }
    },
    {
      "nickname": "Overage (per action above included, metered)",
      "product": "prod_REPLACE",
      "currency": "usd",
      "billing_scheme": "per_unit",
      "unit_amount_decimal": "11.149025069638",
      "recurring": {
        "interval": "month",
        "usage_type": "metered",
        "meter": "mtr_REPLACE"
      }
    }
  ]
}
```

## Customer notice draft

Subject: A change to how we charge — your projected bill is inside

Hi {customer} team,

I'm writing to tell you about a change to our pricing, and to show you exactly what it means for your bill before anything changes.

Today you pay per seat. From {cutover_date} we will charge based on actions instead: $49.00 fee + 2,000 included actions + $0.10 overage. We are making this change because teams are getting more done with fewer seats, and we think price should track the value you use, not headcount.

Your projected monthly bill on the new pricing (based on your recent usage): {new_bill} — you currently pay {old_bill}. {cap_line}

For the next two months you will see a "shadow" version of your invoice on the new pricing alongside your normal invoice, so there are no surprises. Nothing about your access changes, and you do not need to do anything.

If the projected number looks wrong, or you want to talk through your usage, reply to this email and I will look at your account personally.

Thank you for being a customer.

---
Fill in before sending (do not send this section):
- {cutover_date}: use the date for this customer's wave — neutral customers: Mon 1 Feb 2027; falling customers: Mon 1 Mar 2027; rising customers: Thu 1 Apr 2027 with the first-year cap.
- {cap_line}: rising customers only — replace it with "For the first year, your bill will not rise by more than 20% above what you pay today, whatever your usage does." For neutral and falling customers, delete {cap_line} (their bill is not rising, so do not promise them a cap).

## Internal summary

Backtest: 30 customers move from $9,475.00/month to $8,650.00/month (-8.7%); 7 rising accounts put $1,713.00/month of increases at risk, a first-year 20% increase cap costs $1,095.00/month ($13,140.00/year), and the top customer is Acme Dental at 19.3% of new MRR.

## Sources

- [Stripe — Set up tiered pricing (volume)](https://docs.stripe.com/subscriptions/pricing-models/tiered-pricing) (stripe): "With volume-based pricing, the subscription item bills at the tier corresponding to the amount of usage at the end of the period."
- [Stripe — Set up tiered pricing (graduated)](https://docs.stripe.com/subscriptions/pricing-models/tiered-pricing) (stripe): "Graduated pricing charges for the usage in each tier instead of applying a single price for overall usage."
- [Stripe — Add a flat rate (flat_amount)](https://docs.stripe.com/subscriptions/pricing-models/tiered-pricing) (stripe): "If `quantity` is `12` and `tiers_mode=volume`, the total amount billed is: 12 × 3 USD + 30 USD = 66 USD"
- [Stripe API — Create a price (tiers.up_to)](https://docs.stripe.com/api/prices/create) (stripe): "Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier."
- [Stripe API — Create a price (unit_amount_decimal)](https://docs.stripe.com/api/prices/create) (stripe): "Same as `unit_amount`, but accepts a decimal value in the smallest currency unit with at most 12 decimal places."
- [Stripe — Design a subscriptions integration (fixed fee and overage)](https://docs.stripe.com/billing/subscriptions/design-an-integration) (stripe): "Fixed fee and overage pricing: You charge 100 USD per month for usage of up to 100 tokens. If a customer uses more than 100 tokens in a month (overage), you also charge 2 USD for each token used beyond the initial 100."
- [Heuristic (third-party) — ±10% band](https://www.revenuebestpractices.com/p/migrate-seat-to-usage-pricing) (heuristic-third-party): "Rising. The usage bill is more than 10% above the seat bill. Neutral. The usage bill is within 10% either way."
- [Heuristic (third-party) — wave order neutral, falling, rising](https://www.revenuebestpractices.com/p/migrate-seat-to-usage-pricing) (heuristic-third-party): "Sequence the waves by risk, not by size or renewal date alone."
- [Heuristic (third-party) — shadow invoices](https://orvlin.com/blog/migrate-to-usage-based-pricing) (heuristic-third-party): "Generate shadow invoices on the new model alongside real invoices for one or two cycles"

Pricepilot · Daily Ships · Planning aid, not financial advice. Billing maths follows Stripe's published tiered, per-seat and usage-based examples (checked 15 Nov 2026); bands, caps and wave timings are labelled heuristics.
