Versions Compared

Key

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

...

A rule processor configuration document typically contains the following information:

  • Rule configuration metadata

...

...

{
  "id": "003@1.0.0",
  "cfg": "1.0.0",
  "desc": "Account dormancy - creditor"
}
  • A config object, that

    • may contain

...

Code Block
"config": {
  "parameters": {
    "maxQueryRange": 86400000,
    "tolerance": 0.1
  }
}

...

    • a number of parameters

    • may contain a number of exit conditions

...

Code Block
"config": {
  "exitConditions": [
    {
      "subRuleRef": ".x00",
      "outcome": false,
      "reason": "Incoming transaction is unsuccessful"
    },
    {
      "subRuleRef": ".x01",
      "outcome": false,
      "reason": "Insufficient transaction history"
    }
  ]
}

The config object will also contains either result bands, for example:

Code Block
"config": {
  "bands": [
    {
      "subRuleRef": ".01",
      "lowerLimit": 0,
      "upperLimit": 18,
      "outcome": true,
      "reason": "The debtor is younger than 18 years old"
    },
    {
      "subRuleRef": ".02",
      "lowerLimit": 18,
      "upperLimit": 30,
      "outcome": true,
      "reason": "The debtor is 18 years or older and younger than 55 years of age"
    },
    {
      "subRuleRef": ".04",
      "lowerLimit": 50,
      "outcome": true,
      "reason": "The debtor is 55 years or older"
    }
  ]
}

or alternatively result cases, for example:

...

    • will contains either result bands

    • or alternatively will contain result cases

Rule configuration metadata

The rule configuration “header” contains metadata that describes the rule. The metadata includes the following attributes:

  • id identifies the specific processor and version related to the configuration

  • cfg is the unique version of the configuration. Multiple different versions of a config can co-exist simultaneously in the platform.

  • desc offers a readable description of the rule

The combination of the id and cfg strings forms a unique identifier for every rule configuration and is sometimes compiled into a database key, though this is not essential: the database enforces the uniqueness of any configuration to make sure that a specific version of a configuration can never be over-written.

The configuration object - parameters

A rule processor’s parameters are used to define how a rule processor will operate to evaluate the incoming message. The requirement for the parameters are coded into the rule processor and must be provided in the configuration for the rule processor to deliver a successful outcome. If any of the required parameters are missing, the rule processor will still deliver a result, but it will be a default error outcome. Parameters are given descriptive names to assist the operator in specifying them correctly. Parameters often differ from one rule to the next, but typically define thresholds and time-frames for the historical queries that are executed inside a rule processor. Some notable examples:

Parameter

Description

evaluationIntervalTime

The time-frame that defines the intervals into which a histogram is partitioned. Some rules perform a statistical analysis of behaviour over time and partitions the historical data into a histogram. This parameter defines, in milliseconds, the time-frame of each interval.

maxQueryLimit

The maximum number of records to return in the query. This parameter limits the number of results that can be returned from the database.

maxQueryRange

A time (in milliseconds) that limits the maximum extent of a historical query. A query with a value of 86400000 would only look up messages received within the last 24 hours.

minimumNumberOfTransactions

The least number of transactions required for the rule processor to produce a result. Some statistical algorithms required at least a certain number of data-points to be able to render a useful result. If the minimum number of transactions cannot be retrieved, the rule processor will raised a non-deterministic exit condition.

tolerance

A margin of error for an evaluation against a threshold. With a tolerance of 0 (zero) the match against a target value would have to be exact, but with a tolerance value of 0.1, the match could be in a range either 10% below or above the threshold value.

Example:

Code Block
  "config": {
    "parameters": {
      "maxQueryRange": 86400000,
      "commission": 0.1,
      "tolerance": 0.1
    },

If a rule processor does not use any parameters, the parameters object may either be empty (parameters{}) or omitted entirely.

The configuration object - exit conditions

3. Version Management

3.1. Introduction and Basics

...

The active network map ultimately defines the scope of a particular evaluation, right down to the specific processors and their versions that are going to be used, as well as the specific version of the processor configuration required. If any of the components in a network map changes, a new network map must be deployed and activated to replace the previous iteration of the network map.

...

References

...

  1. In its current configuration, the platform only evaluates the pacs.002 as the trigger payload for the rule processors and typologies have only been defined with the final status of a payment transaction in mind.

  2. The typology processor is not currently configured to interdict the transaction when the threshold is breached; only investigations are commissioned once the evaluation of all the typologies are complete.

  3. https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/76906497/Configuration+management#References%3A

  4. https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/6586489/Rule+Processor+Overview#4.1.-Read-rule-config

  5. https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/1740494/Typology+Processing#5.5.-Read-typology-configuration

  6. https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/6259944/Transaction+Aggregation+and+Decisioning+Processor+TADProc#7.4.2.-Read-transaction-configuration

  7. https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/6520927/Channel+Router+and+Setup+Processor+CRSP#3.1.-Read-Network-Map

  8. An explicit version reference has been planned for development to make it easier for an operator to link an evaluation result to the specific originating network map.