Incorrect Best Price Calculation For Rerated Usage (Doc ID 1984326.1)

Last updated on MARCH 25, 2015

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.5.0.0.0 to 7.5.0.0.0 [Release 7.5.0]
Information in this document applies to any platform.

Symptoms

On BRM 7.5 , best pricing functionality calculates alternative price for rerated usage incorrectly.


1. There is following configuration of DATA deals:
1. Main deal -> product that grant bucket of 1024000 free Kilobytes
this product have pricing plan 0.208333 with step 1024
-> discount to consume free bucket
2. Alternative deal -> product that grant bucket of 102400 free Kilobytes
this product have pricing plan 0.8333 with step 1024
-> discount to consume free bucket

2. Testing account is provided with main deal.

3. There are 3 usage events for the account:
a) call 1 -> 510000 KB, total price (510000/1024)*0.208333=~103.7596
this was all consumed from bucket => -103.7596
b) call 2 => 510000 KB, total price (510000/1024)*0.208333=~103.7596
this was all consumed from bucket => -103.7596
c) call 3 => 15100 KB, total price (15100/1024)*0.208333=~3.0721
this was partially consumed from bucket => -0.8138

4. The usage events are submitted to usage rerating

5. Best pricing calculation is performed, not only usage that was output of previously executed usage rerating is considered for best price calculation, but also original usage that has been during process of usage rerating backed out. This results into incorrect best price calculation

 Alternate Deals configured for Best Pricing
 1. Alt Amt (-83.333300)      new price for USAGE1 (alternative deal) discount
 2. Alt Amt (415.038900)      new price for USAGE1 (alternative deal)
 3. Alt Amt (103.759600)      inverted price for (-103.759600) which stands for 1.USAGE's base deal discount        
 4. Alt Amt (-103.759600)     inverted price for (103.759600)  which stands for 1.USAGE's base deal
 5. Alt Amt (415.038900)      new price for USAGE2 (alternative deal)
 6. Alt Amt (103.759600)      inverted price for (-103.759600) which stands for 2.USAGE's base deal discount
 7. Alt Amt (-103.759600)     inverted price for (103.759600)  which stands for 2.USAGE's base deal
 8. Alt Amt (12.288400)       new price for USAGE3 (alternative deal)
 9. Alt Amt (3.072100)        USAGE3 (base deal)             => HERE WE EXPECT INVERTED VALUE FOR 3.USAGE's BASE DEAL
 10.Alt Amt (-0.813800)       USAGE3 (base deal) discount    => HERE WE EXPECT INVERTED VALUE FOR 3.USAGE's BASE DEAL DISCOUNT
 Final Alt DELTA for this Alt Deal:(761.291200)

 We assume that all prices from base deal have to be inverted to get ZERO price for base deal., this behaviour led into incorrect price calculation?

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms