This document provides a detailed look at the options for defining products within Metronome. If you haven't already, read the products and pricing overview to understand the role of products in how Metronome prices and invoices customers.
What's in a product?
Products determine two things:
- How a customer is charged for a product. This is in the form of a set of charges. A charge can be usage-based, fixed recurring, or a composite charge.
- How a product is displayed on an invoice. This includes things like the names that will appear on the invoice and whether charges are grouped in some way.
Products determine how a customer is charged, e.g. what billable metrics can result in a charge, but they don't determine how much a customer pays. Rates for usage-based pricing and amounts for fixed charges are entered when you create a plan.
Products can be created using the Metronome products web UI. This is generally just done once, when first integrating with Metronome or when adding new products. Most of the process is self-explanatory, but there are a few decisions you'll need to make that merit further explanation here.
By default, each product becomes a line item on an invoice, with the products charges as sub-line items. However, there are occasions where it's useful to group charges in a different way. Returning to the "cloud database" example from the Products and pricing overview, the default view on an invoice looks like this:
In this view, "Cloud database" is the only line item, and there are sub-line items for "CPU usage," "max storage," and "base charge."
Customers may wish to instead see their spending grouped by "cluster" (or some other group key included in the relevant billable metrics). Assuming all the billable metrics are grouped by
cluster_id, you can choose this grouped view instead at the time of product creation:
With this option, there is a line item for each group, e.g. "Cloud database - cluster_id: analytics cluster." Billable metrics are sub-line items under each group. Recurring charges, which don't belong to any group, appear just as they would with grouping turned off.
The option to produce grouped invoices is only available if all selected billable metrics are grouped by the same key. In the example above, both "CPU usage" and "max storage" were grouped by a field called
If you intend to use the grouped presentation on invoices, you'll need to take care when designing your billable metrics to group them by the same key.
Organizing charges into products
A customer's pricing plan can include several products, which gives you choices as to how to organize charges into products. For example, a telephony service could have one product called "Phone," with charges for voice calls and SMS messages, or it could have two separate products called "Voice" and "SMS." Both can support charging customers, so it's not always obvious which configuration is more useful.
There are broadly two factors to consider when deciding how many products to create:
- Invoice presentation
- Product reuse
The way you organize products and charges has a direct impact on invoice presentation. Each product becomes exactly one line item, or, in the case of grouped presentation, each group becomes a line item.
Invoice presentation can be an important consideration when deciding how to organize charges into products. It's often easiest to work backwards from an ideal invoice to determine how to design your products. To facilitate this, the Metronome web UI shows a preview invoice during the product creation process.
If two things should appear under the same line item on an invoice, they need to be included in a single product.
The same product can be used across any number of plans. In an enterprise-focused business, it's typical to have different plans for each customer, while a more self-serve business might have only a few plans that are used by many customers.
Products exist independent of plans because they are meant to be reused. This saves entering the same data over and over, such as the invoice-friendly name for a charge. It also makes it easy to query Metronome to find out what products a customer has access to, regardless of what individual pricing plan they've negotiated.
When deciding how to organize different charges into products, consider product reuse. In the above example, if customers are always going to have access to both voice and SMS features, it probably makes sense to put those charges into a single product, rather than having two separate products that always get bundled together in a plan.
On the other hand, if customers frequently buy just voice calling or just SMS messaging, putting those together in a single product is problematic. When pricing the product in a plan, you'd need to set the price of one or the other to zero, and it would be difficult to determine whether a given customer should have access to SMS messaging.
Fixed recurring charges are a particular place to be thoughtful about product reuse. The cloud database example from the Products and pricing overview included "Premium support" as a separate product. It might be tempting to include that as a recurring charge within the "Cloud database" product, but this could be problematic if the company expanded and started offering a new product called "Analytics." In such a case, it's likely that a customer should be able to buy a premium support contract regardless of whether they're using the database product, the analytics product, or both.
If a customer can buy A without buying B, then A and B should be separate products.
With the right products in place, you're ready to move on to managing plans.