Custom Unit (Like Snowflake)

Overview

The custom currency unit is a popular way of pricing strategy. It abstracts away the complex product metrics and makes the billing protocol between businesses and customers much easier to communicate. Additionally, it also allows the business to tweak the internal implementation without necessarily impacting the customer experience. Confluent ksqlDB is a popular product that adopts a custom currency unit called Confluent Streaming Unit (CSU). Its pricing can be found on this page. The core of this pricing plan is a custom currency in the product that allows customers to consume. The billing schema behind this pricing strategy is a custom product dimension, in the form of currency, that can be mapped from how products are used and link the customer payment to the product dimension on a pricing plan.

Implement Confluent ksqlDB Confluent Streaming Unit (CSU)

The first step to implementing such a pricing schema is to define the currency. Paigo's dimension system is the best fit for this purpose as it combines flexibility with all built-in billing infrastructure. See below for an example of defining currency as a dimension.

Configuration PropertyValue

Dimension Name

Confluent Streaming Unit (CSU)

Usage Measurement

API-based Measurement

Consumption Unit

Count-based / Custom Unit

Consumption Price

$0.23

Usage Increment

1

Rounding

Ceiling

Aggregate Interval

Hour

Aggregate Method

Maximum

A few notes about the above configuration:

  • Dimension Name is the billing unit that appeared on customer invoices or charges.

See the screenshot below for a dashboard view.

With the currency defined, the next step is to wrap it with an offering that customers can enroll in. See below for an example offering configuration.

Configuration PropertyValue

Offering Name

ksqlDB Pricing

Offering Type

Usage-based

Usage Dimension

Confluent Streaming Unit (CSU)

See the screenshot below for a dashboard view.

The very last step is to enroll a customer in this offering.

Implement Automatic Refill of Custom Credit Unit

Another way to set up currency is that customers' accounts will be refilled with a certain amount of currency units per billing cycle, and they pay a fixed amount on a subscription. The billing schema behind this pricing strategy is a fixed subscription with usage entitlement implemented by Paigo dimension. See below for an example of setting up usage entitlement on a dimension to implement currency refill.

Configuration PropertyValue

Dimension Name

Application Token

Usage Measurement

API-based

Consumption Unit

Count-based / Custom Unit

Usage Entitlement

True

Entitlement Limit

1000

Consumption Price

$0.05

Usage Increment

1

Rounding

Ceiling

Aggregate Interval

Hour

Aggregate Method

Maximum

A few notes about the above configuration:

  • Dimension Name is the billing unit that appeared on customer invoices or charges.

  • Entitlement Limit is the automatic refill amount at the beginning of every billing cycle

  • Allow Overage is optional. When turned on, customers are allowed to use more than refilled currency and pay for the additional.

  • Consumption Price is optional. When Allow Overage is turned on, this value is used to calculate bills for the overage currency used.

See the screenshot below for a dashboard view.

This dimension defined as custom currency unit can be used in an offering as described in the above example.

Update Balance

Given that the custom credit currency is defined as a usage dimension, any usage data collection method can be used to report consumption or update balances. See Meter Usage Data at Scale for more details.

The easiest way to do so is by API-based usage reporting method. See API-based Method for full document.

Last updated