Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Date:

Author:

Version:

Changes:

Completed

Ext.

Int.

Is in Core

27 October 2011

Rida Riaz

1.0

 

No

x

 

 

31 October 2011

Luca Casarini

1.1

Review

No

x

 

 

31 October 2011

SD

1.1

Checked

Yes

x

 

 

9 May 2014Luca Casarini12.2New diagram, improved explanation0Reorganized the document, added bundle rating and introduction.Nox  

Rating Process

This page describes the activities which the Rating Process executes in order to rate billing records against subscribers. Any missing information throughout the process will move the billing record to the error queue; hence this document could also be used to track down rating errors by following the steps of the rating process and finding out which information is missing in the system (and most likely in the product configuration). Please note that understanding the rating process requires knowledge of the product configuration.

Rating Flow

The rating process starts when a billing record is received. The first activities of the rating process are aimed at finding the subscriber and his/her rate plan.

 

Step 1 - The Billing Record

The billing record contains the subscriber's information such as the ICC, IMSI or the A-number - depending on the implementation of the system. The billing record also contains the event information, i.a. the date and time when the event took place, the rating code and rating key or the b-number. This information is very important, because each step of the rating process will use it against the product configuration.

Step 2 - Find the Rate Plan

The IMSI/ICC/Anumber is picked up from the billing record and is used for finding the subscriber and the associated rate plan. From the information in the billing record, the corresponding subscription is found. From the subscription, the rate plan could be identified. Within customer care, the rate plan relating to a subscription could be seen on the subscription details tab.

Image Removed
 

The rate plan could be seen in the *Product Configuration.* In the screenshot below, the rate plan is 'Fixedline'.

 

Image Removed

Step 3 - Find the Number Plan 

When the rate plan is found, the rating process will look into the tele rates and find the number plan linked to the service code within the tele rates. The rating process uses the rating code from the billing record to find the service code and therefore the number plan. In order to examine the number plan, select the relevant rate plan and then click Edit. This will open up the 'Edit Rate Plan' popup. Select the 'Service Code' under 'Tele Rates' to see the associated number plan in the 'Number Plan' panel.

In the screenshot below, the rate plan 'Fixedline' has the service code 'NATIONAL CALL', and the number plan associated with this service code is 'Mobile National'. The rating process will compare the event/charge date present within the billing record with the from and to dates listed in the number plan configuration.

Image Removed

Step 4 - Find the B-number Method

After finding the associated number plan, the rating plan moves on to the number plan and looks at the configured b-number method. Keep in mind that the type of b-number method depends on the configuration of the customer. It could be getRatingKey or could also be getBNumber method. If it is getRatingKey, then the rating process will look at the rating key given in the billing record and compare it with the configured plan elements. If it is the getBNumber method, then the rating process will pick up the b-number from the billing record and compare it with the available plan elements.

The rating process finds the plan element using 'Best Match'.

The rating key or b-number method for the number plan could be seen by looking at 'Number Plans'. Select the number plan that was selected in the 'Edit Rate Plan' from the 'Number Plans' panel. After selecting the number plan, click Edit. In the 'Edit Number Plan' pop-up the b-number method can be seen. In the screenshot below, the b-number method for the number plan 'Mobile National' is getRatingKey. This means that the rating key mentioned in the billing record will be taken in order to find the plan element in the next step.

Image Removed

...

Introduction

Rator's billing functionality is designed to generate invoice detail lines based on Call Detailed Record (CDR) information received from the network.

Three major steps build up Rator billing functionality.

StepNameDescription
1LOADINGCDR information is loaded into the database and named as billing records. The loading process applies Rator customer validation logic to the CDR files to e.g. discard duplicate information or files which do not comply with the expected format.
2MEDIATION

Billing records have the same structure of CDRs, but two additional fields are added by Rator:

  • rating code
  • rating key

Mediation is the logic that determines these two fields from information available in the billing record. Rating code and rating key are human-readable values that have a great impact on the subsequent phases of the billing process.

3.1RATING (standard prices)

The telecommunications market often offers monthly packages which grant a limited amount of traffic (talk time, messages and data) at a fixed monthly fee. Nonetheless, every single minute of talk time, every message and every kbyte of GPRS has a basic or standard price.


The Rator Solution must allow for the configuration of these basic prices, because they will apply after the amount granted by the monthly package is used completely. The Rator Price Configuration is where the prices are configured and maintained. The Rator Campaign and Bundle Framework models the monthly packages and any other exception to the prices determined by the Rator Price configuration.

The first stage of the rating phase always determines the price of the billing record in terms of basic prices.

3.2RATING (campaigns)After the billing record is rated according to the basic prices, the process searches for exceptions. If a valid campaign/bundle is found, the process continues, and now the campaign/bundle's own logic determines the actual price of the billing record.

If errors occur during the process above, the billing record is moved into an error queue for manual investigation and handling. Therefore, knowledge of the rating and billing process is key for the investigation and resolution of rating errors.

This document describes the activities in steps 3.1 and 3.2 in the table above, and can be used to trouble shoot rating errors.

 

Warning

Knowledge of Rator Product Configuration is a prerequisite of this document.

 

Rating (Standard Prices)

These are the activities performed after a CDR is loaded into a billing record and mediated.

 

Drawio
diagramNameRatingProcessSteps-StdPrice.drawio
revision1

 

1: Billing Record Information

Several steps of the process will compare fields of the billing record with elements of the product configuration. 

 

Field(s)Description
Subscriber's informationAllows identification of the subscriber responsible for the usage. The fields depend on the network specification, but normally one can expect the presence of ICC, IMSI or the A-Number.
Event DateDate and time when the event began.
B-NumberNumber receiving the phone call, message. This applies only to certain types of usage.
DurationDuration of the phone call or amount of data. This applies only to certain types of usage and some networks may define two separate fields: one for phone calls and one for data sessions.
Event TypeNetwork's defined fields that specify exactly the type of usage, e.g. national call to a fixedline number, premium SMS, roaming call, etc.
Cost PricePrice of the usage as determined by the network.
Rating code, rating keyDetermined by mediation.

 

2: Rate Plan

This step looks for the subscriber and his/her rate plan. The subscriber's info in the billing record is used in tables like:

  • service
  • simcard
  • a_number

Eventually the corresponding subscription record is found and from that the process loads the corresponding billing_group_member record:

Field(s)Description
subscription_idCompared to subscription.id.
from_date, to_dateCompared to the event date on the billing record. The configuration that is valid when the event began is the only one considered.
rate_plan_idThis points to the rate plan that will be used by the following steps.
Info
titleCustomer Care

For investigation purposes, operators can use IMSI/ICC information of the billing record to find the subscriber via the advanced search. The rate plan is displayed in the subscription details.

 

 

3: Number Plan 

Once the rate plan is known, its tele rates configuration is compared with the billing record's rating code. The rate plan's tele rates configuration is where every possible rating code is assigned to a number plan. This assignment is valid on a specified range of dates; again the billing record's event date is used to find the number plan attached to a rating code.

 

Info
title Product Configuration

The tele rates configuration of a rate plan can be analyzed by selecting the rate plan in the Product Configuration GUI and clicking the Edit button.

This will open the Edit Rate Plan popup. Select the rating code on the table on the left (Tele Rates frame, Service Code column). The associated number plan is displayed on the right (Number Plans frame). The columns From Date and To Date specify whether the link between a rating code and a number plan has restrictions on time.

4: Execute the B-Number Method

The number plan's B-Number method is executed. This method uses some fields of the billing record to construct a string that is then used to find a plan element via Best Match.

A long list of possible methods is provided by the Rator Platform; besides, customers can also request the development of custom methods.

Info
titleProduct Configuration

For investigation purposes it is important to know the logic of the B-Number method. Click on the number plan on the Product Configuration GUI and then the Edit button. This will open the Edit Number Plan pop-up GUI where the operator can check the method that is configured for the number plan and read its description.

The most common B-Number methods are getRatingKey and getBNumber. They will return the billing record's rating key and B-Number, respectively.

5: Find the Plan Element

The rating process finds the plan element via 'Best Match' using the b-number method information. Once the plan element has been found, the rating process looks at the rate day information associated with that plan element. In order to look at the plan element, use the b-number method to select a plan element from the 'Plan Elements' panel.

For example, if the b-number is getRatingKey, then compare the value of the rating key with the available plan elements. In the screenshot below, 'MOBILE..Mobile national' is the plan element selected when looking at the rating key in the billing record (for example the rating key = MOBILE).

 

Image Removed

Dot and double dot

When handling plan elements, there are a few important things to consider. In particular, sometimes the dot "." must to be used in order to have a proper plan element tree configuration. The lack of usage of this character will make the rating fail. using the outcome of the B-Number method.

Best Match Algorithm

The algorithm is explained below.

Drawio
diagramNameBestMatch-Algorithm.drawio
revision1

Dot (".") as Plan Element Name

The plan element found by the best match algorithm is not always the one that points to the charges. The plan elements tree can be used to group several elements under one parent, which points to charges that are valid for all its children.

 

Info

If a plan element is named by using a dot , ''.'' then that plan element is defined as the price holder of all the charges on behalf of its sub-elements.

 

Image Removed

In the example above,the price is defined in the element below the charges are defined by the element Group 1. The elements below children of Group 1 do  do not point to a charge item; the parent defines the price. Remember that if double dot ''..'' is not put in the beginning of the children, then they will not call the parent ''.'' for accessing the charge item, hence the rating would fail. Since the parent Group 1 is defining the charge item so it is being edited to use ''.'' in the beginning and not the double dot ''..''.

Step 6 - Check the Rate Days

Now the rating process looks at the configured rate days. The rating process will compare the event/charge date present within the billing record the charges.

Image Added

6: Rate Day

The process loads the relevant rate day attached to the plan element. The billing record's event date is compared with the start and end dates listed configured in the 'Rate Day' configurationrate day itself.

In order to look at the 'Rate Day' configuration, select the relevant plan element and then have a look at the 'Rate Day' panel. Please note that the charge/event date should be equal to or should lie between the configured dates. In the screenshot it can be seen that the rate day is 'N-SINGLE' and has an open start and end date.

Image Removed

Step 7 - Check the Day Charges

After the rating process has found the rate day, it looks at the day charges. It again compares the charge/event data present in the billing record with the configured day charges.

In order to look at the 'Day Charge' configuration, select the relevant 'Rate Day' and then click Edit. On the 'Edit Rate Day' pop-up, there will be a 'Day Charge' panel. Please note that the day the charge/event took place should be within the configured days. In the screenshot it can be seen that all the days of the week are selected for the rate day 'N-SINGLE'.

Image Removed

Step 8 - Check the Time Charges

After looking at the day charge, the rating process looks at the time the event occured. The rating process would look at the start and the end time configured for the day the event occurred.

In order to look at the 'Time Charge' configuration, select the relevant 'Day Charge', to see the 'Time Charge' configured for the selected day. Please note that the time the event took place should be within an already configured time charge. In the screenshot below the time configured is 00:00 til 24:00.

Image Removed

Step 9 - Find the Charge Items

The rating process will now look at the charges defined for the time the event took place. It would pick up the relevant charge and use it for rating the event.

In order to look at the configured charge items, double click or Edit the 'Time Charge'. In the 'Edit Time Charge' pop-up, the configured charge items are present. Please note that the charge item for the time selected should be present, otherwise there can be no rating and the rating would fail. In the screenshot below, both the 'Initial' and 'Recurrent' charge items have been configured.  

Image Removed

...

Info
titleProduct Configuration

In the Product Configuration GUI, click on a plan element and the GUI will automatically display the corresponding rate days in the Rate Day frame below the plan elements tree.

7: Day Charge

Day charges are used to specify the charge depending on the day of the week (Monday to Sunday). In most cases, a rate day has one single day charge which includes all the days of the week. The billing record's event date is used again to find the relevant day charge.

 

Info
titleProduct Configuration

Day charges are displayed in the Edit Rate Day pop-up GUI. Select a rate day and click the Edit button on the Rate Day frame.

Example

A day charge in which charges are separate between weekdays and weekends is displayed below.

Image Added

If the usage date is on a Monday, Tuesday, Wednesday, Thursday or Friday, the Weekdays-day charge is considered by rating, otherwise the Weekends-day charge is used.

8: Time Charge

Time charges are used to specify the charge depending on the hour of the day (00:00 to 24:00). In most cases, charges are valid for the entire day, 00:00 to 24:00. The time in the billing record's event date is used to find the relevant time charge.

 

Info
titleProduct Configuration

Time charges are displayed in the Edit Rate Day pop-up GUI, Time Charge frame once the day charge is selected.

9: Charges

Each time charge can define the initial charge, the recurrent charge or both of them.

 

Info

Initial and recurrent charges are displayed in the Time Charge frame of the Edit Rate Day pop-up GUI. Alternatively, select one time charge and then click the Edit button on the right. This will open the Edit Time Charge pop-up GUI which configures the charge items that define the charges.

10: Execute the Rating Method

Once the charges are known, they are given as input to the number plan's rating method. The rating method may also use information from the billing record, such as duration or cost price.

11: Successfully Rated Billing Record

If there are no missing or misconfigured items in each of the above mentioned steps, and they run successfully, then the steps the rating process will result in the successful rating of the billing record. The output of a successfully rated billing record is an invoice detail line, linked to the original billing record.

...

the creation of an invoice detail line based on the standard prices. The process will eventually continue with involving campaigns and bundles according to the price configuration.

 

Warning

At this point of the process the invoice detail line is not yet persistent in the database.

 

Rating (campaign)

How Does the Rating Detect the Demand for a Campaign?

In order for rating to involve a campaign:

  1. The subscriber must be assigned to an active campaign.
  2. The campaign must have one bundle mapped to the very same plan element (or one of its ancestors) used during the standard prices rating.

 

Drawio
diagramNamerating-involving-campaigns.drawio
revision1

 

In that case the bundle's rating logic is involved:

  1. The invoice detail line generated according to the price configuration is input to the bundle rating.
  2. The output of the bundle rating depends on the bundle itself, but generally can be:
    1. An updated version of the original invoice detail line (e.g. zero-rated or 50% discounted).
    2. An updated version of the original invoice detail line with a new public representation (e.g. the discounted phone calls are listed under a new invoice level which contains only the discounted lines).
    3. The same original invoice detail line plus another one which gives the subscriber a credit of the same amount.
    4. The original price if e.g. the customer has finished the bonus.

Bundle Rating: Restrict Active Framework

The prominent feature of the Restrict Active framework is on-the-fly mediation. Bundles can change the rating code and rating key of a billing record and then the billing record is rated against another number plan/plan element which implements the new price according to the business rules. 

Info

This change is not persistent in the database. The billing record will always have the rating code and rating key determined by mediation.

It is possible to define two different sets of values for rating code and rating key: one to be used for the part of the usage inside the bundle, and one for the part outside the bundle. Bundles that implement this framework are capable of splitting usage of billing records that overflow the bundle.

 

Excluding corner cases such as overflow and splitting, this is what happens:

  1. After loading and mediation the billing record goes through the rating according to the standard prices.
  2. If a valid campaign is detected, then the bundle's logic is involved. Otherwise the invoice detail line is saved on the database and process is finished.
  3. The bundle will assign temporary rating code and rating key values to the billing record.
  4. The billing record goes through the very same standard rating process it has just left. This time, different rating code and rating key values will make it hit (possibly) a different rate plan, number plan and plan element. This will lead to the creation of a new invoice detail line.

Drawio
diagramNamerestrict-active-rating.drawio
revision1

Warning

Since the billing record essentially passes through the standard rating process at least twice, it is even more important to understand how the standard product configuration and the Restrict Active framework work. Remember that the new set of rating code and rating key are not persistent; therefore it is up to the operator to find out which campaign/bundle was involved and what happened during the on-the-fly mediation.