A common challenge with usage-based pricing models is the uncertain nature of future revenue. Usage fluctuates day-to-day, week-to-week, and even month-to-month, making forecasting complex.
Prepaid credits add predictability to usage-based billing while maintaining usage-based billing benefits. With prepaid credits, businesses can capture upfront revenue for future usage.
In this guide, we’ll go through an example of creating a simple usage-based billing model on Octane for a data warehousing company that charges based on storage (in gigabytes). We’ll walk through how to make meters, send usage data, create price plans, and grant users credits that can be used to pay an invoice. As a bonus, we will also talk about how to grant free credits to a user that wants to try out our platform.
1. Setting Up a Project
First let’s navigate to cloud.getoctane.io and login to our account (to get access to the portal contact firstname.lastname@example.org). The first step is to set up our billing project. Choose a name for your project and click “Create Project” to get started.
2. Creating a Meter
We want to charge our customers based on the amount of data they store within our system. To do this, we’ll make a Meter to measure our stored data. Go to the “Meters” tab and create a meter called “Storage”. We will be measuring storage by taking a reading of how much space a customer is using any time their usage changes. To allow us to calculate storage over time using these snapshots, we’ll set this Meter’s type to be “Gauge”. Under “Advanced Settings,” set the type to “Gauge” and the reporting method to “Total Amount”.
Although we want to bill our customers in gigabytes, we’ll be measuring storage in bytes. We can do this by setting this Meter’s unit to be “bytes”.
3. Creating a Price Plan
Let’s create a price plan that allows us to charge on “storage”. We will use a tiered pricing structure that gets cheaper with more usage. To do this, navigate to the “Pricing” tab and click “Add new price plan”. Let’s name this plan “Basic”.
Let’s make a pricing structure that looks like this:
Platform fee: $99/month
Add the $99 as the “Base Rate” and add a Metered Component that encapsulates the “storage” meter. Choose “Tiered” for the pricing structure, “gigabyte” for the unit and “month” for the time unit. Lastly, enter the prices shown above.
Octane handles the unit conversion for us thus allowing us to charge in different multiples kilobytes, megabytes, gigabytes etc.) of our reporting unit (bytes).
Since we set our Meter’s type to be “Gauge,” we can choose what time unit we want to charge on. In this case, select “month”.
4. Registering & Subscribing a Customer
Now that we’ve created a Meter and a Price Plan, it’s time to register a test customer and subscribe them to the “Basic” plan. Typically, most of the our customers will be created via the API when they sign up to our service and are registered to our data warehousing solution. Since the service in this guide is imaginary, we will create customers via the UI instead. Navigate to the “Customers” tab and click the “+” sign on the top right corner of the “All Customers” table. We will name our Customer “Demo”, hit save, and then subscribe this Customer to the Price Plan as seen below.
5. Granting Credits
Our company has negotiated a deal with a Demo customer to buy $10,000 worth of prepaid credits for a 25% discount. These credits will last a year from the day of purchase.
To add credits for the Demo customer, click on their name and go to their specific page. Locate the “Credits” tile and click the three dots to grant credits.
We will grant them $10,000 worth of credits for a price of $7,500 dollars (25% discount). Next, set the expiration to be one year from today and add a description explaining why we gave this credit grant.
Click “Save” and an invoice will be immediately generated. Based on our billing settings (read more here) the customer will be charged for this invoice automatically. You can also view this customer’s credit ledger that shows the history of credit grants and drawdowns.
6. Free Credits to Attract Users
Our company is rolling out a promotional offer to let users try out our platform for free. This is a common use case in many SaaS companies and one that can be easily supported with Octane’s credit system.
Our promotional offer is a $100 worth of free credits that expire within a month. Generally for such an offer we will be using the API since customers will redeem it on our website and we will call the Octane API to give them the free credit grant. For this guide we will be using the UI.
Follow the same steps as #6 but this time put the “Total Cost” to be $0 while the “Amount” is $100. Click “Save” and the credit ledger should show a balance of $10,100 for this customer ($10,000 from the deal and an additional $100 because of the promotion).
7. Monitoring Credit Balance
It is important for our company to have a live view of our customers’ credit consumption. Octane offers two ways of viewing credit history:
- The “Credit Ledger” lets you see all the credit grants that have been issued to the customer, any drawdowns, and their running credit balance.
- The “Credits” tile lets you have a live view into how customers are consuming their credits. The “Current Balance” indicates their actual balance since the last grant or drawdown. Meanwhile, the “Available Balance” is a live measure of their running balance (Current Balance - Accrued Costs). As soon as a billing cycle ends and an invoice is generated the “Available Balance” becomes the “Current Balance”.
8. Voiding Credits
For a variety of reasons including re-negotiated deals, we might want to void credit grants that have been given out to the customers. We can do this via the “Credit Ledger”.
Navigate to the “Credit Ledger” tile on the customer’s specific page and find the credit grant you want to void. Click on the three dots next to the grant and click “Void Credits”. Note that only the unused portion of that credit grant will be voided (for example, if the customer has already used $2,000 worth of a $10,000 grant, only the remaining $8,000 will be voided).
Click “Void” and the credit ledger will have another item that indicates the voided grant. The balance will now be reduced by the amount voided.
Congratulations on completing this guide! In 8 easy steps we have monetized our data-warehousing solution using prepaid credits. Today, we learned how to create meters, price plans, and use credits.
Even though this was an example of a data-warehousing company, you can imagine how easy it is to extend this solution to a variety of different pricing models. API Requests, Storage, Bandwidth, Percentage of Revenue are just a few examples of different value-metrics you can charge on and grant pre-paid credits for.
Stay tuned for more guides to help you kickstart your revenue growth!