Top 3 Requirements for a SaaS Pricing Engine
By Mark Herring / Sep 29, 2017 / Use Case, DevOps, Analytics
Whether you have an existing offering, or about to roll out a new offering, the SaaS Pricing Engine is critical to its success. Price it too low and you might have negative margins, or price it too high and the margins look good but no one wants to pay to use it. Yet this is way too simplistic since customers are looking for a much more granular pricing structurea pay-per-use model, but where usage can be measured at the minute, or even ideally the nanosecond level.
Advice from PipelineFX on innovative SaaS pricing
I sat down with one of our customers, PipelineFX, recently to discuss their pricing challenges, and how they built a new SaaS Pricing Engine. PipelineFX provides a SaaS offering, called “Qube!”, which allows organizations of all sizes to better manage rendering for digital media applications and programs.
The issue with rendering any digital asset or movie is that it is a very dynamic process that can consume a variable number of resources during the rendering and then use none when the rendering is completed.
The business problem is how to help customers achieve maximum efficiency, paying only for the resources they consume while allowing the PipelineFX service to achieve maximum utilization across the whole server rendering farm as they updated their SaaS Pricing Engine.
Customers demand granular pricing
Rendering assets is a very bursty process. Add to that the complexity of deadlines that can increase resource utilization for short periods, and have zero usage for other times, and it becomes clear why PipelineFX’s customers demanded very granular pricing.
"Why pay for the month, when some days there is no utilization, heck why pay for the day when some minutes the server is not being used."
PipelineFX needed its offering to measure utilization every minute and bill at a very high frequency. This high level of granularity ensures that customers get a great return on their investment. PipelineFX also provides a very flexible pricing model that can accommodate this high frequency charging for any license utilization over a certain pre-paid minimum. In addition, the system provides reports, insights, and alerts into what average utilization rates are and if a customer should consider increasing their minimums.
Read the full InfluxData Case Study on PipelineFX.
Building a solution that provides nanosecond pricing!
In PipelineFX’s example, the need today is for minute-based pricing, but the need to have even more precision on the pricing will only increase as customers get savvier about usage-based pricing and as the competitive landscape changes.
Top 3 requirements for a SaaS pricing engine
#1: Use a time series database
The solution is to have a very flexible architecture that can handle pricing at fewer orders of magnitude than the customer needs. Since this data is basically a timestamp with some measurement of resource utilization, the optimal database to store this utilization data is a Time Series Database (TSDB). Did you know that time series is the fastest growing database?
#2 Design for cloud scale
Design so that the system can handle the scalability of your customer’s growth, your SaaS offerings growth, and the sheer volume of metrics that need to be collected at the order of precision required. PipelineFX uses the following architecture with load balancers and clustered instances of their key architectural services.
#3 Design for 99.999% (5 nines) uptime
Yes, design your system so that it can only be down for a maximum of 26 seconds per month! Customers will go elsewhere if your system is down. Key architectural requirements include clustering for HA, message queuing to ensure stats will be delivered even if connectivity drops for a while, and failover and load-balancing capability.
PipelineFX has been able to help their customers achieve maximum efficiency and optimize their existing and future infrastructure. Although they are only pricing at the second, they have the infrastructure in place to be able to price with higher precision should the business require it.