Skip to main content

Tiered pricing model

The tiered pricing model is one of the pricing models. This page explains how it calculates the amount of a pricing preset.

Map of concepts

The following modules use the tiered pricing model:

Tiered pricing model: a price for each tier

The tiered pricing model is the pricing model that charges each part of the quantity the price per unit of the tier that the part falls in. The tiered pricing model has a list of tiers, in Tiered pricing. For each period, Zenskar fills the tiers in order, from the first tier. The amount is the sum over the tiers:
The following tiers give the following amounts: The amount always grows with the quantity. A unit that enters a higher tier changes only the price of that unit, not the price of the units before it. The tiered pricing model always uses the inclusive tier boundary. The 1,000th unit belongs to the first tier, and the 1,001st unit to the second tier. Zenskar keeps the full precision of the prices during the calculation. It rounds the amount to the currency at the end of the calculation of the line item. For a comparison with the volume pricing model, see Volume and tiered pricing models.

Point-in-time products: the count continues across billing periods

For a point-in-time product, the price per unit of a tier is the price of one unit, with no period attached. The tier-reset period decides how long the count of units continues. Within a tier-reset period, each billing period continues the count where the previous billing period stopped. Its units fill the tiers from that point. The amounts of earlier billing periods do not change. With the tiers above, a quarterly tier-reset period, monthly billing, and 600 units in each month give the following amounts: The quarter costs $164.00, the same as 1,800 units in one billing period. In April, the count starts again from 0. When the tier-reset period equals the billing period, each billing period fills the tiers from the first tier.

Period-of-time products: tiers for each quantity

For a period-of-time product, the price per unit of a tier covers one pricing period. For example, $20 per seat per month. A pricing preset of a period-of-time product has no tier-reset period. The quantity of a period-of-time product is a level that holds over time, such as a number of seats. Each quantity fills the tiers from the first tier. Quantities do not add up across billing periods. Zenskar converts the amount to each billing period with the period ratio:
The following tiers are prices per seat per month: When the quantity changes partway through a billing period, each part of the billing period fills the tiers from the first tier with its own quantity. See Partial periods. This section describes billing periods that the line item covers in full, with the recurring quantity strategy.

Partial periods

The tiered pricing model handles partial billing periods in the same way as the per-unit pricing model. For a period-of-time product with the recurring quantity strategy, the partial-period handling of the line item decides whether a partial part of a billing period is prorated by days or charged in full. The tiers are filled first, and the proration applies to the amount. See Partial periods on the per-unit page. For a point-in-time product, the pricing model does not prorate.

On-demand quantities on period-of-time products

With the on-demand quantity strategy, a quantity is a purchase at one point in time. For a period-of-time product, the on-demand quantity of a billing period fills the tiers from the first tier. Zenskar charges the full prices of the tiers, in the billing period of the purchase:
The period ratio and the partial-period handling do not apply. The amount is not spread over later billing periods.

Tiered pricing model on a line item

A line item calculates its charges with the tiered pricing model of its pricing preset. A price override on the line item can change the tiers, and the pricing period or the tier-reset period. The pricing model stays tiered. The calculations on this page then use the overridden values. See Line item: pricing.