Event Segmentation During Rating

During rating, a valid rating formula is applied to an event until something causes the rating formula to no longer be valid, such as a time change that causes a rate change, or a credit limit is reached. The change creates an inflection point that segments the event. Therefore, all valid product offers, balances, and price components are examined again to determine the rating formula to use.

Inflection points create an event segment when a rating boundary is crossed due to any of the following reasons:
  • A normalizer parameter value changes. For example, a time normalizer produces an event segment when a session crosses a peak/off-peak boundary.
  • A specific balance entry's validity period ends or another balance becomes valid.
  • A credit limit on the balance being impacted or on a meter tracking the balance has been reached, and the valid rating formula is neither zero or a negative value that reduces the balance amount back under the credit limit.
  • Normalization occurs on a balance that is impacted within the segment and the impacts cause the balance to become invalid.
  • The validity period of a purchased product offer has ended or another purchased product offer becomes valid.
  • When a group hierarchy uses multiple time zones at different levels in the hierarchy and a usage event spans midnight at any level at or above the subscriber. In such cases, the event is divided into before and after midnight segments at each level.

For each event segment, the MATRIXX Charging Application performs the preprocessing operations of determining the valid product offers, balances, and rating formulas. When the event is complete either because it reached the end of the usage quantity or further rating cannot be performed, the balance impacts are combined from each internal segment and a single balance update is calculated. The Event Detail Record (EDR) created for the event has the single update and the updates per segment, product offer, and update type.

Because a rate table can impact only one balance and multiple balances can be impacted by one event throughout the rating process, there are often multiple rate tables that determine the rates to apply. For example, multiple balances can be impacted under the following conditions:
  • One balance does not have enough quantity available but another one does. In this case, an event segment is created when the balance being impacted reaches a credit limit and for the next segment, a different balance is selected.
  • Multiple price components are associated with the event and are set up to impact several balances.
  • A meter is being used to track usage.
Figure 1 illustrates how a set of rate tables are used to rate each segment of an event. Based on the normalizer parameter values that are valid during each event segment, a row in a rate table is selected. The rating formula for that segment is applied while it is valid, and then the next rating formula is applied, and so on, to determine the total rate for the event.
Figure 1. Rating Event Segments
Event Segmentation During Rating

The rating process also includes comparing the applicable charges with the subscriber's available balances to determine how much of the authorization or usage can be met. If the available balance amount is less than the amount that is targeted for the event segment, then the partial quantity that can be authorized or charged against the balance is calculated.

The targeted quantity is based on the remaining usage quantity to be rated. This is equal to the requested or used amount from the network message minus the quantity rated for preceding segments. If the entire targeted amount cannot be included in the segment, then the segment size is exactly the amount that can be rated. If this segment size is not an integral number of beats, the remaining part of the beat is calculated and used in determining the target size of the next segment. If no additional segments can be rated, then the total quantity authorized or charged is a non-integral number of beats.

Usually, the target size for an event segment is the remaining quantity rounded up to an integral number of beats. However, if the remaining part of the partial beat is equal to or larger than the remaining quantity, the target quantity is the remaining part of the beat. Otherwise, the target quantity is the remaining part of the beat, plus the remaining quantity after subtracting the partial beat, rounded up to an integral number of beats. Take the following example:
  • The beat size is 10 kilobytes.
  • The preceding segment size is 12 kilobytes, so the remaining part of the beat is 8 kilobytes.
  • The remaining quantity is 32 kilobytes.
  • After the partial beat, the remaining quantity is now 24 kilobytes (32 – 8 = 24).
  • The 24 kilobytes is rounded up to 30 kilobytes for an integral number of beats.
  • The target event segment size is 38 kilobytes (8 + 30 = 38).
  • The target size for the whole event is an integral number of beats: 12 (the first segment target) + 38 (second segment target) = 50 (a multiple of 10).
In addition, the beat size can change between segments. If a beat is divided between segments, and the size changes, the size in effect at the start of the beat continues into the next segment, until that beat is complete. Take the following example:
  • The beat size of first segment is 5 kilobytes.
  • The size of the first segment is 12 kilobytes, so three kilobytes remain in the beat.
  • The beat size of second segment is 10 kilobytes.
  • The remaining quantity is 24 kilobytes.
  • The remaining quantity after the partial beat is 21 kilobytes (24 – 3 = 21).
  • The 21 kilobytes is rounded up to 30 kilobytes to be an integral number of the beats of the size for the second segment.
  • The target size for the second segment is 33 kilobytes (3 + 30 = 33).
  • If the segment ending with a partial beat is followed by a small segment, then the beat from the initial segment can cover more than two segments.