Incorrect Best Price Calculation For Rerated Usage

(Doc ID 1984326.1)

Last updated on OCTOBER 27, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.5.0.0.0 and later
Information in this document applies to any platform.

Symptoms

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

There is following configuration (of DATA deals) and testing :

  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
  3. Testing account is provided with main deal.
  4. 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
  5. The usage events are submitted to usage rerating
  6. Best pricing calculation is performed, not only usage that was the output of previously executed usage rerating is considered for best price calculation, but also original usage that has been used during process of usage rerating backed out. This results into incorrect best price calculation. See more details below :

     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)

     One would assume that all prices from base deal have to be inverted to get ZERO price for base deal, this behavior led into incorrect price calculation?

Changes

 

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