Unit Cost for Data Storage
Last updated
Last updated
Many data and analytics services store data in AWS Elastic Block Storage (EBS) and bill customers by provisioned EBS volume. The cloud pricing of EBS volume includes various usage metrics such as storage size (GB-Month), IOPS (Provisioned IOPS-Month), Throughput (Provisioned MB/S-Month) and API Requests. It's a common practice for SaaS business to abstract away the lower level details of EBS Volume configuration but allowing SaaS customers to choose the storage size, or dynamically scale the volume size based on SaaS customers' usage.
Based on the business model described above, a useful usage unit could be defined as GB-Hour, meaning serving 1 GB of data volume to SaaS customer for 1 Hour. There potentially could also be different ways of defining unit economy such as GB-Month or MB-Hour. However, they should essentially represent the same idea and can be transformed from GB-Hour back and forth.
Also note the unit economy is different for different configurations of EBS volumes. In other words, the GB-Hour unit cost should be considered differently for a volume of 6,000 IOPS and a volume of 3,000 IOPS.
Given that different configurations of EBS volumes are all abstracted away by the data size, Paigo treats different configuration combinations of EBS volumes differently. At a regular interval, Paigo samples all of the actively used data volumes by SaaS customers, calculate the unit costs of those volumes in terms of GB-Hour, and save those data points in the backend journal as the raw data. Finally, Paigo runs batch analytics on the giant raw data set to group them by volume configurations and calculate of the average of each group. See below table for a sample result.
Storage Size (GB) | IOPS (IOPS-Month) | Throughput (MB/s-Month) | Unit Cost ($) |
---|---|---|---|
To enable the usage-based cost for EBS volume, it is recommended to enable Infrastructure-based Method usage measurement and collection.
The usage-based cost can be leveraged to benchmark the pricing strategy. For example, one of the common ways is to define a pay-as-you-go pricing Product Items that allows customers to pay for the amount of data they consumed. Knowing the unit cost of serving GB-Hour can help to define a meaningful price of the pay-as-you-go plan. Another example would be combining storage into a subscription tier Product Plans with other usage such as compute time. A startup subscription may include 50 GB of data storage per month. With the usage-based cost of calculated by Paigo, the Offering price could be set correctly ensuring there is sufficient margin baked into the subscription price.
50
3000
25
$0.01
50
6000
50
$0.02
100
3000
100
$0.03