Cloud spend is a significant line item in every company’s IT budget, and controlling it is especially important in today’s challenging economic climate. A steep decline in share prices, valuations, and a slowdown in venture capital funding have led CEOs to cut costs within their large line items, reduce their workforce, and reevaluate their unit economics — especially their margin per customer.
The question is, how many organizations know their margin per customer? Over the last year, I’ve interviewed over a hundred SaaS businesses and not a single one could answer that question satisfactorily. The fact that so many resources are being invested in cloud transformation and FinOps without this basic understanding is astounding.
In this blog post, I’ll help you tackle this question. But before we get started, we’ll need to understand what components are required to do the analysis and why it’s so hard to get an accurate answer.
Unit economics explained
A business model’s unit economics describes its revenues and costs in relation to one unit — such as a customer served or unit sold. Without a clear understanding of the relationship between the cost and the revenue, it’s impossible to understand the effectiveness of each customer. Calculating margin per customer will be straightforward once you find the relationship.
To understand costs, you must first identify the resources required per customer. What do I mean by resource? A resource is any cloud service that has a direct or shared cost associated with it. If you have dozens of customers on shared resources like databases, storage, and microservices, you would need to model the resources into smaller pieces and understand the time (CPU) and/or memory a specific customer is consuming.
Once you have the micro-units information then you will be able to measure more logical functions such as logins, transactions, and requests. Breaking down all your cloud resources into these micro-units and units is an extremely difficult and tedious process.
How to calculate margins per customer in five steps
1. Understand your unit(s) economics
Every business can have a different unit or units of economics. The economic unit of a b2b fintech may be transactions, while that of a streaming app might be hours of video. In other cases, the unit of economics will be the same one you use to define pricing and ARR. A good unit of economics is one that you can determine the cost accurately for and use it to calculate your maximum margins and validate your pricing strategy.
These units are not necessarily well measured with the low-level costs of CPU and memory or disk. However, it is extremely important to define them in a way that they are correlated to your customer consumption. If you have a customer that costs you more, it has to be reflected in the amount of consumption of these units.
2. Calculate your unit cost
Unit costs will never be accurate. The cost of these services can, however, be estimated intelligently using several methods of varying accuracy. With more complicated methods requiring some R&D effort.
The simple but naive way — count on big numbers:
Measure total cloud spend for a particular application against the total units (i.e., customers) for that application or service.
Unit Cost = Total Cost / Total Units
The proximal and linear way — combine multiple micro-units to estimate your unit costs:
Start by breaking down your unit economics into more unit economics. Transactions, for example, can consist of compute resources, database calls, API calls, as well as storage consumption. It is not easy to map micro-units for a customer, and the trick is to simplify things and estimate them in a linear way.
The next step is to weight the contribution of each micro-unit to overall costs using a percentile. This would be the closest estimate to actual costs. If a transaction is made up of a DB query and an intensive CPU working process, and a 1000 queries represent 20% of the total costs and the working process represents the other 80%, it would make sense to split the total costs between these two micro units using this ratio.
The most accurate way — instrument your software with customer tags:
The last method requires a bit more effort but yields the most accurate unit costs. When you instrument your software and log granular activities, each micro-unit can now be mapped and related to a specific customer, using a customer id or name tag. With this type of mapping, you can accurately allocate costs including shared resources such as Kubernetes.
3. Get revenue per customer data
Customer revenue data is usually stored in a CRM or an ERP application like Salesforce or Netsuite. This data will need to be fetched into a BI system or FinOps tool, and mapped and tagged per customer.
4. Create a margins dashboard
Create a dashboard with the following information:
- Revenue per Customer
- Cost per Unit Economic (i.e., Cost per Transaction)
- Number of Units per Customer
- Margin per Customer = (Revenue per Customer – Number of Units per Customer * Cost per Unit Economic) / Revenue per Customer * 100
5. Monitor changes in the margins per customer
Since each component of the Margin Formula is dynamic and may change, anomaly detection is crucial in identifying parameter changes.
As an example, if your FinOps team finds ways to reduce cloud costs, then it will increase the total margins for all your customers. Alternatively, your customer success team might have to offer a significant discount to customers, resulting in lower margins.
Anomaly detection systems are the best tools for monitoring these changes on a continuous basis, if you wish to know their impact proactively.
What does unit economics mean for Anodot?
Our business monitoring product analyzes metrics and identifies anomalies. Therefore, metrics are our main KPI and unit of measure. Therefore, the simplest way for us to measure the costs of our customers is to count the total metrics for all of our customers, then divide the cost of all of our cloud costs and divide it by the total unit metrics.
To improve our accuracy on cost, we need to break the metric structure down into micro-units. In our case, we look at the number of data points and requests per second (RPS) which can vary widely between metric types and customers. A high-resolution real-time metric can have x100 more data points than a daily resolution metric, for example.
Next, we weigh the data points and RPS per customer to get a more accurate picture of the cost per customer.
Finally, we collect the revenue data from Salesforce (Annual Recurring Revenue per Customer) and create a simple ratio between the cost per customer and the ARR to calculate an efficiency score — the lower the number, the higher the efficiency.
Manage your costs and protect your margins
The market will reward and demand effective business models in the next few years. Growth remains a key indicator for both public and private firms, but the first half of 2022 has demonstrated that the market is looking for businesses that burn less cash.
Because of this change in mindset, more companies are starting to think about how they can optimize their cost and margins, and no doubt the SaaS market will find a solution to its lack of visibility into margins. It is just a matter of time before new technologies will come up to offer a more accurate model than cloud cost.
Cloud services are the number one source of unexpected overspending for companies today, with engineering generally being free to consume them. It is important to remember that cost increases are not always bad. The point at which things need to be carefully considered is when costs increase but revenues don’t.
It has become increasingly challenging for companies to protect themselves from margin reductions and cost overuse. The allocation of multi-cloud costs is essential for understanding your actual cloud usage, establishing cloud cost ownership, and creating accurate budgets and forecasts.
With Anodot’s Business Mapping feature, you can accurately map multi cloud and Kubernetes spending data, assign shared costs equitably, and report cloud spend to drive FinOps collaboration for your organization.
Anodot helps you understand your cloud unit economics by aligning your cloud costs to key business dimensions. Allowing you to track and report on unit costs and get a clear picture of how your infrastructure and economies are changing.