This document provides a detailed look at the options for defining plans within Metronome. If you haven't already, read the products and pricing overview to understand the role of plans in how Metronome prices and invoices customers.
Plans determine pricing and invoicing
If a product defines what customers pay for, plans determine how much they pay. In the cloud database example from the products and plans overview, the product includes three charges: CPU usage, max storage, and a base recurring charge. The plan tells Metronome what prices each of these charges should carry at any given time and when and how they should be invoiced.
The following example plan shows most of the features of plans:
Customers may pay different prices for the same product for a variety of reasons, such as a discounted rate for prepayment or an individually negotiated enterprise contract. Plans are what determine how much a customer pays for the various charges associated with a product.
A usage-based price is a rate applied to a billable metric. Metronome supports flat rates, tiered pricing and volume-based pricing. In flat pricing, the same rate is applied regardless of quantity.
In tiered pricing, the rate applied depends on the quantity thus far in the billing period. In the cloud database example, a plan might dictate that the first thousand gigabytes of data cost $0.10 per gigabyte, and every gigabyte thereafter costs $0.09.
In volume-based pricing, you still define a set of ranges, however, when usage reaches a new range all usage will acquire the unit price of the highest range reached.
The metric quantity used to price usage-based charges can be converted to a different unit using unit conversion. This applies to all three of the above pricing models. For example, a metric that is sent in bytes can be priced in gigabytes by setting a conversion factor of 1024. The converted quantity can optionally be rounded up or down to the nearest whole number.
Fixed recurring charges
Fixed recurring charges are not related to any billable metric, so they don't depend on usage. The cloud database example product includes a recurring "base charge." A plan needs to set a price for this charge.
A composite charge is a charge based on the total of other charges. It can be configured in two ways:
- A percentage increase or decrease applied to other usage-based and/or fixed charges
- A minimum applied to usage-based, fixed, and/or percentage-based charges
To create a plan with a composite charge, first add a new composite charge to a product during product creation. Then, during plan creation, specify the list of applicable charges, select if the composite charge should be a minimum or percentage-based charge, and the value. Note that all applicable charges must share the same pricing unit as the composite charge and that composite charges cannot be grouped or tiered.
The quantity on a composite charge can be used to enable or disable the charge. To enable the composite charge for a subset of customers on a plan, set the quantity to zero during plan creation, then apply a price adjustment during plan assignment to set the quantity to 1.
The value of the charge can also be modified on a per-customer basis using price adjustments.
Pricing does not always remain constant over time. A common example is an introductory rate with a low invoice minimum that allows new customers to build their integration without paying a lot. This pricing might last for the first billing period or two, after which higher rates and minimums apply.
Metronome supports this in the form of pricing ramps. When you create a plan, you can specify how many pricing ramps exist and how long each one lasts. You'll need to price all the included products for each ramp. This includes setting prices for each charge and adding any needed minimums.
Trial invoices always use the pricing from the plan's first pricing ramp.
Pricing ramps are a flexible way to change prices over time. Use them for changes to a plan that happen with a fixed schedule. For prices that change based on a customer's preferences, e.g. upgrading or downgrading, it's better to use separate plans and move a customer from one to the other.
Metronome supports invoice total minimums and line item minimums. If the customer's spending does not meet the required minimum, an invoice adjustment is added to make up the difference.
Using the cloud database example, an invoice minimum could say that the customer must spend at least $1,000 per billing period overall.
Additionally, a minimum can be applied to a specific set of charges by adding a "Composite charge" during product creation, and then setting up that composite charge as a minimum. The list of charges and minimum value associated with a composite minimum can be specified during plan creation.
Currencies and custom pricing units
Products can be priced in a currency, such as U.S. dollars, or a custom pricing unit. For example, the cloud database product might be priced in "Cloud Consumption Units" (CCUs), which customers purchase up front when signing on. When using a custom pricing unit in a plan, you will be prompted to enter an overage price. For example, a customer may be billed $0.10 per CCU in arrears once any applicable credits are consumed.
Metronome currently supports: USD, EUR, GBP, CAD, ZAR, CHF, AUD, MXN, INR, SEK, NOK, PLN, CZK, TRY, and BRL. If there's a currency you'd like Metronome to support that is not listed here, please reach out to your Metronome representative.
All charges within a given product have to be priced in the same currency or custom pricing unit, but a plan can include multiple products that are priced in different pricing units. A single invoice will be issued with any overages for custom pricing units converted into the invoice's currency, e.g. U.S. dollars.
Price adjustments let you modify the prices on a per-customer basis. For example, you might use the same plan for all your enterprise customers but use price adjustments to give each customer an individual negotiated discount.
Another common use case for price adjustments is "cost-plus" pricing. In this model, your base plan has prices reflecting your business's underlying costs, and you use price adjustments to apply a percentage-based markup.
Price adjustments are modeled as:
- Percentage-based increases/decreases. You can use this to offer a 15% discount or add a 15% markup for a customer.
- Fixed amount increases/decreases. This is used to modify a price by a specific amount, e.g. decreasing the price of a gigabyte of data by $0.50.
- Price override, which sets a specific price for an invoice charge. For example, you can set the price for a gigabyte of data to $0.35 for a single customer.
- Quantity override, which lets you set a specific quantity for a fixed charge. For example, perhaps the underlying plan defaults to 1 developer license (a fixed charge). You can use a quantity override to set the number of licenses for a specific customer to 10.
Invoices show the adjusted prices without the details of how they were computed. For example, if a gigabyte of data costs $1 in the plan and you apply a 15% decrease adjustment for a customer, that customer will simply see a unit price of $0.85 on the invoice with no mention of the 15% adjustment.
The following example shows how you might apply price adjustments:
Replacing a product in a plan will cause customers of that plan to lose price adjustments. If you'd like to replace a product in a plan, note the original price adjustments prior to making the change, save changes to the plan, and then end the plan prior to the beginning of the current invoicing period. Once that's complete, restart the plan at the beginning of the current invoicing period with the correct price adjustments.
A commitment refers to an agreement of a customer to spend a minimum amount of money over a designated period of time - regardless of how much they actually use - typically in exchange for discounted rates.
Commit model types
There are different ways to model customer commitments, and Metronome offers several approaches to doing so. The two basic types of commitments are:
- Pre-paid: A minimum fee is paid upfront, typically at a reduced cost basis, and any usage above that minimum is billed in arrears, at a pre-defined overage rate.
- (Coming soon) Post-paid: Customer pays for usage as they go. At the end of the commitment period, if a customer has spent less than the commitment, the customer is charged a true-up fee equalling the difference between the commitment and their actual usage.
Modeling commits in Metronome
The most common approaches to modeling this in Metronome are as follows:
A customer buys a block of credits, which are burned down with usage. Any credits remaining at the end of the commitment period expire. Many Metronome clients prefer this approach, given the simplicity (no fixed fees, no fee pro-ration) - this can result in a better customer experience and easier revenue recognition. For more information on credits, see Working with credits.
Some of Metronome’s clients may also want to allow customers to use their commitment for multiple products, something known as flexible commitments. In the cloud database example, a customer might commit to spending $2,000, but can choose to spend that $2,000 on Cloud Database only, on another product only, or on a combination of both products. This is easy to model with product-specific credits - when creating a credit grant, simply specify which products the block of credits can be used towards.
Fixed fee & tiered usage
A customer is charged an upfront fixed commitment fee, which covers the first tier of an accompanying usage fee. The first tier of usage is charged at $0 / unit, so customers only start paying additional usage fees when they reach the second tier. For example, if a customer has committed to $100 of spend on Storage which cost $0.1 per GB, they are charged an upfront fixed fee of $100, and a tiered usage fee which is modeled as Tier 1 (0-1000 GB) at $0 / gnome and Tier 2 (>1000 GB) at $0.1 / GB.
Invoice and line-item minimums
A customer is not charged any upfront fees. Instead, they accrue usage charges throughout the invoicing period, and if by the end of that period the customer has not reached the pre-defined invoice minimum, they are charged an additional true-up fee (equaling minimum amount - usage spend), to get them to that minimum. In Metronome, minimums can be applied to the entire invoice, or to specific line items within the invoice.
At present, invoice minimums apply to the invoicing period, which means they are assessed every time an invoice is cut. The ability to apply an invoice minimum fee outside of the invoicing period (e.g., customer receives monthly invoices but is only charged the minimum true-up annually), will be available soon.
In addition to pricing, plans dictate when invoices are produced and which charges are included.
Plans define the invoice schedule. Metronome supports monthly, biweekly, quarterly, annual, and semiannual billing. In the case of monthly billing, billing periods can either start on the first day of each month or monthly based on the plan start date, e.g. the 14th of each month for a customer who started their plan on May 14th. In the case of annual billing, billing periods start based on the plan start date. For example, a customer whose plan starts on February 2nd will have billing periods that start on February 2nd each year.
Billing periods always start and end at midnight UTC.
Because plans can be reused across customers, they don't specify how long they last. You might want to add one customer to a plan in perpetuity, while another customer might have a contract specifying that their plan lasts only one year.
Plans can specify a default trial, which can then be overridden on a per-customer basis.
By default, all charges are billed in arrears, which means that they show up on an invoice at the end of a billing period. Optionally, you can choose to bill for a recurring charge in advance. Such a charge will show up on an invoice at the beginning of a billing period instead.
When choosing to bill in advance, you can also set a schedule. For example, you might choose to charge $1000 for premium support, billed in advance once every three billing periods.
Plans can be created in the Metronome web UI. The plan creation wizard walks you step by step through the process of setting up an invoicing schedule, choosing products, pricing their charges, and setting up any applicable ramps and minimums.
Once you've created a plan, you're ready to associate it with customers. You can do this through the web UI or the API.