> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Score Configuration (for "Worst Instance..")

> Every ingested monitoring datapoint ("Fact" — a transaction, metric, event, alert, etc.) receives a numeric score as part of standard data ingestion.

Availability
2024-08-06

**How a Fact's Score Is Computed**

> [card] [What it is](#what-it-is)
>
> Scores for every datapoint

> [card] [The formula](#the-formula)
>
> SLA thresholds applied in order

> [card] [Configurable inputs](#configurable-inputs)
>
> Edit KPI and SLA settings

> [card] [Notable edge cases](#notable-edge-cases)
>
> Unusual scoring situations explained

## What it is

Every ingested monitoring datapoint ("Fact" — a transaction, metric, event, alert, etc.) receives a numeric `score` as part of standard data ingestion. This score represents **SLA (Service Level Agreement) non-compliance**: how far, and how severely, the fact breached the SLA thresholds an admin configured for it.

This score is *not* related to anomaly detection, statistical baselines, or AI-driven insights — it is a straightforward, deterministic measure of SLA breach severity computed at ingest time for every fact.

On GermainUX workspace, when you mouse over any metric, one of the options is to view the “Worst Instance Analysis” of that metric. The Score is used to determine what insights to show when selecting “**Worst Instance..**”.

![Worst Instance Analysis](https://mintcdn.com/germain-ux/BTxCucYnGj_ffpsA/images/main/score-configuration-for-worst-instance/image-20260828-212648.png?fit=max\&auto=format\&n=BTxCucYnGj_ffpsA\&q=85\&s=07dbc3d561f30285ecc641d8564d8c32)

Worst Instance Analysis - GermainUX

## The formula

For each KPI, admins define one or more SLAs, and each SLA has an ordered list of thresholds. When a fact matches an SLA:

| Rule | Details |
| - | - |
| Thresholds are checked in order; the **first violated threshold wins** — later thresholds for that property are not evaluated. | Threshold evaluation order determines which threshold contributes to the score. |
| A threshold is **violated** when the fact's value does not satisfy the KPI's comparison operator (e.g., an operator of "less than" means the fact is compliant only if its value is below the threshold). | Violation is based on KPI operator semantics. |
| If violated, the threshold contributes to the score as follows: | Threshold type determines contribution calculation. |

### Contribution by threshold type

| Threshold Type | Contribution | Details |
| - | - | - |
| Flag/expression-based thresholds | `coefficient` (flat) | **Flag/expression-based thresholds** (e.g., a check like "success == false"): contribute a flat `coefficient` value — this is pass/fail, with no magnitude component. |
| Numeric thresholds | `(amount over threshold) × coefficient` | **Numeric thresholds**: contribute `(amount by which the value exceeded the threshold) × coefficient`, always floored at zero (never negative). |

| Combined property handling | Default behavior |
| - | - |
| If an SLA checks multiple properties on the same fact (for example, both `duration` and `activeDuration`), each property's contribution is **summed** into a single total `score` for that fact. | Contributions across properties are additive. |
| If no threshold is violated, the fact's score is left at its default of zero. | Default score when compliant: zero. |

There is **no cap or normalization** — the score is an unbounded, unitless number, not a percentage or a fixed 0–100 scale. Its magnitude is only meaningful relative to the threshold's own units and its configured coefficient (e.g., a score of 70 on a duration threshold with coefficient 1.0 means the value was 70 units over budget).

Separately from score, a violated threshold also assigns a **color** (`GREEN` / `ORANGE` / `RED`) to the fact. Color escalation is one-directional — a fact's color can only get worse, never better, as multiple checks are applied.

## Configurable inputs

![Scoring Configuration for Worst Instance Analysis](https://mintcdn.com/germain-ux/BTxCucYnGj_ffpsA/images/main/score-configuration-for-worst-instance/image-20260828-212512.png?fit=max\&auto=format\&n=BTxCucYnGj_ffpsA\&q=85\&s=86f3286c894cfa65a9241e6dd998981c)

Scoring Configuration for Worst Instance Analysis - GermainUX

Scoring behavior is driven entirely by admin-editable KPI/SLA configuration, which takes effect immediately with no service restart required:

| Setting | Purpose |
| - | - |
| **Threshold value** | The SLA boundary that separates compliant from non-compliant values. |
| **Operator** | Defines what "compliant" means for the KPI (e.g., less than, greater than, in range). |
| **Coefficient** (default `1.0`) | A per-threshold weight. Raising this makes breaches of that particular threshold count more heavily toward the total score. |
| **Threshold expression** | An optional condition (e.g., a boolean flag check) used instead of a plain numeric comparison. |
| **Criteria** | An expression that determines whether the SLA applies to a given fact at all (e.g., only apply in production). |

## Notable edge cases

| Edge case | Behavior |
| - | - |
| **Already-scored facts are skipped.** | If a fact already has a non-default color from prior processing, its score and color are not recomputed. |
| **Unmatched facts with a failure flag.** | If no SLA matches a fact, but the fact has a `success = false` flag, the fact is forced to `RED` — but its score is not set through this path. |
| **Distinct from statistical/scripted SLAs.** | Separate "Statistical SLA" and "Scripted SLA" mechanisms exist for KPI-level aggregate analysis (baselines, percentiles, predictive alerting), and drive alerting on aggregated statistics. These do **not** affect an individual fact's `score` field — that field is populated exclusively by the per-fact SLA evaluation described above. |

> [!NOTE]
>
> **Component Internal**: Workspace

## Get Help

> [card] [Contact GermainUX Support](https://docs.germainux.com/main/support.md)
>
> The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

> [card] Can't find what you need?
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.