Exceptions
Exceptions in algorithms are designed to provide flexibility in data selection for calculations. This allows specific values to be excluded or included during algorithm execution. Depending on the algorithm, two types of exceptions are supported: blacklist and whitelist.
Blacklist
A blacklist is used to exclude specific data from algorithm calculations. If a value matches the blacklist conditions, it will be excluded from processing.
The blacklist is supported in various algorithms and allows you to manage exclusions based on:
- UBA object identifiers
- Profiling fields
- Periods
Usage in Different Algorithms
Algorithm | Excludable Elements |
---|---|
Dictionary | UBA object identifiers, profiling fields |
Statistics | Only UBA object identifiers |
Frequency | UBA object identifiers, profiling fields, time periods |
Chronology | UBA object identifiers, profiling fields, time periods |
Patterns
For UBA object identifiers
and additional fields
, you can use patterns with a single *
wildcard.
Examples of pattern usage:
Alex*
- all values starting withAlex
*Garcia
- all values ending withGarcia
*
- any value
Whitelist
The whitelist is only used in the Dictionary
algorithm.
It is used to forcibly include specific data in calculations.
Whitelist patterns are only supported for UBA object identifiers
.
Index Structure
Both the blacklist
and the whitelist
use the following index structure:
_meta.id
- record identifier_meta.created
- record creation date and time_meta.updated
- last update date and timealgorithm_id
- ID of the algorithm the exception setting applies toobject_id
- array of UBA object identifiers the exceptions apply toexclude
- array of field-based exclusion conditions, wherefield
is the field name andvalue
is the value to matchignored_weekend
- flag indicating whether to ignore weekends in calculationsperiods
- array of time periods. All records matching the defined periods are excluded from the algorithm's calculations
Each period element uses the format <number><time unit>
, where:
- Number - defines the ordinal position on the time axis
- Time Unit - suffix::
y
- yearM
- monthd
- day of the monthdw
- day of the weekh
- hourm
- minutes
- second
Examples of values: 1h
— the first hour of the day, 2M
— the second month of the year, 15d
— the fifteenth day of the month.
Example of a JSON index object
{
"ignored_weekend": false,
"_meta": {
"created": "2025-04-08T12:23:08.927Z",
"id": "4705d342e4a12262fae710eba12ee8d28df622b9",
"updated": "2025-04-08T12:23:08.927Z"
},
"periods": ["1h","2h","3h","2M","15d"],
"exclude": [
{
"field": "computer_name",
"value": "Lenovo*"
}
],
"algorithm_id": "0xGgo5UBPL4WRSl6AKeD",
"object_id": ["Edward*", EvansJoseph]
}