Suppose you run a SaaS company that provides a build-and-host application service to developers. You want to charge customers in the first instance on a user license basis and allow for the number of developer licenses to increase and decrease throughout a customer's contract service period. Bills created for each billing period should correctly reflect any such changes in the number of developer licenses subscribed to. You also want to charge for any data storage developers make use of on a per gigabyte stored basis, which is an add-on service you offer. This amounts to a hybrid pricing model:
The user license charges are a form of recurring subscription charges best served by a unit-based pricing model.
The data storage charges are best served by a usage-based pricing model based on metered data storage volumes.
In m3ter, you can easily implement this kind of hybrid pricing model for your end-customer Accounts and set up pricing for an Account Plan that combines the rates you want to apply for both types of charge. At billing, all charge amounts due on the Account are combined in a single Bill.
This topic offers a worked example for this hybrid pricing use case, taking you through:
We'll first set up a Product and Account for the hybrid pricing example.
To set up a Product and an Account:
First, create a Product:
1. In the Console, select Product and then select Create Product.
2. Under Product Details enter a Name and Code for the new Product and then select Create Product:
For the example, we've called the Product: Dev License and Store.
3. Select Accounts and then select Create Account.
4. Under Account Details enter Name, Code, and Email Address, and then select Create Account:
For the example, we've called the Account: Dev License n Store Account 1.
For our hybrid pricing example to set up pricing for the Account, we'll need to
Create two pricing metrics:
An Aggregation that sums metered values for storage volumes on the Account.
A Counter to track the number of developer licenses the Account subscribes to.
Create a Plan Template and Plan for the Product.
Use our pricing metrics to price a Product Plan.
Attach the priced Plan to the Account.
To set up pricing for the Account:
First, create an Aggregation targeting a Meter field:
1. Open the Usage>Meters page, for Product select Dev License and Store, and select Create Meter. Here's the Meter configuration:
For the example, we've created a Meter with a single Measure Data Field - GigBytes Storage -to collect usage data amounts for gigabytes of storage used: Dev Store Meter 1.
2. Select Create Meter.
3. Select Usage>Aggregations, for Product select Dev License and Store, and select Create Aggregation. Here's the Aggregation configuration:
Aggregation Details:
We've called the Aggregation: Dev Store Agg 1.
Meter Settings:
The Aggregation targets the GigBytes Storage field on Dev Store Meter 1.
Aggregation Settings:
The Aggregation applies a SUM function to give a usage-based pricing metric of the total of values submitted for the GigBytes Storage target field for a billing period.
4. Select Create Aggregation.
Second, create a Counter:
5. Open the Usage>Counters page, for Product select Dev License and Store, and select Create Counter. Here's the Counter Details configuration:
For the example, we've created the Dev License Counter to use Licenses as the Counter Unit.
6. Select Create Counter.
Third, create a Plan Template and Plan for the Product:
7. Open the Pricing>Plan Templates page, for Product select Dev License and Store, and select Create Plan Template. Here's the Plan Template Details configuration:
We've created the Dev License n Store Template 1 and set it up for Monthly Bill frequency using US Dollar as the billing Currency.
For the current example, we can omit setting up any Standing Charge or Minimum Spend amounts for the Plan Template.
8. Open the Pricing>Plans page, for Product select Dev License and Store, and select Create Plan. Here's the Plan Details configuration:
The Dev License n Store Plan 1 is based on Dev License n Store Template 1. The Plan will inherit the Monthly Billing frequency and US Dollar billing Currency we set up for the template.
For the current example, we can omit setting up any Standing Charge or Minimum Spend amounts for the Plan.
9. Select Create Plan.
Fourth, price the Plan:
10. Open Pricing>Pricing Editor and for Product select Dev License and Store.
11. Select Add Plans and add Dev License n Store Plan 1.
12. Select Add Aggregations and add Dev Store Agg 1.
13. Select Add Counters and add Dev License Counter.
14. Create a pricing for the Plan using both the Aggregation and Counter. Here's the set up for the Pricing in the pricing grid:
For the usage-based pricing using Dev Store Agg 1, we've set up a two-tiered pricing structure.
For the subscription unit-based pricing using Dev License Counter, we've set up a two-tiered pricing structure.
Each pricing will apply to the Plan for the period July 1st 2024 through to June 30th 2025.
Lastly, attach the priced Plan to the Account
15. Open Dev License n Store Account 1, select the Attached Plans tab, and select Create Plan Attachment. Here's the Plan Attachment Details:
Note that for convenience, we've set up the period the Plan will be active for the Account to correspond with the period the pricing applies to the Plan.
For the current example, we do not need to change any of the Plan Attachment Settings.
16. Select Create Plan Attachment.
We now have a Product Plan set up for hybrid pricing and attached to our example Account.
To be able to run billing against the Account, we'll need to submit or post some sample Product consumption for the Account:
Metered measures for stored data volumes used by the Account.
Counter Adjustments for developer license numbers subscribed to on the Account.
To submit sample Product consumption for the Account:
First, submit some sample measures for stored data volumes:
1. Open the Usage>Meters page, for Product select Dev License and Store.
2. Select Dev Store Meter 1 hotlink text to open the Meter's Details page.
3. Scroll down to the Submit Measurements panel and select the Submit usage data tab.
4. For Account, select Dev License n Store Account 1 and submit two usage data measures using the Meter's GigBytes Storage field:
A measure Value of 50.
A measure Value of 20.
Make the Timestamp for each a Date/Time in July 2024.
Second, post a sample Counter Adjustment to the Account:
5. Open the Dev License n Store Account 1 page and select the Counter Adjustments tab.
6. Select the Dev License Counter and then Create Counter Adjustment.
7. Create a single Counter Adjustment for July 1st 2024. Here's the Counter Adjustment Details:
8. Select Create Counter Adjustment.
We now have some sample product consumption entered for the Account for July 2024 - both data volume stored and Dev Licenses subscribed to for the month's billing period.
We'll run billing for the Dev License n Store Account 1 for the July 2024 billing period and review and check the Bill.
To run billing for the Account:
1. Open the Dev License n Store Account 1 page and select the Bills tab.
2. Select Run billing and on the modal that appears enter:
Invoice date. Use the calendar pop-out to select August 1st 2024.
Bill Frequency. Select Monthly.
Target currency. Select US Dollar.
3. Select Run billing. The modal closes and the Bill job executes. When the Bill job completes the newly generated Bill is listed on the Bills tab.
4. Select the REFERENCE hotlink text for the Bill. The Bill opens in Bill Management:
On review, we see that line item charges for the hybrid pricing for the Dev License ad Store Product are combined in the single Bill:
The 70 GigBytes Stored are shown as Usage and are calculated correctly according to the two-tiered pricing we set up using the Dev Store Agg 1.
The 15 Licenses are shown as a Counter running total charge and are calculated correctly according to the two-tiered pricing we set up using Dev License Counter.
Login to the Support portal for additional help and to send questions to our Support team.