Advanced Discounting in Oracle Billing and Revenue Management by David North
By Georgiana Codrescu on Apr 20, 2010
Oracle's Billing and Revenue Management (BRM) software is a product that can be applied anywhere where a company needs to charge end customers for repeatedly accessing its services. The predominant users are the telecoms industry to charge for calls, messages, downloads etc.
Of course users accessing their services like to be given discounts, so it is only natural for suppliers to want to give them in order to capture and retain their customers. Whilst in principle this sounds simple, the requirements of supplier marketing often leads to complex discount structures; and whilst our software is well built to cope with exactly that, it can lead to some surprising results if you do not fully understand what you are building.
In this short article I'd like to describe a short scenario and give you some insight into how these discounts could work for you.
Suppose a company charges its customers 10c/min for peak rate calls (9am-6pm local time) and 5c/min off-peak. A user makes a call from 5:50pm to 6:05 pm. There are several ways to calculate the charge for this, but a common one would be to charge 10 minutes at 10c/min and 5 minutes and at 5c/min - total charge 100c peak rate +25c "offpeak" rate = 125c.
Suppose now the customer in our scenario owns two discounts, one that gives 20% off peak rate charges, and one that gives 10% off all calls; and that the discounts are not mutually exclusive and applied in the order shown.
Simple question: What is the cost of this call after discounts? Well, there is more than one answer; and the key lies in the way the second discount is applied.
If the second discount is a "parallel" discount, then the final charge is 125c less 20c (20% off the peak rate part of the call) then less 12.5c (10% off the original full charge) = 92.5c. Both discounts are calculated on the original charge.
However if the second discount is a "sequential" discount, then the final charge is 125c less 20c (20% off the peak rate part of the call) then less 10.5c (10% off the remaining 105c charge) = 94.5c, a different result.
Finally, if the second discount is a "cascading" discount (these are defined as "discounts only applied to charges not yet discounted") then the final charge is 125c less 20c (20% off the peak rate part of the call) then less 2.5c (10% off the remaining part of the call, the "offpeak" part) = 102.5c.
So you can see from this example it is critical to understand the difference between discount types and to build and apply them with considerable care if you want to be sure to get the desired result.
Note - in this scenario we have not considered the impact of
charge-sharing (where someone else agrees to pick up certain parts of
a charge), group discounts, situations with more than two discounts,
or calls that cross time zones! Perhaps I'll describe some of
them in a future article, if you promise to drink a strong cup of
coffee before your read it. Or better still, why not get yourself
booked onto one of our
BRM Pricing classes
to get the inside story and have a go at building and testing some of
these for yourself?
David North has been working with Oracle's Billing and Revenue Management software for over 8 years and has helped customers implement and roll out the product in just about every country in EMEA. He has trained customers in all aspects of the product, from implementation and customisation through to marketing and business management.