Configuration

What is configuration

Configuration is the standard set of rules that are used in a business model. The default pricing, packaging and terms for a product are defined and codified within the configuration workflow. Configuration is commonly described as “pricing and packaging”, but this nomenclature does not fully describe the workflow. All upfront rules that are “configured” should be included in this process. Accounting, billing and other administrative tasks require additional information to accomplish their respective objectives. These types of inputs are added during the configuration workflow and ultimately make it much simpler for administrative functions to operate.

Why is configuration important?

Standardization is useful for automation. Configuration provides these standards to enable business model automation. It’s possible to build a business model without configuration, but this is only practical at a smaller scale. Without configuration each contract would have a bespoke representation in the model and changes would be updated by hand. Many small businesses will operate this way, since keeping track of 5-10 customers is simple. At some point (> 50 customers) this operation will require constant oversight to prevent administrative mistakes from occurring. This is also when configuration becomes important.

By creating a source of truth for rules around products, pricing, invoicing, etc., a company can begin to automate all the processes associated with the business model. Onboarding a new customer? Use the standard product packaging. Need to make a change to pricing? Update the pricing definition once and have it flow to all customers. Preparing an investor presentation? Pull revenue by standardized products and packaging. With solid and robust configuration in place, automation becomes straightforward to apply and maintain.

image0

How is configuration modeled?

Products, prices and pricebooks are the foundational data models that make up configuration. A product is the representation of what a business is selling. A price is the representation of the value of a product. A pricebook is the representation of a package of products at a specific price point.

image1

In the example above, there are two products being sold. One pricebook sells both and the other sells just one. Products can have many prices associated with them, but a price is only associated with a single product. Each pricebook has its own separate context, which allows for different pricing schemes. This often happens when companies package multiple products together, like a ‘buy one, get one half off’ type deal. So a pricebook can have multiple prices, each associated with a product, but a price can only have one pricebook.

image2

Using the Wikipedia example, we can show how a small amount of configuration can model thousands of customers. In the demonstration below we only show configuration associated with the “Standard” pricebook. This pricebook is connected to the 30,000+ customers and can be thought of as the pricing and packaging source of truth for this audience.

“Standard” Products

id

name

ptype

event_name

filters

agg_property

created_at

1

Updates

EVENT

update

{}

agg_value

2023-11-01

2

Creates

EVENT

create

{}

agg_value

2023-11-01

3

Platform fee

FIXED

2023-11-01

“Standard” Pricebook, Prices

products.id

products.name

pricebooks.durable_id

pricebooks.name

list_prices.id

list_prices.price

invoice_delivery

invoice_schedule

list_prices.created_at

1

Updates

a

Standard

1

0.10

ARREARS

1

2023-11-01

2

Creates

a

Standard

2

0.05

ARREARS

1

2023-11-01

3

Platform fee

a

Standard

3

1000.00

ADVANCED

12

2023-11-01