AverageDriftAcrossVersions
Description
'Average Drift Across Versions' verses configure Mona to find segments, in which a metric's average differs significantly between a target and benchmark data sets - which are both defined by using a version field and defining which of its possible values is in each data set.
Note: Current implementation requires that versions are sorted alphabetically, it supports comparing the latest (alphabetically) version to any number of previous versions.
We then check if the difference between the average metric value in the target set to the average metric value in the benchmark set, normalized by the standard deviation (of the metric value distribution in the united benchmark and target sets) is larger than a given minimal anomaly level.
{
"stanzas": {
"stanza_name": {
"verses": [
{
"type": "AverageDriftAcrossVersions",
"segment_by": [
"company_id",
"country"
],
"metrics": [
"confidence_score",
"failed_classification"
],
"min_segment_size_fraction": 0.05,
"min_anomaly_level": 0.5,
"version_field": "model_version",
"num_versions_benchmark": 2,
"order_versions_by": "LATEST_TO_RECEIVE_DATA"
}
]
}
}
}
In this example we see an AverageDriftAcrossVersions verse which is configured to search for statistically significant changes in the average of "confidence_score" and "failed_classification" in any specific "company_id" or "country" (or any intersection of country and company), between the latest model version and the 2 versions prior to that. The latest model version is the latest version to receive data.
We use "min_anomaly_level" to define that a drift occurs when the change in averages between the benchmark and target sets normalized by the standard deviation (of the metric value distribution in both benchmark and target sets) is larger than 0.5.
The "min_segment_size_fraction" param will filter out segments that are smaller than 5% of the data.
Basic Params
see more
benchmark_set_period
Name | Description | Type | Default |
---|---|---|---|
benchmark_set_period | Time period for benchmark set. By default means the period just before the target set period. Expected format is "" where can be any positive integer, and options currently include: "d" (days), or "w" (weeks). e.g, "1d" means 1 day period. | TimePeriod |
{ "benchmark_set_period": "50d" }
cadence
Name | Description | Type | Default |
---|---|---|---|
cadence | The cadence for evaluation of this verse. Only the following cadences are valid: Minutes: 1m, 5m, 10m, 15m, 20m, 30m. Hours: 1h, 2h, 3h, 4h, 6h, 8h, 12h. Days: 1d, 2d, 3d, 4d, 5d, 6d. Weeks: 1w, 2w, 3w, 4w, 5w. | CadenceType | 1d |
{ "cadence": "6h" }
default_urgency
Name | Description | Type | Default |
---|---|---|---|
default_urgency | The urgency class for insights created using this verse. Currently supports two values: "normal" (default) and "high". If set to "normal", then specific thresholds for "high" urgency can be set using other parameters prefixed with "highurgency". If set to "high", then threshold parameters prefixed with "highurgency" are not considered at all - since all insights of this verse will be considered as having a "high" urgency. | Urgency | normal |
{ "default_urgency": "high" }
description
Name | Description | Type | Default |
---|---|---|---|
description | Verse description. | str |
{ "description": "searches for asc drifts in output_score" }
metrics
Name | Description | Type | Default |
---|---|---|---|
metrics | Relevant metrics to search anomalies for in the verse, relevant only for types who search for anomalies in metrics behavior. | MetricsListType | [] |
{ "metrics": [ "top_score", "delta_top_to_second_score" ] }
min_anomaly_level
Name | Description | Type | Default |
---|---|---|---|
min_anomaly_level | This parameter sets the threshold for the minimal anomaly level for which an insight will be generated. In standard mode - anomaly level is the diff between target and benchmark averages, normalized by overall STD. In no-STD-mode the anomaly threshold will be defined by "no_std_mode_min_diff_percent". | PositiveFloat | 0.3 |
{ "min_anomaly_level": 0.6 }
min_segment_size
Name | Description | Type | Default |
---|---|---|---|
min_segment_size | Minimal segment size for the united benchmark+target segments. | PositiveInt | 100 |
{ "min_segment_size": 100 }
min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
min_segment_size_fraction | Minimal segment size in fraction from baseline segment, which a segment must have in order to be considered in the search. | InclusiveFraction | 0 |
{ "min_segment_size_fraction": 0.05 }
name
Name | Description | Type | Default |
---|---|---|---|
name | The name of the verse. If missing, this field defaults to "<stanza's name><verse's type>". Please note, a verse's name must be different from other verses in the same stanza. Therefore, in cases where there is more than one verse of the same type, using the default name ("<stanza's name><verse's type>") is not supported and custom names have to be provided for these verses. | None | None |
{ "name": "confidence_outliers" }
num_versions_benchmark
Name | Description | Type | Default |
---|---|---|---|
num_versions_benchmark | Number of versions to set as benchmark, the target (last version in the alphabetical order) will be compared to its previous num_versions_benchmark versions. When set to -1, benchmark will be ALL previous versions. | NonNegativeOrMinusOneInt | 1 |
{ "num_versions_benchmark": 2 }
order_versions_by
Name | Description | Type | Default |
---|---|---|---|
order_versions_by | The sorting manner of the versions. The last version in the chosen ordering manner will be the target and the previous num_versions_benchmark versions on this order will be the benchmark. order_versions_by options: "ALPHABETICAL": The target will be the last version in the alphabetical order. "LATEST_TO_RECEIVE_DATA": The target will be the latest version according to the last time data was received for it. "LATEST_TO_RECEIVE_FIRST_DATA": The target will be the latest version according to the first time data was received for it. | OrderVersionsBy | ALPHABETICAL |
{ "order_versions_by": "LATEST_TO_RECEIVE_DATA" }
segment_by
Name | Description | Type | Default |
---|---|---|---|
segment_by | The dimensions to use to segment the data in order to search for anomalies. This list must be a sublist of all arc class' dimensions. Limiting the possible values of a specific segmentation field on which insights can be generated can be done using the "avoid_values" and the "include_only_values" keys in the segmentation JSON object, as seen in the example. | SegmentationsListType | [] |
{ "segment_by": [ "city", "bot_id", {"name": "provider-code", "avoid_values": ["zoom"]}, {"name": "selected-language", "avoid_values": ["eng", "spa"]}, {"name": "country", "include_only_values": ["jpn"]} ] }
target_set_period
Name | Description | Type | Default |
---|---|---|---|
target_set_period | Time period for the target set, ending on the day of the latest available data. Format detailed in common/util.py's get_time_period_for_string. | TimePeriod |
{ "target_set_period": "1w" }
trend_directions
Name | Description | Type | Default |
---|---|---|---|
trend_directions | A list of allowed anomalies trends directions - either 'asc' for ascending (anomalies in which the found value is LARGER THAN the relevant benchmark), or 'desc' for descending (anomalies in which the found value is SMALLER THAN the relevant benchmark). | TrendDirectionsType | ['desc', 'asc'] |
{ "trend_directions": [ "asc" ] }
version_field
Name | Description | Type | Default |
---|---|---|---|
version_field | The name of the field containing the versions to be compared (required). | str | None |
{ "version_field": "model_version" }
Advanced Misc Params
see more
avoid_same_field_for_segment_and_metric
Name | Description | Type | Default |
---|---|---|---|
avoid_same_field_for_segment_and_metric | If True, insights would not be created for segments based on the same field as the given metric. | bool | True |
{ "avoid_same_field_for_segment_and_metric": false }
create_extra_adjacent_signals
Name | Description | Type | Default |
---|---|---|---|
create_extra_adjacent_signals | If set to true (default), will cause Mona to create new signals from existing signals with adjacent numeric segments. So if there are two signals defined on 1 <= x < 2 and 2 <= x < 3 - Mona will automatically create a new signal with 1 <= x < 3. This will allow the later clustering algorithm to create an insight with the most relevant segment for its main signal. | bool | True |
{ "create_extra_adjacent_signals": false }
disabled
Name | Description | Type | Default |
---|---|---|---|
disabled | If set to True - this verse won't be used when searching for new insights. | bool | False |
{ "disabled": true }
expire_after
Name | Description | Type | Default |
---|---|---|---|
expire_after | Insights detected by this verse will continue to be considered active for at least this amount of time after the last time they were detected. | TimePeriod | 3d |
{ "expire_after": "2d" }
timezone
Name | Description | Type | Default |
---|---|---|---|
timezone | The timezone used to aggregate daily data points. Accepts any IANA time zone ID: (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) | Timezone | UTC |
{ "timezone": "Asia/Hong_Kong" }
Advanced Score Calculation Params
see more
no_std_mode_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
no_std_mode_min_segment_size | Minimum segment size to start using no-STD mode. -1 means don't use this method at all. 0 means only use no_std_mode. If this is positive, smaller segments will use the std-aware mode. | NonNegativeOrMinusOneInt | -1 |
{ "no_std_mode_min_segment_size": 0 }
no_std_mode_reference_values
Name | Description | Type | Default |
---|---|---|---|
no_std_mode_reference_values | In no-STD mode, use these values as reference to compare both benchmark and target averages. | frozenset | [0] |
{ "no_std_mode_reference_values": [ 0, 1 ] }
score_anomaly_level_exponent
Name | Description | Type | Default |
---|---|---|---|
score_anomaly_level_exponent | An exponent to put on the anomaly level in the score after multiplying it by the given multiplier. | float | 1.0 |
{ "score_anomaly_level_exponent": 0.5 }
score_anomaly_level_multiplier
Name | Description | Type | Default |
---|---|---|---|
score_anomaly_level_multiplier | Multiplier for an anomaly level to use before using the exponent. | float | 1.0 |
{ "score_anomaly_level_multiplier": 1.2 }
score_segment_size_exponent
Name | Description | Type | Default |
---|---|---|---|
score_segment_size_exponent | An exponent to put on the segment's size (or relative size) in the combined score. If score_segment_size_log_base is not 0, the exponent will be applied before the logarithm will. | float | 0.5 |
{ "score_segment_size_exponent": 1.5 }
score_segment_size_log_base
Name | Description | Type | Default |
---|---|---|---|
score_segment_size_log_base | Changes the log base used for the segment's size (or relative size) in the combined score, or remove the log altogether by setting 0 here. Unless its 0 this value must be larger than 1. | float | 0.0 |
{ "score_segment_size_log_base": 5 }
score_use_segment_absolute_size
Name | Description | Type | Default |
---|---|---|---|
score_use_segment_absolute_size | If true, use the segment absolute size in the combined score, otherwise use the segment's size relative to its baseline (fraction). | bool | True |
{ "score_use_segment_absolute_size": false }
Anomaly Thresholds Params
see more
epsilon
Name | Description | Type | Default |
---|---|---|---|
epsilon | Minimal absolute difference between benchmark and value. | NonNegativeFloat | 0.01 |
{ "epsilon": 0.5 }
high_urgency_min_anomaly_level
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_anomaly_level | Threshold for separating between "high" and "normal" urgency insights with regards to min_anomaly_level. See "min_anomaly_level" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_min_anomaly_level": 1.5 }
high_urgency_min_score
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_score | Threshold for separating between "high" and "normal" urgency insights with regards to min_score. See "min_score" param for more details on the functionality of this param. | FloatOrNone | None |
{ "high_urgency_min_score": 20 }
min_anomaly_level
Name | Description | Type | Default |
---|---|---|---|
min_anomaly_level | This parameter sets the threshold for the minimal anomaly level for which an insight will be generated. In standard mode - anomaly level is the diff between target and benchmark averages, normalized by overall STD. In no-STD-mode the anomaly threshold will be defined by "no_std_mode_min_diff_percent". | PositiveFloat | 0.3 |
{ "min_anomaly_level": 0.6 }
min_score
Name | Description | Type | Default |
---|---|---|---|
min_score | The minimal score for a signal to be considered as an anomaly. | float | 0.0 |
{ "min_score": 4 }
no_std_mode_min_diff_percent
Name | Description | Type | Default |
---|---|---|---|
no_std_mode_min_diff_percent | In no-STD mode, acts as the anomaly threshold and is the minimal difference required in percents, calculated according to the proximity to the closest reference point, as configured in the param no_std_mode_reference_values. | PositiveFloat | 25.0 |
{ "no_std_mode_min_diff_percent": 30.0 }
Data Filtering Params
see more
avoid_segmenting_on_missing
Name | Description | Type | Default |
---|---|---|---|
avoid_segmenting_on_missing | When true, insights will not be generated for segments which are (partially or fully) defined by a missing field. | bool | False |
{ "avoid_segmenting_on_missing": true }
baseline_segment
Name | Description | Type | Default |
---|---|---|---|
baseline_segment | The baseline segment of this verse. This segment defines "the world" as far as this verse is concerned. Only data from this segment will be considered when finding insights. | Segment | {} |
{ "baseline_segment": { "model_version": [ { "value": "V1" } ] } }
benchmark_baseline_segment
Name | Description | Type | Default |
---|---|---|---|
benchmark_baseline_segment | Benchmark baseline segment. This segment is intersected with any data we search for in the benchmark segments. | Segment | {} |
{ "benchmark_baseline_segment": { "model_version": [ { "value": "V2" } ] } }
enhance_exclude_segments
Name | Description | Type | Default |
---|---|---|---|
enhance_exclude_segments | If True, when exclude segments are added to any level of configuration (either in the verse, the stanza or the stanzas_global_defaults) they are ADDED to the excluded segments of higher level defaults, if exists any. For example, if we have in stanzas_global_default a single excluded segment of {dimensionA: MISSING}, and the stanza (or verse) has a single excluded segment of {dimensionB: 0}, then if enhance_exclude_segments is True, the excluded segments will include both {dimensionA: MISSING} and {dimensionB: 0} and will filter either one. Otherwise (if enhance_exclude_segments is False) it will be overridden to just the one segment in the verse {dimensionB: 0}. | bool | False |
{ "enhance_exclude_segments": true }
exclude_segments
Name | Description | Type | Default |
---|---|---|---|
exclude_segments | Segments to exclude in the baseline of this verse. Each data we search for will not include these segments - both tested segments as well as any benchmarks used to find the anomalies. Notice that whether or not this param will override definitions for exclude_segments in other levels is decided by enhance_exclude_segments. | SegmentsListType | [] |
{ "exclude_segments": [ { "text_length": [ { "min_value": 0, "max_value": 100 } ] } ] }
target_baseline_segment
Name | Description | Type | Default |
---|---|---|---|
target_baseline_segment | Target baseline segment. This segment is intersected with any data we search for in the tested segments. | Segment | {} |
{ "target_baseline_segment": { "model_version": [ { "value": "V1" } ] } }
Related Anomalies Params
see more
avoid_related_anomalies_for
Name | Description | Type | Default |
---|---|---|---|
avoid_related_anomalies_for | A list of fields to avoid checking for correlated anomalies to the main anomaly in a generated insight. See "find_related_anomalies_for" for further details. | MetricsListType | [] |
{ "avoid_related_anomalies_for": ["delta_top_to_second_score"] }
find_related_anomalies_for
Name | Description | Type | Default |
---|---|---|---|
find_related_anomalies_for | A list of fields to check for correlated anomalies to the main anomaly in a generated insight. These correlated anomalies might help with understanding the possible cause of an insight. Leave empty to search in all fields. | MetricsListType | [] |
{ "find_related_anomalies_for": ["sentiment_score", "confidence_interval"] }
related_anomalies_min_correlation
Name | Description | Type | Default |
---|---|---|---|
related_anomalies_min_correlation | Minimal Pearson correlation between the metric on which an anomaly was found and another metric with an anomaly on the same segment, below which Mona will not use the other metric as a related anomaly. | NonNegativeFloat | 0.3 |
{ "related_anomalies_min_correlation": 0.5 }
Segmentation Params
see more
always_segment_baseline_by
Name | Description | Type | Default |
---|---|---|---|
always_segment_baseline_by | A list of dimensions to always segment the baseline segment by. This is useful when separating the world to completely unrelated parts - e.g., in a case where you have a different model developed for each customer and there's no need to look for insights across different customers. Limiting the possible values of a specific segmentation field on which insights can be generated can be done using the "avoid_values" and the "include_only_values" keys in the segmentation JSON object, as seen in the example. | SegmentationsListType | [] |
{ "always_segment_baseline_by": [ "country", {"name": "city", "avoid_values": ["Tel Aviv"]}, ] }
avoid_segmenting_on_missing
Name | Description | Type | Default |
---|---|---|---|
avoid_segmenting_on_missing | When true, insights will not be generated for segments which are (partially or fully) defined by a missing field. | bool | False |
{ "avoid_segmenting_on_missing": true }
max_segment_baseline_by_depth
Name | Description | Type | Default |
---|---|---|---|
max_segment_baseline_by_depth | The maximum number of fields Mona should combine for segmenting the baseline (if "segment_baseline_by" fields given). | PositiveInt | 2 |
{ "max_segment_baseline_by_depth": 3 }
max_segment_by_depth
Name | Description | Type | Default |
---|---|---|---|
max_segment_by_depth | The maximum number of fields Mona should combine to create sub-segments to search in. Baseline segment fields and parent fields are "free", and are not counted for depth. Notice this parameter has a exponential effect on the performance and should be kept within SLAs. | PositiveInt | 2 |
{ "max_segment_by_depth": 3 }
min_segment_baseline_by_depth
Name | Description | Type | Default |
---|---|---|---|
min_segment_baseline_by_depth | The minimum number of fields Mona should combine for segmenting the baseline (if "segment_baseline_by" fields given). | NonNegativeInt | 0 |
{ "min_segment_baseline_by_depth": 1 }
min_segment_by_depth
Name | Description | Type | Default |
---|---|---|---|
min_segment_by_depth | The minimum number of fields Mona should combine to create sub-segments to search in. | NonNegativeInt | 0 |
{ "min_segment_by_depth": 1 }
segment_baseline_by
Name | Description | Type | Default |
---|---|---|---|
segment_baseline_by | A list of dimensions to potentially segment the baseline segment by. Limiting the possible values of a specific segmentation field on which insights can be generated can be done using the "avoid_values" and the "include_only_values" keys in the segmentation JSON object. | SegmentationsListType | [] |
{ "segment_baseline_by": [ "model_version" ] }
segment_by
Name | Description | Type | Default |
---|---|---|---|
segment_by | The dimensions to use to segment the data in order to search for anomalies. This list must be a sublist of all arc class' dimensions. Limiting the possible values of a specific segmentation field on which insights can be generated can be done using the "avoid_values" and the "include_only_values" keys in the segmentation JSON object, as seen in the example. | SegmentationsListType | [] |
{ "segment_by": [ "city", "bot_id", {"name": "provider-code", "avoid_values": ["zoom"]}, {"name": "selected-language", "avoid_values": ["eng", "spa"]}, {"name": "country", "include_only_values": ["jpn"]} ] }
Size Thresholds Params
see more
baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
baseline_min_segment_size | Minimal segment size for the baseline segment. | PositiveFloat | 1 |
{ "baseline_min_segment_size": 100 }
benchmark_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
benchmark_baseline_min_segment_size | Minimal segment size for the benchmark baseline segment. | PositiveFloat | 1 |
{ "benchmark_baseline_min_segment_size": 100 }
benchmark_max_segment_size
Name | Description | Type | Default |
---|---|---|---|
benchmark_max_segment_size | Maximal benchmark segment size in number of records. Leave empty to not have such a threshold. | PositiveIntOrNone | None |
{ "benchmark_max_segment_size": 1000 }
benchmark_max_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
benchmark_max_segment_size_fraction | Maximal benchmark segment size in fraction from baseline segment. Leave empty to not have such a threshold. | NonInclusiveFractionOrNone | None |
{ "benchmark_max_segment_size_fraction": 0.2 }
benchmark_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
benchmark_min_segment_size | Minimal benchmark segment size in number of records. | PositiveInt | 100 |
{ "benchmark_min_segment_size": 50 }
benchmark_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
benchmark_min_segment_size_fraction | Minimal benchmark segment size in fraction from baseline segment. | InclusiveFraction | 0 |
{ "benchmark_min_segment_size_fraction": 0.05 }
high_urgency_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to baseline_min_segment_size. See "baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_baseline_min_segment_size": 1000 }
high_urgency_benchmark_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_baseline_min_segment_size. See "benchmark_baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_benchmark_baseline_min_segment_size": 1000 }
high_urgency_benchmark_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_min_segment_size. See "benchmark_min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_benchmark_min_segment_size": 500 }
high_urgency_benchmark_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_min_segment_size_fraction. See "benchmark_min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_benchmark_min_segment_size_fraction": 0.3 }
high_urgency_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to min_segment_size. See "min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_min_segment_size": 1000 }
high_urgency_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to min_segment_size_fraction. See "min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_min_segment_size_fraction": 0.2 }
high_urgency_target_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to target_baseline_min_segment_size. See "target_baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_target_baseline_min_segment_size": 500 }
high_urgency_target_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to target_min_segment_size. See "target_min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_target_min_segment_size": 200 }
high_urgency_target_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to target_min_segment_size_fraction. See "target_min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_target_min_segment_size_fraction": 0.2 }
max_segment_size
Name | Description | Type | Default |
---|---|---|---|
max_segment_size | Maximal segment size which a segment must have (bigger segments won't be considered in the search). Leave empty to not have such a threshold. | PositiveIntOrNone | None |
{ "max_segment_size": 10000 }
max_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
max_segment_size_fraction | Maximal segment size in fraction from baseline segment, which a segment must have. Leave empty to not have such a threshold. | NonInclusiveFractionOrNone | None |
{ "max_segment_size_fraction": 0.2 }
min_segment_size
Name | Description | Type | Default |
---|---|---|---|
min_segment_size | Minimal segment size for the united benchmark+target segments. | PositiveInt | 100 |
{ "min_segment_size": 100 }
min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
min_segment_size_fraction | Minimal segment size in fraction from baseline segment, which a segment must have in order to be considered in the search. | InclusiveFraction | 0 |
{ "min_segment_size_fraction": 0.05 }
min_target_benchmark_size_ratio
Name | Description | Type | Default |
---|---|---|---|
min_target_benchmark_size_ratio | The minimum required ratio of segment size (after time range normalization) between target and benchmark periods. | InclusiveFraction | 0.01 |
{ "min_target_benchmark_size_ratio": 0.05 }
target_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
target_baseline_min_segment_size | Minimal segment size for the target baseline segment. | PositiveFloat | 1 |
{ "target_baseline_min_segment_size": 0.8 }
target_max_segment_size
Name | Description | Type | Default |
---|---|---|---|
target_max_segment_size | Maximal target segment size in number of records. Leave empty to not have such a threshold. | PositiveIntOrNone | None |
{ "target_max_segment_size": 10000 }
target_max_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
target_max_segment_size_fraction | Maximal target segment size in fraction from baseline segment. Leave empty to not have such a threshold. | NonInclusiveFractionOrNone | None |
{ "target_max_segment_size_fraction": 0.2 }
target_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
target_min_segment_size | Minimal target segment size in number of records. | PositiveInt | 100 |
{ "target_min_segment_size": 50 }
target_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
target_min_segment_size_fraction | Minimal target segment size in fraction from baseline segment. | InclusiveFraction | 0 |
{ "target_min_segment_size_fraction": 0.05 }
Time Related Params
see more
benchmark_set_period
Name | Description | Type | Default |
---|---|---|---|
benchmark_set_period | Time period for benchmark set. By default means the period just before the target set period. Expected format is "" where can be any positive integer, and options currently include: "d" (days), or "w" (weeks). e.g, "1d" means 1 day period. | TimePeriod |
{ "benchmark_set_period": "50d" }
benchmark_set_period_type
Name | Description | Type | Default |
---|---|---|---|
benchmark_set_period_type | Sets the end time of the benchmark set period. Supports 'previous_to_target' (benchmark ends when target starts) and "latest" (both ends on the same date). | BenchmarkSetPeriodType | latest |
{ "benchmark_set_period_type": "latest" }
cadence
Name | Description | Type | Default |
---|---|---|---|
cadence | The cadence for evaluation of this verse. Only the following cadences are valid: Minutes: 1m, 5m, 10m, 15m, 20m, 30m. Hours: 1h, 2h, 3h, 4h, 6h, 8h, 12h. Days: 1d, 2d, 3d, 4d, 5d, 6d. Weeks: 1w, 2w, 3w, 4w, 5w. | CadenceType | 1d |
{ "cadence": "6h" }
expire_after
Name | Description | Type | Default |
---|---|---|---|
expire_after | Insights detected by this verse will continue to be considered active for at least this amount of time after the last time they were detected. | TimePeriod | 3d |
{ "expire_after": "2d" }
time_resolution
Name | Description | Type | Default |
---|---|---|---|
time_resolution | The time resolution of time series charts for insights of this verse. NOTE: this parameter doesn't affect the behavior of the insights finding mechanism, but only the data representation in the output. | VisualTimeResolution | 1d |
{ "time_resolution": "1w" }
timezone
Name | Description | Type | Default |
---|---|---|---|
timezone | The timezone used to aggregate daily data points. Accepts any IANA time zone ID: (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) | Timezone | UTC |
{ "timezone": "Asia/Hong_Kong" }
Urgency Params
see more
default_urgency
Name | Description | Type | Default |
---|---|---|---|
default_urgency | The urgency class for insights created using this verse. Currently supports two values: "normal" (default) and "high". If set to "normal", then specific thresholds for "high" urgency can be set using other parameters prefixed with "highurgency". If set to "high", then threshold parameters prefixed with "highurgency" are not considered at all - since all insights of this verse will be considered as having a "high" urgency. | Urgency | normal |
{ "default_urgency": "high" }
high_urgency_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to baseline_min_segment_size. See "baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_baseline_min_segment_size": 1000 }
high_urgency_benchmark_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_baseline_min_segment_size. See "benchmark_baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_benchmark_baseline_min_segment_size": 1000 }
high_urgency_benchmark_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_min_segment_size. See "benchmark_min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_benchmark_min_segment_size": 500 }
high_urgency_benchmark_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_benchmark_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to benchmark_min_segment_size_fraction. See "benchmark_min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_benchmark_min_segment_size_fraction": 0.3 }
high_urgency_min_anomaly_level
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_anomaly_level | Threshold for separating between "high" and "normal" urgency insights with regards to min_anomaly_level. See "min_anomaly_level" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_min_anomaly_level": 1.5 }
high_urgency_min_score
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_score | Threshold for separating between "high" and "normal" urgency insights with regards to min_score. See "min_score" param for more details on the functionality of this param. | FloatOrNone | None |
{ "high_urgency_min_score": 20 }
high_urgency_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to min_segment_size. See "min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_min_segment_size": 1000 }
high_urgency_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to min_segment_size_fraction. See "min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_min_segment_size_fraction": 0.2 }
high_urgency_require_all_criteria
Name | Description | Type | Default |
---|---|---|---|
high_urgency_require_all_criteria | Decide if to use 'AND'/'OR' condition between all high_urgency threshold params. | bool | True |
{ "high_urgency_require_all_criteria": false }
high_urgency_target_baseline_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_baseline_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to target_baseline_min_segment_size. See "target_baseline_min_segment_size" param for more details on the functionality of this param. | PositiveFloatOrNone | None |
{ "high_urgency_target_baseline_min_segment_size": 500 }
high_urgency_target_min_segment_size
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_min_segment_size | Threshold for separating between "high" and "normal" urgency insights with regards to target_min_segment_size. See "target_min_segment_size" param for more details on the functionality of this param. | PositiveIntOrNone | None |
{ "high_urgency_target_min_segment_size": 200 }
high_urgency_target_min_segment_size_fraction
Name | Description | Type | Default |
---|---|---|---|
high_urgency_target_min_segment_size_fraction | Threshold for separating between "high" and "normal" urgency insights with regards to target_min_segment_size_fraction. See "target_min_segment_size_fraction" param for more details on the functionality of this param. | InclusiveFractionOrNone | None |
{ "high_urgency_target_min_segment_size_fraction": 0.2 }
Visuals and Enrichments Params
see more
field_vectors
Name | Description | Type | Default |
---|---|---|---|
field_vectors | This attribute lists metric vectors for the FE to show on an insight card of this verse. A value in this field can either be a string (in which case the string should correspond to a kapi_vector name in the config) or an array (in which case the array should be treated as an ad-hoc kapi vector defined specifically for this verse). | FieldVectorsList | [] |
{ "field_vectors": [ "field_vector_group_1", "field_vector_group_2", "field_vector_group_3" ] }
investigate_no_drill
Name | Description | Type | Default |
---|---|---|---|
investigate_no_drill | Dictates the link to the investigations page to add to the found insights. If True, the link will point to investigations page with a drilldown to the segment that was found. If it's false the link will point to the investigations page without drilldown, but with the found segment selected so it can be compared with a benchmark of a higher level. | bool | False |
{ "investigate_no_drill": true }
time_resolution
Name | Description | Type | Default |
---|---|---|---|
time_resolution | The time resolution of time series charts for insights of this verse. NOTE: this parameter doesn't affect the behavior of the insights finding mechanism, but only the data representation in the output. | VisualTimeResolution | 1d |
{ "time_resolution": "1w" }
Updated 7 days ago