Extend the Tiered Pricing model with a new price type

casper.rasmussen/ April 14, 2017/ Episerver Commerce/ 0 comments

One of Episerver’s latest releases introduced a valuable tiered pricing model, which allows marketers to differentiate Episerver Commerce pricing according to a set of built in criteria. Out of the box, Episerver now supports to target prices for:

  • all customers
  • an individual customer
  • a price group

Thinking of specifically business to business (B2B) e-Commerce, relying on a tiered pricing model is essential. In my experience, me and the team have found above criteria helpful during client implementations of the complicated pricing models our B2B clients tend to rely on. Looking at this in more detail, Episerver’s tiered pricing model would enable us to support B2B pricing like so:

Price Type General purpose B2B scenario
All Customers Default price given to all visitors. Most frequently used in regular B2C e-Commerce experiences. Applying the same price across all customers are rarely used in B2B. Having a ‘All Customers’ price type is though very helpful to track a retail price (MSRP). On top of that, ‘All Customers’ also behaves as a fall-back price in case the individual customer does not have any discounted price.
Customer Price Group Share a price among a group of customers – e.g. “Gold” level customers may get a better price than “Silver” level customers. Highly relevant to both B2C and B2B e-Commerce experiences. All B2B e-Commerce experiences at least has a segmented pricing model, which supports that a set of customers – e.g. grouped by volume and yearly generated revenue – shares the same pricing information. Often referred to as a business’ pricing matrix.
Customer Individual prices for a given customer. Most frequently used to support individualized B2B pricing models. Some B2B e-Commerce experiences requires an individualized pricing mode, where individual customers may get individualized discounted prices.
We normally consider individual prices a ‘Customer Price Group’ override, which automatically get’s considered when pricing is calculated.

Warning: be careful with building an enterprise B2B solution that purely relies on individualized pricing, as this could impact performance. Most business’ do tend to rely on a pricing matrix.

In summary, you can therefore consider that Episerver’s price types matches these kinds of prices in a traditional B2B context.

Price Type Shown as Considered in calculating ‘Your price’
All Customers Suggested retail price (MSRP). Yes, acts as fallback price if customer does not have any segmented price or individual price.
Customer Price Group Your price Yes, segment price is used if customer belongs to discounted segment (Customer Group) and does not have an individual price
Customer Your price Yes, most granular level of price

We often experience that the customers own price – shown as ‘Your price’ – is shown next to the ‘Suggested retail price’.
According to above matrix, showing ‘Your price’ is fairly easy. Simply use Episerver’s GetCustomerPrices extension (on e.g. VariationContent), which identifies the prices according to the tiered pricing model. Remember that ‘All Customers’ are used as an ultimate fallback, if neither a segmented pricing or individual pricing model applies to the current user. On the other hand, showing ‘Suggested retail price’ is even easier – simply use the GetDefaultPrice extension (on e.g. VariationContent) to retrieve the price all customers share.

What’s missing for some B2B experiences are additional prices that are shared by all customers. An example is ‘Mininum advertised price’, which frequently is used in B2B scenarios across the United States. Showing this price is highly relevant, as it describes the minimum price an item has to be advertised for and are therefore a representation of the margin a customer at least makes on a single sale.
Looking at the out-of-the-box pricing types, having both a ‘Suggested retail’ and ‘Minimum advertised price’ is not supported. What we’re looking for, is a way of representing this in Episerver’s tiered pricing model.

Price Type Shown as Considered in calculating ‘Your price’
All Customers Suggested retail price (MSRP). Yes, acts as fallback price if customer does not have any segmented price or individual price.
All Customers Minimum advertised price (MAP). No
Customer Price Group Your price Yes, segment price is used if customer belongs to discounted segment (Customer Group) and does not have an individual price
Customer Your price Yes, most granular level of price

Luckily, Episerver is as always flexible and enables you to extend the price type options. It only requires three simple steps.

  1. Update your ecf.catalog.config to include a third option.
  2. Set the ‘Minimum advertised price’ for your SKUs.
    Depending on your need, the Minimum advertised price’ option now appears in Episerver’s pricing interface. If you are relying on a bulk process for maintaining your prices, you can use code inspired by this.

  3. Get the ‘Minimum advertised price’ for a SKU.
    Retrieving the new type of price is similar to the built-in types. Only caveat is the need for casting ‘3’ to (CustomerPricing.PriceType).

Hope this post gave you an impression of the great flexibility Episerver’s latest pricing addition has provided. At least, we find it very useful for any of the complex e-Commerce experiences that’s required out there.

Leave a Comment

Your email address will not be published. Required fields are marked *

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*