Pricing Template Samples
Usage-based pricing with free trial
20 min
aws pioneered the combination of usage based pricing with a product led go to market strategy customers select the hardware and tools needed for their project and are only billed for the resources they consume this model reduces barriers to entry and enables each company or individual user to start at a comfortable price point with a clear pathway to scale their usage and spending one of the keys to aws’s continued growth and success is its use of free tiers and trials across its product portfolio these allow users to begin exploring and using the product with no initial commitment, only prompting for payment after the user has had the opportunity to experience its full value this guide outlines a step by step approach for implementing an aws style pay as you go billing model using amberflo you’ll learn how to define the relevant usage metrics track usage in real time build flexible usage based pricing models using product dimensions such as region, instance type, and availability zone after the pricing plan is created, we’ll explore options for configuring and managing free trials and free usage tiers within amberflo how it works aws offers infrastructure as a service (iaas), allowing customers to pay only for what they use, rather than owning and maintaining their own infrastructure customers can choose instance types based on performance and specification requirements, and pricing is determined by various dimensions, such as the aws region in which the instance is deployed the operating system (e g , linux, windows) each of these dimensions affects the hourly rate for a given instance type this pricing model provides flexibility, scalability, and cost transparency here is a section of pricing data for aws ec2 for aws region us east 1 to illustrate the concepts of instance types, their specifications, and the different hourly rates by os to keep things simpler for this example, we chose 2 instance types, c5 high cpu extra large , and c5 high cpu metal and show the hourly rates across different aws regions in the table below instructions we’ll now walk through how to re create this pricing model in amberflo if you don’t already have an amberflo account, start by signing up here you can refer to our documentation for guidance on setting up your account and inviting team members to join let me know when you’re ready to move to the next step step 1 create a meter to track compute consumption amberflo is a platform solution, with the metering cloud as the foundation and the billing cloud built on top amberflo tracks and aggregates usage in real time, then applies your billing logic to that usage to generate a usage based bill aws ec2 pricing is based on a single metric the number of compute hours consumed per instance to model this in amberflo, you will create a meter that reflects compute usage there are two easy options for creating this meter, depending on your reporting needs and latency requirements option 1 use a ‘sum’ meter type this method reports usage for each instance after the usage period ends it’s not event based but works well if you can report usage regularly from your system or database example 06 00 am – c5 metal instance activated in us east 1 08 00 am – same c5 metal instance deactivated total usage 2 hours you would send this 2 hour value to amberflo as a meter event the next time your system syncs or updates usage option 2 use a ‘duration’ meter type this method tracks usage in real time by sending two events a start event when the instance is activated a stop event when the instance is deactivated amberflo will automatically calculate the usage duration by matching the start and stop events based on a shared resourceid (such as the instance id) be sure to include this id, along with the customer name and timestamp, in both events so they can be accurately associated example 06 00 am – c5 metal instance activated in us east 1 → send a start meter to amberflo with the customer name, timestamp, and instance id 08 00 am – same c5 metal instance deactivated → send a stop meter with the same customer name and instance id amberflo will automatically calculate the total usage as 2 hours for billing and reporting using dimensions dimensions are additional metadata included with each meter event that allow you to filter, analyze, and apply billing rules more precisely in our example, we use the following two primary dimensions to build the pricing plan (note that real world aws pricing often includes more) aws region – the region from which the customer is accessing the service instance type – the type of compute instance being used different instance types offer different specifications and are optimized for various workloads we’ve also included a third dimension instance id – a unique identifier for each instance for duration meters, this is the key dimension used to pair the start and stop events accurately by including these dimensions with each meter event, you can analyze usage across different regions and instance types support complex billing models based on infrastructure characteristics build fine grained billing rules, such as setting different rates by instance type or region these dimensions will also serve as the foundation for the billing logic defined in later steps example meter data structure step 2 deploy meters to track usage as users consume compute resources, aws records the usage period in amberflo, this usage data is sent as meter events below is an example of what the meter event payload would look like (using a sum meter from option 1 above) you have several options for integrating your system with amberflo to ingest this usage into the metering platform amberflo supports a variety of ingestion methods to fit different technical environments and workflows supported ingestion methods include amberflo sdks (available in several common languages) amberflo ingestion api aws cloudwatch aws s3 aws sqs elastic logstash mongodb databases and jdbc files postman collections kong api gateway for step by step guides on how to use each ingestion method, please refer to our documentation once set up, meter events will be ingested, aggregated, and made available in real time for analytics and billing here is the sdk information curl metering example here is the api reference https //docs amberflo io/reference/ingest meter records here are the docs on other ingestion options aws cloudwatch once the meter ingestion pipeline is configured, usage will be tracked and aggregated (by customer and by all custom dimensions you included) in realtime you can visualize and query the usage data from the moment it is ingested step 3 create the pay as you go pricing plan when creating a new pricing plan in amberflo, start by naming the plan and setting the billing period next, define the product items that will make up the plan these are the services or resources your customers will be charged for each product item must be associated with a corresponding meter that tracks the usage for that specific resource for example, in aws style pricing there is no subscription fee , no startup fee , and no recurring charges the entire bill is generated based on actual compute usage , billed in real time this approach minimizes friction for new customers and aligns costs directly with usage, which is ideal for scaling alongside customer needs in this example for ec2, compute is the only charge vector, so there will only be a single product item we will select the ‘ by unit with dimensions ’ pricing model, and then set the rates according to the region and instance type (see the table in step 1 above) step 4 create free tiers and trial periods amberflo provides multiple options to create and manage free trials or free usage tiers depending on your business model free tier the simplest way to create a free tier is by using included units when setting product item rates in amberflo in your rate table, configure a specific number of free units for each dimension value you can assign different free unit amounts per row , allowing you to minimize free usage for higher cost resources (e g , expensive instance types or regions) as usage is reported, amberflo will track consumption against the included units once the free units are used up, billing will begin automatically for any additional usage this method enables you to offer a usage based free tier without requiring any upfront payment setup, making it seamless for users to start trying your product one time, unlimited free trial to create a one time free trial that is not limited by a time period, create the pricing plan as normal, but give each new signup a certain number of prepaid credits for free upon signing up to do this, navigate to the main customer view for the customer you are looking to create the trial for under the ‘prepaid credits’ card, select ‘add prepaid credits’ provide a name for the transaction, and be sure ‘one time’ is selected after saving, return to the customer view where the prepaid transaction just created should appear, along with a status that says ‘requires action’ and an option to ‘activate’ click ‘activate’ and input ‘trial’ for the transaction id now the credits should appear in the customer’s balance as usage occurs, credits will be drawn down from the balance when the balance reaches zero, the customer will be billed as normal one time, limited time free trial to create a one time free trial that is limited to a specific time period (e g , first week free, first month free), use the promotions module in amberflo to apply a 100% discount you can also set up an alert or automate the transition to a paid plan via api once the trial period ends steps determine the trial length (e g , one month) from the main navigation menu, go to pricing > promotions click create promotion enter a name (e g , free trial ) and a description select “percentage promotion” and enter 100% as the discount under promotion duration , choose one time in the promotion applicable to section select “pricing plan” to apply the promotion to all items in the plan alternatively, select “meter” if you want to apply the discount to only a specific meter toggle activate promotion at the bottom of the page click save this setup allows customers to use your service at no cost for the defined period after the promotion ends, amberflo automatically begins billing according to the standard pricing plan next, navigate to the main customer view for the customer you are looking to create the trial for under the ‘ promotions ’ section, select ‘ add promotion ’, and select the promotion you just created called ‘ free trial ’ from the dropdown menu this will apply the promotion to this customer and ensure they have one month free usage before the promotion expires and normal billing resumes step 5 activate the plan and assign customers to begin generating invoices to begin generating invoices for usage, you must activate the pricing plan – this changes the plan from draft to active , making it eligible to be assigned to customers assign the plan to customers – once a customer is linked to the active plan, billing will be calculated in real time based on the configured product item rates you can view on demand invoices at any point during the billing cycle by going to the customer view and selecting the invoice you’d like to review pulling it together usage based pricing with a pay as you go model, like the one aws uses, offers flexibility, transparency, and control for customers over their spend it eliminates friction in product adoption and aligns perfectly with a product led growth (plg) motion with amberflo , you can implement any custom variation of aws style pay as you go pricing in just minutes , supported by real time usage tracking, billing automation, and flexible trial and tier options get started today, click here to create your account and start building