Skip to main content

Overview of Attribute-based Pricing

Zuora

Overview of Attribute-based Pricing

Pricing has become increasingly complex nowadays. To stay competitive in the market, most B2C and B2B businesses need to refine their pricing based on the context of their customers and subscribers. The context can be sourced in from the country where the customer is from, the franchise they are buying from, the currency they are buying in, or the payment term they want to sign up for.  

The current Zuora product catalog has powered the monetization strategies of subscription and non-subscription-based products. To provide the required flexibility to increasingly complex business needs and market trends in recent years, Zuora now provides the Attribute-based Pricing (ABP) feature. This new feature will help migrate the administration overhead that leads to needing a longer time for a product to go to the market. It can also ease the development work of integrating the Zuora product catalog with external systems.

Availability

The Attribute-based Pricing feature is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters. Please reach out to your CSM if you are interested.

To use the Attribute-based Pricing (ABP) feature, you must have either Orders or Orders Harmonization enabled.

Feature overview

With the Attribute-based Pricing feature enabled, the current product catalog objects are loosely coupled to avoid unnecessary proliferation in the catalog. For example, to sell the same product in different regions or currencies, you no longer need to create regional products and then duplicate each rate plan for multiple products.

In the new product catalog design, you can define permutations of not only price but also billing attributes such as charge model, billing frequency, or list price base. The following table explains the differences in product catalog objects before and after enabling the Attribute-based Pricing feature.

Product catalog object Disable Attribute-based Pricing Enable Attribute-based Pricing
Product The starting point of building Zuora product catalog. A product is usually used to group similar or regional product rate plans. Remains the same.
Product Rate Plan

A basic building block in the Zuora product catalog. A product rate plan represents a marketable plan that groups rate plan charges. Your customer always subscribes to a product rate plan. 

A product rate plan can have multiple rate plan charges. A product rate plan must be created before its grouped rate plan charges.

A basic building block in the Zuora product catalog. A product rate plan represents a marketable plan that groups rate plan charges. Your customer always subscribes to a product rate plan. A product rate plan can have multiple rate plan charges.

Moreover, if the Charge Reuse feature is enabled, a product rate plan does not necessarily need to be created before the rate plan charge. An existing rate plan charge can be added to a new product rate plan.

The Charge Reuse feature is still in the Beta phase. Please reach out to your CSM if you are interested.

Product Rate Plan Charge

The fundamental building block in the Zuora product catalog. A product rate plan charge holds all types of information, including billing, taxation, accounting, and pricing. This object represents a charge model or a set of fees associated with a product rate plan.

A product rate plan charge can be created only after its container product rate plan already exists.

The fundamental building block in the Zuora product catalog. A product rate plan charge holds only some basic information about the charge, including charge name and charge type. The charge behavior is no longer defined by this object but by the Product Charge Definition object. Multiple charge definitions can be associated with a product rate plan charge.

Moreover, if the Charge Reuse feature is enabled, one product rate plan charge can be added to multiple product rate plans.

Product Rate Plan Definition N/A

A new object introduced to associate a product rate plan with a product rate plan charge.

With this object, a single product rate plan can have multiple rate plan definitions. Each product rate plan definition associates the product rate plan with one product rate plan charge. One product rate plan charge can also be associated with more than one product rate plan.

The Charge Reuse feature must be enabled for this object to be available. The Charge Reuse feature is still in the Beta phase. Please reach out to your CSM if you are interested.

Product Charge Definition N/A

A new object introduced by the Attribute-based Pricing feature. The product charge definition includes the context, which are the attributes that can determine the charge behavior. A product charge definition has billing, pricing, taxation, and accounting attributes.

One product rate plan charge can have different behaviors defined by different product charge definitions. Each charge definition carries a context defined by attributes such as Region, Customer Type, Payment Method, Term, etc. Some of these attributes are already included in the object. You can also add business-specific attributes as custom fields.

Supported charge models

The Attribute-based Pricing feature supports the rate plan charges on the following charge models:

  • Flat Fee
  • Per Unit
  • Tiered Pricing
  • Volume Pricing
  • Discount - Fixed Amount
  • Discount - Percentage
  • Delivery Pricing

We are actively soliciting feedback during the Early Adopter phase. If you are interested in using a Zuora charge model that is not listed above, please reach out to your CSM with your feedback and interest.

Attribute-based Pricing object model

The Attribute-based Pricing feature adds more objects to the existing Zuora product catalog data model to bring more flexibility to defining price points. Currently, the Product Rate Plan Definition and Product Charge Definition objects are available after this feature is enabled. The following graphic illustrates the relationship between these new objects and other existing product catalog objects.

ABP-object-model.png

From the above diagram, you can see that the Product Rate Plan Definition object decouples product rate plans and product rate plan charges after the Attribute-based Pricing feature is enabled. You can use this object to associate product rate plan charges with any existing or new product rate plans.

In the object model with Attribute-based Pricing enabled, one product rate plan charge can have multiple product charge definitions. You use product charge definitions to define the attributes that impact pricing for the charge. The pricing information is stored in the Product Rate Plan Charge Tier object, which is the same as before.

Impact on existing product catalog

The experience of enabling the Attribute-based Pricing feature for your existing product catalog is seamless. The following things happen to your current product catalog after enabling this feature:

  • The existing products and product rate plans are intact. 
  • Existing APIs, data retrieval mechanisms, and subscriptions continue to function as is.
  • One product charge definition is automatically created as default for each product rate plan charge to store its current information about billing, pricing, accounting, and taxation.
  • The product rate plan charge object is updated to store only the basic information such as charge name, charge number, charge type, and charge model. 
  • When linked to other product rate plans, the default product charge definition of the linked charge will apply to that product rate plan as well. 

After the Attribute-based Pricing feature is enabled, you can do the following to enhance your product catalog:

  • Add more product charge definitions for a single product rate plan charge to have an attribute-based pricing structure, with each charge definition containing different attribute values and pricing.

  • Adopt the changes in the APIs to include product charge definitions.

Workflow

When you build your product catalog with Attribute-based Pricing enabled, the major steps to build your product catalog are outlined as follows:

  1. Create a product
  2. Create product rate plans for the product.
  3. Add rate plan charges to the product rate plan.
  4. For each rate plan charge, create as many charge definitions as needed to build the attribute-based pricing structure.
  5. Subscribe to the product rate plan for your end customers in the same way as before.
    • When an order or order preview is submitted either from the UI or with REST APIs, Zuora Billing automatically determines the valid charge definition to be associated with the subscription. This automated process is done by the price lookup function.
    • When the order or order preview is submitted with REST API, if the price lookup function fails, the Create an order or Preview an order operation will return an error.
    • For Subscribe and Amend tenants, you can use the charge definitions defined by the Attribute-based Pricing feature to override the charge information specified in the subscribe() call. 
  6. (Optional): Use Dynamic Offers with Attribute-based Pricing.

Upstream and downstream behavior

The following table lists the behavior of upstream and downstream features or applications when Attribute-based Pricing is enabled.

Other feature or application Behavior
Subscription and Orders

To use the Attribute-based Pricing feature, you must have Orders or Orders Harmonization enabled.

After you enable the Attribute-based pricing feature, when a new order is created, the price lookup function will automatically identify the valid charge definition to determine the price. If the price lookup function fails, the order will not be created.

Taxation and Invoicing No change.
Invoice Presentation The HTML invoice template exposes the linked product charge definition in the template.
Zuora Revenue Support for the Attribute-based Pricing feature is not available yet.
Zuora CPQ X The Attribute-based Pricing feature is currently targeted to be supported in CPQ X in 2024.

Example

There is an example to help you understand the advantages of enabling Attribute-based Pricing. Company A is a streaming company whose products include News, Sports, Movies & TV. The Sports product is sold in multiple markets at different prices in multiple currencies based on a tiered charge model, that is Gold, Silver, and Bronze. 

To build the product catalog for this product, the following objects are to be created. Keep in mind that not all fields are listed in the tables below for each object. These tables are used for illustration purposes with only the fields that are key to the point.

Product

A product is created as before.

Name SKU Product Number
Sports SKU-001 P-001

Product Rate Plans

Each product rate plan is created as a marketable plan and might have different effective dates.

Name PRP Number
Bronze PRP-01
Silver PRP-02
Gold PRP-03

Product Rate Plan Charges

Create as many rate plan charges as needed within appropriate product rate plans. Each rate plan charge has its own setting for charge model, price, billing period and frequency, accounting, and so on. The list price you specified when creating a charge is used as the default product charge definition. You can further define other charge definitions to have different prices.

The price lookup formula is defined for the recurring charge based on the Flat Fee charge model. It indicates the state custom field on the Product Charge Definition object will be used to identify the target charge definition, and its value will be mapped from the state field on the account object.

The one-time charge for the setup fee does not vary by location. This charge does not have the price formula specified, and only the default charge definition exists.

Name PRPC Number Charge Type Charge Model Price Formula List Price
Membership Fee PRPC-001 Recurring Flat Fee priceLookup("state__c"= fieldLookup("account", "state__c") 15.00
Setup Fee PRPC-002 One Time Flat Fee - 50.00

If the Charge Reuse feature is enabled, you can reuse the same product rate plan charge under multiple product rate plans without the need to duplicate the same charges for different product rate plans. For more information, see the section below.

The Charge Reuse feature is still in the Beta phase. Please reach out to your CSM if you are interested.

Product Rate Plan Definitions (optional)

When the Charge Reuse feature is enabled, you can use product rate plan definitions to associate the product rate plan with its containing rate plan charges. Each row in the following table represents a definition that associates one rate plan charge with one product rate plan. 

With this object introduced by the Charge Reuse feature, you do not need to duplicate the rate plan charges in each of the product rate plans. Instead, you are linking the same product rate plan charges across the three product rate plans.

PRP Reference PRPC Reference Description
PRP-01 PRPC-001 The membership fee for the Bronze plan
PRP-01 PRPC-002 The setup fee for the Bronze plan
PRP-02 PRPC-001 The membership fee for the Silver plan
PRP-02 PRPC-002 The setup fee for the Silver plan
PRP-03 PRPC-001 The membership fee for the Gold plan
PRP-03 PRPC-002 The setup fee for the Gold plan

Product Charge Definitions

Use product charge definitions to define the attributes that impact pricing for a rate plan charge. One rate plan charge can have as many charge definitions as needed. The following table shows five definitions of the PRPC-001 rate plan charge. This price table overrides the monthly membership pricing, and other product rate plan charges in the PRPC table are not included in any pricing for this example.

The state attribute is a custom field whose value impacts the price charged for the membership fee. Prices vary depending on the state where it is sold. The PRPC-001-CD-01 charge definition is the default one without the state attribute being specified. When any other charge definition does not match the lookup field, the default charge definition will be applied.

PRPC Reference Number Charge Model Billing Period state Price
PRPC-001 PRPC-001-CD-01 (default) Flat Fee Monthly - 20.00
PRPC-001 PRPC-001-CD-02 Flat Fee Monthly California 21.00
PRPC-001 PRPC-001-CD-03 Flat Fee Monthly New York 18.00
PRPC-001 PRPC-001-CD-04 Flat Fee Monthly Florida 15.00
PRPC-001 PRPC-001-CD-05 Flat Fee Monthly Texas 12.00

Subscriptions and invoices

An end customer in New York subscribes to the Bronze plan (PRP-01) without any charge override. For the membership fee (PRPC-001), the PRPC-001-CD-03 charge definition is identified as the single match for the lookup field (state=New York). So, the customer will be charged $18.00 monthly as the membership fee, with the invoice for the first three months being as follows:

Charge Date Charge Name Service Period Billing Period UOM Unit Price
01/01/2024 Setup Fee 01/01/2024 - 01/01/2024 - - $50.00
01/01/2024 Membership Fee 01/01/2024 - 01/31/2024 Month - $18.00
02/01/2024 Membership Fee 02/01/2024 - 02/29/2024 Month - $18.00
03/01/2024 Membership Fee 03/01/2024 - 03/31/2024 Month - $18.00

When another end customer in Texas subscribes to the same rate plan, the monthly membership fee will be $12 because the PRPC-001-CD-05 charge definition matching the lookup field (state=Texas) is identified and applied.

Charge Date Charge Name Service Period Billing Period UOM Unit Price
01/01/2024 Setup Fee 01/01/2024 - 01/01/2024 - - $50.00
01/01/2024 Membership Fee 01/01/2024 - 01/31/2024 Month - $12.00
02/01/2024 Membership Fee 02/01/2024 - 02/29/2024 Month - $12.00
03/01/2024 Membership Fee 03/01/2024 - 03/31/2024 Month - $12.00

When a customer in Oregon subscribes to this product rate plan, the default charge definition will be identified and applied because other charge definitions do not match the lookup field (state=Oregon). The monthly membership fee will be $20.00 for this customer.

Charge Date Charge Name Service Period Billing Period UOM Unit Price
01/01/2024 Setup Fee 01/01/2024 - 01/01/2024 - - $50.00
01/01/2024 Membership Fee 01/01/2024 - 01/31/2024 Month - $20.00
02/01/2024 Membership Fee 02/01/2024 - 02/29/2024 Month - $20.00
03/01/2024 Membership Fee 03/01/2024 - 03/31/2024 Month - $20.00