Product Components

Components allow you to introduce additional “line items” to your Products that are often expressed as “add-ons”, upsold features, or pay-per-use items. See the blog post about quantity-based components that introduces the Components feature in general.

Components are defined at the Product Family level, and are therefore available to all Products within the Family.

Components that are “used” on a Subscription have their charges billed at the end of the period (which coincides with the start of the next period, which is when recurring charges are also billed). See Setting Component Allocations for more.

Types of Components

Quantity-based

This component type would be used when a Subscription is provisioned with a certain quantity of an item, and charges are calculated based on that quantity (i.e. “per-seat”). These components also give the ability to use different pricing schemes, such as per-unit, volume, tiered, and stairstep. Some examples:

  • IP Addresses – say your basic service offers 1 custom IP address for free, and extras can be purchased for $1 each
  • Extra Projects – say your project management service allows users to purchase extra “projects” a la carte for $5/each/month.
  • Software seats that cost $100/each when you buy 1-5, $90/each when you buy 6-10, etc.
  • Charge flat fees based on a number of customers (like how Chargify works):
    • 0-50 customers = $0
    • 51-500 = $49
    • etc

Each “widget” that you’ve reported to us as being in use is assumed to remain in use by that Customer until some future change. In other words, the quantity allocated does NOT reset to 0 at the end of the billing period. In contrast, Metered-usage component usages DO reset to 0 at the end of the period.

Metered-usage

For Metered Components, you tell us every time one of your Customers uses some unit or units of your “widgets”. At the end of the billing period, Chargify will bill your customer for the total number of widgets used, and then we will reset the widget count to zero and the whole process starts over for the new billing period.

Note that this is different from Quantity-based components, which DO NOT reset to zero at the start of every billing period. If you want to bill for a quantity of something that does not change unless you change it, then you want Quantity Components, instead.

Some examples:

  • An email gateway provides 1000 credits per period, but allows you to send over your credit limit at a cost of $0.10 per email per period
  • A hosting company that charges for hours of compute time at a certain cost per hour

On/Off

This component type is used to elect “add-on” options where electing the option results in an extra charge. Some examples:

  • A web app offers an SSL connection upgrade at $5/month

Creating/Configuring Components available for Product Families

Components are defined on the Product Family level, and are available to all Products within the Family. To create any Component for a Product Family, start on the “Products” tab and click “Create a Component”.

Next, you’ll be able to choose what type of component to create.

Creating Quantity-based Components

Choose to create a “Quantity Based Component” and define it using the form.

Quantity Components support 4 “pricing schemes” via a dropdown select on this form: per-unit, volume, tiered, and stairstep. The latter 3 schemes (volume, tiered, and stairstep) allow you to define multiple price brackets (or “steps”), so you can charge different amounts depending on the quantity allocated.

General Price Bracket Rules

  • No Overlap: Brackets may not overlap in quantity
  • No Gaps: Gaps in quantity are not allowed; however the lowest bracket need not start at 1
  • Defining Infinity: One bracket with a blank “ending quantity” is allowed – a blank value here indicates an unbounded quantity (∞)
  • Per-Unit or Per-Bracket: Prices should be given as “per unit” for per-unit, tiered, and volume pricing schemes. Prices for the stairstep pricing scheme are given as a cost for the entire bracket.

Per-unit Pricing Scheme

In a per-unit pricing scheme, prices are defined as per-unit costs, and all units cost the same. Thus, only 1 price bracket may be defined. If you define a component for “IP Addresses” that cost $1/each/period and a customer buys 3, then a $3 charge would be added at the end of the period.

Tiered Pricing Scheme

In the tiered pricing scheme, multiple price brackets define the prices at different quantity levels. Prices are given on a per-unit basis. Your customers will pay the defined price per unit for each allocated unit. An example can illustrate this the best. Say you allow your customers to purchase extra widgets to augment their monthly plan. The pricing structure is defined as follows:

Starting quantity Ending quantity Price each
1 10 $2
11 20 $1

If a customer buys 10 units, they will pay $2 per unit, for a total of $20.

If a customer buys 20 units, they will pay $2 each for the first 10 units, plus $1 each for the next 10 units, for a total of $30 (10 x $2 + 10 x $1).

Volume Pricing Scheme

In the volume pricing scheme, multiple price brackets define the prices at different quantity levels, much like in the tiered scheme. However, unlike the tiered scheme, the price per unit for all units is determined by the prevailing price for the allocated quantity. So, taking the pricing setup from the earlier example:

Starting quantity Ending quantity Price each
1 10 $2
11 20 $1

If a customer buys 10 units, they will pay $2 per unit, for a total of $20.

If a customer buys 20 units, they will pay $1 per unit for all units, for a total of $20.

Stairstep Pricing Scheme

In the stairstep pricing scheme, multiple price brackets are defined, but the pricing is given as a total cost for the whole bracket instead of per unit costs. This is how Chargify itself works.

Starting quantity Ending quantity Price
1 10 $10
11 20 $20

If 10 units are allocated (i.e. 10 paying customers), then the cost would be $10 total for this component.

If 20 units are allocated, then the cost would be $20 total for this component.

Creating Metered Components

Choose to create a “Metered Component” and define it using the form.

Creating a Metered Component works exactly like creating a Quantity Based Component (see above).

Once you have created a Metered Component, it will appear under the Product Family on the Products tab. You can make changes to the component by clicking the ‘Edit’ link.

Creating On/Off Components

Choose to create a “On/Off” and define it using the form.

An On/Off Component consists of 3 pieces of information:

  • Name: The name of the Component. i.e. Text Messages
  • Price: The amount the customer will be charged per unit

Once you have created an On/Off Component, it will appear under the Product Family on the Products tab. You can make changes to the component by clicking the ‘Edit’ link.

Setting Component allocations on Subscriptions

Once a Component has been defined for a Product Family, any Subscription to a Product within that Family may have usage or allocation data reported in order to assess charges for them at the end of the period.

For more information, please see Setting Component Allocations.

At this time, the current minimum price that you can set for any component’s unit price or price at each tier is $0.0001.