Why Data Split Bundle when clearly the essence is the bundle's capacity to switch from one to another rating?
Code |
DATA-SPLIT |
---|---|
Description |
Used to provide special pricing for data events by temporarily altering the rating_code/rating_key during the rating process. This allows rating the usage against a number_plan and plan element that is different from what was identified using the standard price configuration. |
Business Scenario |
What is the commercial application? |
Applies to |
Data |
Core info |
Yes, from 8.2 |
Values
The meaning and use of the values of this bundle are as follows:
Value1 |
Total number of bytes in the bundle. |
Until this point it is all about changing rating - now about bytes in the bundle |
---|---|---|
Value2 |
Total bytes currently rated within the bundle |
Does this number represent the number of bytes used, and is it updated continuously? |
Value3 |
N/A |
|
Value4 |
N/A |
|
Logic
For each active subscription bundle;
- As long as Value1 > Value2, new data events will be rated within the bundle.
- If Value2 is equal to Value1, new data-CDR that hits the bundle will be rated outside the bundle: the bundle has reached the maximum number of bytes to be rated within the bundle. Outside the bundle, but at what rate ??
- See the RestrictActive Framework to understand what happens when the number of bytes left on a Data Split bundle is insufficient to cover a data event.
Providing Discounts
The Data Split Bundle can be used for providing free or discounted bytes of data. The old bundles often use Value3 and Value4 to handle the discounts, whereas the RestrictActive framework allows compatible bundles to rate the usage against a plan element that is different from the standard price configuration. This plan element points to a different (discounted) price.
For example, a number plan called Mobile GPRS has the plan element GPRS..Cost per MB (configured price 1 Euro), and the plan element then has a Data Split Bundle. A billing record with the rating code Mobile GPRS and rating key GPRS..Cost per MB comes in. The rating process then finds the number plan Mobile GPRS using the rating code and the plan element GPRS..Cost per MB using the rating key. The rating process identifies that a bundle is associated with GPRS..Cost per MB.
If a bundle is used to provide a 60 % discount, and the rating process identifies the bundle, it changes the rating code and rating key according to what is defined by the parameters IN.RATINGCODE and IN.RATINGKEY (details available in RestrictActive framework). This new temporary rating key/code will point to a number plan that is different from the original one. If the number plan is BUNDLE and has the GPRS_MB (configured price 0.4 Euro, because of 60% discount on the original price) plan element, the rating process uses the temporary rating code/key to find the number plan BUNDLE and then the plan element GPRS_MB. The rating process then charges the user using the price mentioned in the GPRS_MB which is the 60% discounted price.
Parameters
The parameters used within this bundle are mentioned in the RestrictActive Framework documentation.
Examples
Example 1
GPRS Pricing Configuration Overview
RATING_CODE/SERVICE |
Number Plan |
Plan Element |
Charge Item Price per MB |
---|---|---|---|
NATIONAL-DATA |
Mobile GPRS |
-INTERNET (has bundle attached) |
1 Euro |
NATIONAL-GPRS-CAMPAIGN |
Mobile GPRS Campaign Pricing |
-HALF-PRICE-INTERNET |
50 cents |
Bundle Configuration
Here is sample of a bundle configured to provide special pricing rules for up to 500 MB of GPRS usage every month.
Name |
HALF PRICE 500MB Data bundle |
---|---|
Code |
DATA-SPLIT |
Recurrence |
Monthly |
Value1 |
500*1024=512000 |
Value2 |
0 |
Rate Priority |
1 (This bundle is given the highest priority) |
Parameters |
IN.RATINGCODE=NATIONAL-GPRS-CAMPAIGN;IN.RATINGKEY=HALF-PRICE-INTERNET |
Sample Scenario
Assuming the following event is to be processed for a customer who has an active Data Split bundle.
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-DATA |
INTERNET |
51200 (50MB) |
According to the price configuration, this event should be rated at 50 Euros (1 Euro per MB), but be the Data split bundle alters the billing record temporarily in memory before the event is rated (using IN.RATINGCODE and IN.RATINGKEY parameters). Why is the billing record altered ???
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-GPRS-CAMPAIGN |
HALF-PRICE-INTERNET |
51200 (50MB) |
Because of this only 25 Euros are charged, value2 on the subscription bundle for that period is incremented by 51200. (Then I have to assume that the other rating dictates a 50 per cent discount - or what ?!)
I don't understand the connection to the following below. Is that a third bundle?
If after some time this customer now has a subscription bundle with value2=501760 (490 MB), and the following event is to be processed for a customer:
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-DATA |
INTERNET |
40960 (40MB) |
The bundle will split this billing record into 2 temporarily in memory;
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-GPRS-CAMPAIGN |
HALF-PRICE-INTERNET |
10240 (10MB) |
NATIONAL-DATA |
INTERNET |
30720 (30MB) |
The customer is charged a total of 35 Euros (5 Euros for the first and 30 for the second billing record). The subscription bundle becomes inactive until the next period, because value2 is set to 512000 which is the cap for this bundle.
Note: This is assuming that the customer has no other bundles valid for the "INTERNET" plan_element.
Example 2
GPRS Pricing Configuration Overview
RATING_CODE/SERVICE |
Number Plan |
Plan Element |
Charge Item price per MB |
---|---|---|---|
NATIONAL-DATA |
Mobile GPRS |
-INTERNET |
1 Euro |
NATIONAL-GPRS-CAMPAIGN |
Mobile GPRS Campaign Pricing |
-ZERO-PRICE-INTERNET |
0 Euros |
NATIONAL-GPRS-CAMPAIGN |
Mobile GPRS Campaign Pricing |
-HALF-PRICE-INTERNET |
50 cents |
Bundle Configuration
Here is sample of a bundle configured to provide special pricing rules for all GPRS usage in a given month. The first 500 MB should be zero-rated, all subsequent will be rated at half price.
Name |
GPRS Bundle |
---|---|
Code |
DATA-SPLIT |
Recurrence |
Monthly |
Value1 |
500*1024=512000 |
Value2 |
0 |
Rate Priority |
1 (This bundle should be given the highest priority) |
Parameters |
IN.RATINGCODE=NATIONAL-GPRS-CAMPAIGN;IN.RATINGKEY=ZERO-PRICE-INTERNET;OUT.RATINGCODE=NATIONAL-GPRS-CAMPAIGN;OUT.RATINGKEY=HALF-PRICE-INTERNET |
Scenario
Assume the following event is to be processed for a customer who has an active Data Split bundle:
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-DATA |
INTERNET |
51200 (50MB) |
According to the price configuration, this event should be rated at 50 Euros (1 Euro per MB), but the Data split bundle alters the billing record temporarily in memory before the event is rated (using IN.RATINGCODE and IN.RATINGKEY parameters). Again, why is the billing record altered ???
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-GPRS-CAMPAIGN |
ZERO-PRICE-INTERNET |
51200 (50MB) |
Because of this 0 Euros is charged, value2 on the subscription bundle for that period is incremented by 51200.
All data traffic billing records are rated in the same way, until the the 500 MB cap is reached (Where do you set the cap???). If the following event is to be processed for a customer after the cap is reached:
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-DATA |
INTERNET |
40960 (40MB) |
Because this Data split bundle has OUT.RATINGCODE and OUT.RATINGKEY parameters, the bundle remains active for the rest of the period. The billing record temporarily in memory before the event is rated (using OUT.RATINGCODE and OUT.RATINGKEY parameters). (Something is missing here!)
RATING_CODE |
RATING_KEY |
Usage (Bytes) |
---|---|---|
NATIONAL-GPRS-CAMPAIGN |
HALF-PRICE-INTERNET |
40960 (40MB) |
Because of this only 20 Euros is charged. (I'm lost - ALL values and prices must be listed, otherwise it is impossible to follow the examples)
Conflicts When Used with Other Bundles
If the bundle is used together with some other bundles, the rating priority must be carefully configured. Normally, it is better for the bundles to belong to the RestrictActive framework to be considered before the others, also because this bundle belongs to the RestrictActive framework. Even if the current bundle could not discount any more data bytes, the rating process would go to the next bundle and discount/rate the remaining bytes using that bundle.
If the non-RestrictActive framework bundle is set to higher priority, then it would only discount the bytes remaining to be discounted within that bundle and will charge the remaining ones. All billing records coming in later will skip the bundle that has already been used and go into the other bundles.