Usage Based Billing Models

Schematic enables you to implement usage-based billing models quickly, and enforce any associated limits within your product as your customers reach them using Schematic’s feature management capabilities.

For instance if you have a pay in advance model, when a customer reaches the credit limit, you can prevent them from using more.

While base charges (e.g. a subscription fee) are defined at the plan level, as described here, usage-based billing is defined at the individual entitlement level.

Pay as you go

What is usage based billing?

Usage-based billing is a pricing model where customers are charged based on their usage of a particular feature. This model is useful for businesses offering variable or consumption-based products, such as APIs, cloud services, or subscription tiers with metered features.

Supported Billing Models

Schematic supports a number of usage-based models. If the one you care about is missing, please send us a note at hi@schematichq.com.

Pay as you go

Charge customers based on their usage of a feature without a preset fee or limit.

This is ideal for event-based features in Schematic such API calls or SMS usage.

Configuring pay as you go

  1. Navigate to a plan with a metered entitlement.
  2. Click on the entitlement that you’d like to monetize.
  3. Select “Pay as you go” and the corresponding product from Stripe to aggregate usage against.

Pay as you go

Pay in advance

Charge customers up front for pre-defined usage.

This is ideal for scenarios where customers prefer buying usage in pre-determined chunks, and is supported for trait-based features in Schematic such as Seats or Projects.

Configuring pay in advance

  1. Navigate to a plan with a metered entitlement.
  2. Click on the entitlement that you’d like to monetize.
  3. Select “Pay in advance” and the corresponding product from Stripe to aggregate usage against.

Pay in advance

Fixed fee with overage

Include some amount of usage for a fixed fee, and then charge customers for any additional usage.

This is ideal for scenarios where many customers will fall into the plan’s quota, but you want to allow (and benefit from) customers with heavy usage.

Configuring fixed fee with overage

  1. Navigate to a plan with a metered entitlement.
  2. Click on the entitlement that you’d like to monetize.
  3. For Type, select “Overage”
  4. You can either choose to have Schematic create the product in Stripe for you, or use one already created in Stripe. (If you’re not sure, we recommend letting Schematic create the product for you.)

Steps 1-4

  1. The Soft Limit represents the amount of usage included in the plan. Below this is set to 500, which means the first 500 fast requests are included.
  2. Next, select the duration of the period to track usage. Monthly is by far the most common, and Schematic also supports daily and yearly.
  3. If monthly is selected (as is done here), you will need to determine if the period should reset at the beginning of the month or based off of the billing period of the subscription (e.g. if the customer signed up on the 15th, the period would be measured 15th-14th of next month). Basing it off of the billing period is the most common choice.
  4. The Overage price is the amount to charge for each unit of usage over the soft limit. Here, we set that to $.01 (1 cent) per usage.
  5. Finally, you can optionally configure a Hard Limit (here 5,000) — this represents the maximum amount of usage, at which Schematic will always turn off the flag. Hard Limits can be helpful if there are global resource limits you’re trying to manage or you want to force conversion into a higher plan at a specific usage threshold.

Steps 5-9

Volume pricing

Volume pricing is a common way to provide discounts for large usage. In volume pricing, usage tiers are defined, and the final price paid is based on the usage tier the customer falls into.

Schematic allows you to define the price of each tier as a fixed amount, a per-unit price, or a combination of the two.

Typically, volume pricing uses either a per-unit price or a fixed amount, but not both.

For example. If pricing tiers are defined as follows:

TierUsagePrice
10-100$10 + $1 per unit
2101-200$9 + $0.90 per unit
3201-300$8 + $0.80 per unit
4301+$7 + $0.70 per unit

A customer who uses 150 units would be charged $144 ($9 + 150*$0.90). Notice how only the final tier the customer fell into (101-200) determines the price. This can lead to sharp changes in price around usage cutoffs.

Configuring volume pricing

  1. Navigate to a plan with a metered entitlement.
  2. Click on the entitlement that you’d like to monetize.
  3. For Type, select “Tiered”.
  4. Then, a second Type option will appear below and select “Volume”.

Volume pricing

  1. You can then configure the tiers for the volume pricing. To add a new tier, click the ”+ Add another tier” button below the table.
  2. The configuration for our example is shown in the screenshot below.
  3. When you’re done, click “Save changes” to save your changes.

Volume pricing

Graduated pricing

Graduated pricing is another way to provide discounts for large usage. In graduated pricing, usage tiers are defined, and the price per unit changes as the customer moves through the tiers. In this model, units used earlier in a billing period often cost more than those used later, leading to a more gradual volume discount. The final blended per-unit price cannot be determined until the end of the billing period.

Schematic allows you to define the price of each tier as a fixed amount, a per-unit price, or a combination of the two.

Typically, graduated pricing typically only uses a per-unit price. The example below shows both per-unit and fixed for completeness.

For example. If pricing tiers are defined as follows:

TierUsagePrice
10-100$10 + $1 per unit
2101-200$9 + $0.90 per unit
3201-300$8 + $0.80 per unit
4301+$7 + $0.70 per unit

A customer who uses 150 units would be charged $164 ($10 + 100*$1 + $9 + 50*$0.90). Notice how the first 100 units are charged at $1, while the next 50 units are charged at $0.90.

Because the customer had usage in 2 different tiers, they paid the flat fee price for both tiers. This is typically not the desired behavior, which is why flat fee pricng is not common in graduated pricing models. If you want to include a flat fee, consider adding it to the base plan price, or only including it in the first tier.

Configuring graduated pricing

  1. Navigate to a plan with a metered entitlement.
  2. Click on the entitlement that you’d like to monetize.
  3. For Type, select “Tiered”.
  4. Then, a second “Tyonpe” option will appear below and select “Graduated”.

Volume pricing

  1. You can then configure the tiers for the graduated pricing. To add a new tier, click the ”+ Add another tier” button below the table.
  2. The configuration for our example is shown in the screenshot below.
  3. When you’re done, click “Save changes” to save your changes.

Volume pricing

Credit burndown

Checkout our Credit Burndown Docs.