Service Context Aggregation

Define aggregation settings for a service context type in My MATRIXX. Define properties to configure whether usage is aggregated across the duration of the context session. If aggregation is configured, you can define how usage is aggregated and whether this is a limit to the aggregation. An Event Detail Record (EDR) for aggregated usage is generated based on these settings.

Aggregation By Session and/or Time

Select Is Aggregation By Session to set usage aggregation based on sessions. For each device, the aggregation is per session.
Note: Only set this attribute for services using Session Charging with Unit Reservation (SCUR), where ongoing usage is periodically reauthorized across many Credit-Control Request (CCR) messages.
For more information about sessions and SCUR, see the discussion about rating sessions.

Select Is Aggregation By Time to set usage aggregation based on time. Specify the aggregation period type as hourly or daily. If you select hourly, you must also set an hourly interval in Aggregation Period Interval. Each period starts at the beginning of every hour coefficient or day. Periods start and end in the same day.

Rounding Per Aggregation

When Is Rounding Per Aggregation is enabled, all charge amounts in events are rounded at aggregation close rather than on a per-message basis. Rounding for all amounts in events including balance update records, charge detail records, and GL info records is delayed until aggregation close. The Is Rounding Per Aggregation option affects the total balance impact of aggregation.

Actual balance impacts are rounded as each message is processed. The balance stored is always rounded to the configured balance precision.

Note: If split charging is applied to a message, then the amounts in event charge records for that message are rounded (and adjusted) even if delaying rounding until aggregation close is enabled for the service type.

Aggregation data tracks the total amounts that balances have been impacted by each message. As rating data from each message is merged into aggregation, the total balance impact is compared against what would result from rounding the current accumulated, unrounded amount. If these differ, an additional balance update of plus or minus 1 is generated at the balance precision level. For example, +0.01 or -0.01 for a balance precision of 2.

Balance Impact

In this example, the following is true:
  • Three messages are processed
  • Each message charges the balance 0.003333
  • Balance precision = 2
  • Aggregation closes after the third message
After first message:
  • Total rounded impacts to balance = 0.00
  • Total unrounded amount = 0.003333, which rounds to 0.00
  • No additional impact
After second message:
  • Total rounded impacts to balance after merging data = 0.00
  • Total unrounded amount = 0.006666, which rounds to 0.01
  • Additional impact of 0.01 is generated
After third message:
  • Total rounded impacts to balance after merging data = 0.01
  • Total unrounded amount = 0.009999, which rounds to 0.01
  • No additional impact
The generated event shows the balance update of 0.01.
Figure 1. Balance Impact Example 1

Balance Impact

In this example, the following is true:
  • Two messages are processed
  • Each message charges the balance 0.016
  • Balance precision = 2
  • Aggregation closes after the second message
After first message:
  • Total rounded impacts to balance = 0.02
  • Total unrounded amount = 0.016, which rounds to 0.02
  • No additional impact
After second message:
  • Total rounded impacts to balance after merging data = 0.04
  • Total unrounded amount = 0.032, which rounds to 0.03
  • No additional impact of -0.01 is generated
  • Total rounded impact is 0.03
The generated event shows the balance update of 0.03.
Figure 2. Balance Impact Example 2
Balance Impact Example 2

You can enable or disable Is Rounding Per Aggregation during the lifetime of an aggregation. In this case, the aggregation accumulates rounded and unrounded values. If Is Rounding Per Aggregation is enabled at any time during the lifetime of the aggregation, rounding is done when the aggregation closes.

For more information about balance precision, see the discussion about balance and meter precision in MATRIXX Pricing and Rating.

Quantity Limit

The Has Aggregation Quantity Limit option specifies whether aggregation ends after a usage quantity threshold has been reached. When selected, you must also configure Is Aggregation Rating Quantity Limit, Aggregation Usage Quantity Limit, and Aggregation Usage Quantity Limit Unit:

  • Is Aggregation Rating Quantity Limit — When selected, aggregation uses the rated amount. If deselected, aggregation uses the reported raw amount.

    This option specifies whether the quantity limit refers to rated quantity or raw quantity, which also determines what triggers the generation of the aggregated EDR. The two quantities may differ, for example, due to beat rounding and decreasing the quantity rated due to a credit limit, which might happen if there are charges for which there was no prior authorization.

  • Aggregation Usage Quantity Limit — Specifies the total usages that triggers an EDR.

    This option specifies the usage quantity that triggers the EDR for the event aggregation.

  • Aggregation Usage Quantity Limit Unit — Specifies the unit in which aggregation quantity is measured.