Create a Balance Distribution Normalizer

This normalizer defines ranges of balance or meter quantities that can be associated with different decision results.

Before you begin

My MATRIXX must contain the normalizer template that you want to use for this normalizer that implements the Balance Distribution normalization algorithm.

About this task

Note: When the normalizer compares the available balance amount, the available amount calculation includes all valid rollover balances. Filters are also not applied during balance normalizations and do not affect the results.

Procedure

  1. In Normalizers, click New Normalizer.
  2. In Create New Normalizer:
    1. In Name, enter a unique name.
    2. (Optional) In Description, enter descriptive information about the item.
    3. (Optional) In External ID, enter any alphanumeric character to serve as a unique ID on this pricing object. The external ID can be used for any reason that is meaningful to your implementation of MATRIXX Engine. External IDs are saved to the pricing configuration file and loaded into the Pricing database.
    4. From the Normalizer Template list, select the name of the normalizer template that implements the normalization algorithm you want to use for this normalizer.
    5. Click Create.
  3. In Start Date/Time, use the date picker to select the date on which the object becomes active in the Pricing database and is first available for use, or enter the date in the format YYYY-MM-DD. Optionally, enter a time for when the object becomes active. The default start date/time is 2000–01–01 00:00:00. If applicable, the range in which the start date/time must fall is listed. For example:
    • Select a date on or before 2021–12–01.
    • Select a date on or after 2020–01–27.
    • Select a date between 2000–01–02 and 2021–10–04.
    Note: If you are creating a new revision of this object, the start date/time must be after the start date/time of the preceding revision and before the start date/time of the next revision. If you are making a copy of this object, the start date/time is not copied. The new object is the first revision, so it has the default start date/time of 2000–01–01 00:00:00.
  4. Click Select Balance.
  5. In Select Balance:
    1. In Balance Class, select the balance class to use.
      Note: At least one meter must be defined in the system to select Meter as the Balance Class.
    2. Configure the balance options for normalization. To perform normalizations on:
      • The sum of all balances for the selected balance class, unselect both balance options.
      • A specified balance, select Use Balance, and in Balance select the required balance.
      • A specified balance tag, select Use Balance Tag, and in Balance Tag, select the required balance tag.
    3. Click Select.
    Note: If the balance is a periodic balance and you are normalizing on a earlier balance entry, you can specify only a balance.
    For information about balances and balance tags, see the discussion about balances.
  6. If the balance to normalize has any associated quantity units, in Units, select the unit in which to perform normalizations. This unit determines the balance attribute boundaries, for example, 1-10 megabytes, 10-20 megabytes, and so forth. If this unit is different from the balance unit, rating converts the balance unit to this quantity unit before normalizations.
    Note: If the selected balance distribution normalizer references a turnstile meter, the Units value is none because a turnstile meter counts a usage or charge occurrence and does not have a quantity unit.
  7. Skip the Default, Value if Field Not Present, and Value if balance not present settings for now because you have not defined the parameter values yet.
  8. In Normalized Value, select the type of balance amount to use during normalization:
    • Balance Amount — Uses the current amount in the specified balance. If the subscriber's wallet holds multiple valid balances, the value used is the sum of all current balance amounts in the valid balances.
    • Available Amount — Uses the available amount in the specified balance. This is equal to the credit limit minus the current balance amount, or 0 if the current amount is above the credit limit. If the balance is a virtual balance that aggregates to a group G/L balance, the value used is the minimum of the available amount in the balance and the available amounts of all balances above it in the hierarchy. If multiple valid instances of the balance exist, the value used is the sum of the available amounts for the individual balances.
  9. (Optional) Select where to retrieve the balance from. You can define either a tier or a tier parameter.
    • In Tier, select the name of a group tier.
    • In Tier Parameter, select the parameter used to specify the group tier.
    Note: These options are only available when normalizing on the balance amount.
  10. If any metadata fields were defined in the normalizer template, they are listed under Default Metadata. For each piece of metadata, enter the fixed value to be associated with a result. The value entered must correspond to the configured data type. This value is used in the following ways:
    • No default value is defined in the normalizer template and --default-- is used to define the metadata value in the normalizer instance using the Edit Normalizer Values dialog.
    • The default value is defined in the normalizer template under the Values table as --default--.
  11. Click or hover over the Rows menu icon and select Edit Values to open Edit Normalizer Values. You can add new values manually or by selecting a normalizer value list.
    Note: If using a normalizer value list, metadata is not supported. Therefore, any metadata listed under Default Metadata in Edit Normalizer does not display as columns in the Values table in Edit Normalizer Values if Use Normalizer Value List is selected.
  12. If defining values by selecting a normalizer value list, perform the following steps for each balance range to create:
    1. If the normalizer already has values defined, click Create a Normalizer Value List to save the list of manually created values as a normalizer value list. Enter a unique name and click Create. The new normalizer value list is added to the Normalizer Value List drop-down menu and can be selected for this and other normalizers.
      Important: Any existing values in the normalizer that are not saved as part of creating a normalizer value list are deleted after you click Save.
    2. Check Use Normalizer Value List to enable the menu. This disables the option to add a value manually by clicking New Value. Any existing values assigned to the normalizer are removed.
    3. Select a normalizer value list from the drop-down menu. Values from the selected list are displayed in the table.
  13. If the normalizer template does not define any normalizer values and you are not using a normalizer value list, then you can define the values within the normalizer instance by clicking Edit Values to open Edit Normalizer Values and performing the following steps for each balance range to create:
    1. Click New Value.
      A row is added to the list with an ID that is used internally to look up the parameter value during rating. Any metadata defined in the normalizer template is displayed as columns in the Values table.
    2. Click the Name cell in the row and enter a descriptive name for the range.
    3. Click the Description cell in the row and enter information about the purpose of the parameter value.
    4. To assign a color to the parameter that displays as the background color for each row in the Rows table, do one of the following:
      • Hover your mouse over the Color cell in the row and select a color from the color palette.
      • Click the Color cell in the row and assign a color to the value by setting the color's hue, saturation, and lightness. The following methods are available:
        • Use the eyedropper tool to select any color on your screen or select a color on the color strip to pick a main color. Then use the color gradient area to fine tune the color.
        • Enter the RGB/HSL/Hex values of a certain color if they are known.
    5. If metadata columns are displayed and no values were defined for the metadata in the normalizer template, enter the value for the metadata. Metadata can be associated with each result value. The value entered must correspond to the configured data type.
      Default and non-values can be defined as follows:
      • Enter --none-- if no value is assigned to this field.
      • Enter --default-- to use the default value for this field.
      For example:
      1. The test1 metadata has a default value of 1, and the test2 metadata has a default value of 2 as defined in the Default Metadata table in Edit Normalizer.
      2. In Edit Normalizer Values, the string value for test1 is configured as --default--, and test2 is configured as --none--.
      3. When a row is added to the Rows table, test1 has the value of 1 and test2 is empty.
      If actual values are defined for the metadata in Edit Normalizer Values, then those values are displayed in the metadata columns in the Rows table.
  14. Click Save.
  15. Click or hover over the Rows menu icon and select Add Row.
    • If the normalizer is using a normalizer value list, the first item in the list is added.
    • If the normalizer is not using a normalizer value list, an empty row is added.
    Any metadata defined in the normalizer template is displayed as columns in the Rows table.
  16. Click the cell under Name and select a parameter value for the lowest range.
  17. Click the cell under Start and keep -infinity as the start value.
    This is the lower boundary.
  18. Click the cell under End and enter the end value for the range.
    This value is not included in the range.
  19. Click or hover over the Rows menu icon, select Add Row:
    • If the normalizer is using a normalizer value list, the first item in the list is added.
    • If the normalizer is not using a normalizer value list, an empty row is added.
    Any metadata defined in the normalizer template is displayed as columns in the Rows table with the values defined in Edit Normalizer Values.
    1. Click the cell under Name and select a parameter value for the lowest range.
      The Start and End values for multiple ranges must overlap so all values are covered during rating. For example, -infinity-10, 10-20, and 20-30 is correct. In this case, 10 is included in the second range and 20 is included in the third range.
    2. Click the cell under Start and enter the end value of the previous range.
      For example, if the previous range is -infinity to 100, type 100.
    3. Click the cell under End and enter the end value for the range. For the highest range you define, if there is no upper limit, set the value to infinity.
    4. Repeat these steps for each range to create. When adding or editing a row, a blue bar displays by the row to indicate that changes have been made. When the changes are saved, the UI automatically takes you to the newly added or updated row in the table after resorting the rows by name.
  20. (Optional) Click or hover over the Rows menu icon and select Validate to check the normalizer values for errors.
    Validation checks for errors caused by duplicate rows, gaps in ranges, overlapping ranges, and any other missing or invalid configurations. To perform the validation, My MATRIXX sorts the rows in the rate table according to the first parameter value.
  21. In Value If Field Not Present, select a parameter value to use when the field value is not set at the time of rating.
  22. (Optional) In Default, select a default parameter value to use when the incoming value does not match any of the defined values. If your normalizer has no rows, it must contain a default value.
  23. In Value If Balance Not Present, select a balance range to use when the required balance is unavailable at the time of rating.
    Rating checks this balance to decide how to impact another balance. For example, if you are granting a subscriber an asset based on a loyalty points balance and the loyalty points balance is not available, use this value to decide how much to grant.