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.
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.
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.
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.
When you build your product catalog with Attribute-based Pricing enabled, the major steps to build your product catalog are outlined as follows:
- Create a product.
- Create product rate plans for the product.
- Add rate plan charges to the product rate plan.
- For each rate plan charge, create as many charge definitions as needed to build the attribute-based pricing structure.
- 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.
- (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, there is no change to your existing subscriptions.|
|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 the year 2024.|
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.
A product is created as before.
Product Rate Plans
Each product rate plan is created as a marketable plan and might have different effective dates.
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 charges 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 is mapped from the
state field on the account object.
|Name||PRPC Number||Charge Type||Charge Model||Price Formula||List Price||Discount Percentage|
|Membership Fee||PRPC-001||Recurring||Flat Fee||
|Setup Fee||PRPC-002||One Time||Flat Fee||
|Promotional Discount||PRPC-003||Recurring||Discount Percentage||/||/||50%|
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-01||PRPC-003||The promotional discount for the Bronze plan for customers who enroll within the first three months.|
|PRP-02||PRPC-001||The membership fee for the Silver plan|
|PRP-02||PRPC-002||The setup fee for the Silver plan|
|PRP-02||PRPC-003||The promotional discount for the Silver plan for customers who enroll within the first six months.|
|PRP-03||PRPC-001||The membership fee for the Gold plan|
|PRP-03||PRPC-002||The setup fee for the Gold plan|
|PRP-03||PRPC-003||The promotional discount for the Gold plan for customers who enroll within the first six months.|
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 four definitions of the RPRC-001 rate plan charge. The state attribute is a custom field whose value impacts the charge price. Prices vary depending on the state where it is sold.
|PRPC Reference||Number||Charge Model||Billing Period||state||Price|
|PRPC-001||PRPC-001-CD-02||Flat Fee||Monthly||New York||18.00|
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-02 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.
When another end customer in Texas subscribes to the same rate plan, the monthly membership fee will be $12 because the PRPC-001-CD-04 charge definition matching the lookup field (
state=Texas) is identified and applied.