Metering

What is metering?

We define metering as the act of continuous measurement. Most modern software companies will have some form of metering in place for observability. Metering is just a domain specific name for logging or event capture. Within the context of business modeling, metering refers to the capture of events that track resource consumption and its subsequent transformation into usage. This process is necessary to enable usage based pricing. Invoices that have usage based products require metering to resolve the quantity for each line item.

image0

Why is metering important?

Tracking product consumption is necessary to understand how a business operates. From a pure revenue perspective a customer’s consumption should correlate or determine the amount owed. If this is true, driving usage should generally increase revenue. At a high level the entire business hinges on how a customer is using the product, so by extension understanding how this usage came to be is also important.

Metering’s purpose is to provide visibility into customer usage, which is why this is a crucial piece of any business modeling process. The metering service is built to extract, transform and load events related to product consumption. Managing event ingestion, processing, metric creation and freshness are all responsibilities of the system.

image1

How is metering modeled in bframe?

bframe is intended to pull from an external metering source. bframe defines the event format and queries the source accordingly. This aligns with the reality that most teams already perform logging or event capture in some respect. This allows for a hook into this existing functionality which may be preferred. While bframe is designed to use a separate source for metering, the core data source can also be used. This could have some downsides in terms of query performance but at smaller scales it should be manageable.