Pricing

Block pricing

Also called: Banded pricing, Package pricing, Bucket pricing

Charging for usage in fixed-size blocks, where any consumption within a block costs the full block price.

Formula

Charge = ceil(Usage ÷ Block size) × Block price

Block pricing sells usage in chunks. At $100 per block of 1,000 API calls, a customer using 2,400 calls buys three blocks and pays $300 — the partial third block costs the same as a full one.

It is the structure behind pricing pages that read “$100 per 1,000 messages” or “$500 per 10,000 records.”

Why it is used

  • Predictability for the customer. Costs move in known steps rather than continuously.
  • Simplicity in quoting. One block size, one block price, no rate table.
  • Margin protection. Rounding up captures the cost of serving partial blocks.

The trade-off

The customer at 2,400 calls pays an effective rate of $0.125 per call while the customer at 3,000 pays $0.10. Effective unit price varies with how neatly usage divides into blocks, which customers find arbitrary when they work it out — and on a large contract, they work it out.

Smaller blocks reduce the distortion but erode the simplicity that motivated the model.

Blocks combine with everything else

Block pricing is rarely the whole model. It is usually one charge inside a hybrid structure — a platform fee, an included allowance, then additional blocks purchased as needed — or it defines the granularity of an overage charge above a minimum commitment. Any catalog that has to support real B2B contracts needs blocks alongside tiered and volume rates rather than instead of them.

Stop calculating this in a spreadsheet

Bunny computes SaaS metrics, revenue schedules and retention from your live billing data — because quoting, subscriptions, usage and invoicing all sit in one system.