SLAs

⚙️ SLAs and Automated KPI Evaluation

GermainUX Service Level Agreements (SLAs) evaluate KPI data against defined expectations. They can monitor individual events, aggregated performance, changes from a baseline, predicted outcomes and abnormal behavior.

🎯 SLA Scope

SLAs can be applied to preconfigured or custom KPIs across:

Area

Technology availability and performance

User experience

Business processes and workflows

Adoption and productivity

Marketing, conversion and retention

Custom business metrics

When an SLA condition is met, GermainUX can change the KPI's health status and trigger alerts, reports or automated actions.

📋 Choose the Appropriate SLA

SLA or capability

What it evaluates

Best used for

Fact-Based SLA

A single fact, event, metric or transaction

Real-time evaluation of an individual data point

Aggregate SLA

A measure calculated across a defined time period

Average, total, minimum, maximum or other period-level results

Color Percentile SLA

Percentage of data points within the GREEN range

Confirming that an acceptable proportion of experiences meet expectations

Percent Change SLA

Difference between a current period and a baseline period

Detecting regressions, improvements, spikes and drops

Predictive SLA

Forecast derived from historical behavior

Warning that a threshold is likely to be breached in the future

Smart Insights SLA

Abnormal behavior relative to comparable business periods

Detecting unusual patterns without relying only on fixed thresholds

Multi-Metric Evaluation

Several measures on the same fact

Evaluating different aspects of one event, such as speed, failure and memory

Aggregate, Color Percentile and Percent Change SLAs are statistical SLA types. Multi-Metric Evaluation is an SLA capability rather than a separate statistical model.

🔍 Fact-Based SLA

A Fact-Based SLA evaluates each individual data point against configured thresholds.

Examples include:

Example

A server becomes unavailable.

A user interaction exceeds five seconds.

An application generates an error.

Memory utilization exceeds 90%.

A workflow step violates its expected duration.

Use a Fact-Based SLA when each occurrence is important and should be evaluated immediately.

🔔 Stateful SLA Alerts

Stateful alerting is designed for ongoing conditions such as server, database or service availability. It provides a violation-and-recovery notification pattern similar to event-management systems.

When Stateful is enabled for a KPI, GermainUX remembers the last state of each monitored resource:

  1. An alert is triggered when the resource enters a violating state.

  2. No additional alert is sent while the same resource remains in that state.

  3. A recovery notification is triggered when the resource returns to a compliant state.

This is appropriate for continuously collected measurements. It is usually not appropriate for independent events for which every occurrence should generate a separate action.

🔧 Stateful Configuration

Setting

Location

Purpose

Stateful

KPI configuration

Enables state tracking and violation/recovery notifications for each resource.

Activation Count

SLA configuration

Requires a configured number of consecutive violations before the violation action is triggered.

Activation Count can be used with or without Stateful behavior. It reduces noise from isolated violations but does not produce recovery notifications by itself.

📊 Behavior Matrix

KPI Stateful

Activation Count

Behavior

Off

Unset or 0

Every violation triggers the configured action immediately. No recovery notification is sent.

Off

N

The action triggers after N consecutive violations. The counter then resets, allowing another sequence of N violations to trigger again. No recovery notification is sent.

On

Unset or 0

One action triggers when the resource enters violation. The KPI remains silent while the violation continues. A recovery action triggers on the first compliant reading.

On

N

The violation action triggers after N consecutive violations, remains silent while the condition continues, and triggers a recovery action when the resource becomes compliant.

The key distinction is:

  • Stateful creates the violation-and-recovery lifecycle.

  • Activation Count delays or de-noises the initial violation action.

✉️ Stateful Alert Template Fields

The alert template context includes fields that can be used to produce different violation and recovery messages.

Field

Type

Meaning

context.violation

Boolean

true for a violation notification and false for a recovery notification.

context.violationCount

Integer or null

Number of consecutive violations recorded when the action triggered. It is available when state or activation tracking is enabled.

Example body template for Server Availability:

<#if context.violation>
GermainUX was not able to reach the following server: ${context.fact.system.hostname!}
<#else>
GermainUX reconnected to the following server after ${context.violationCount} failed attempts: ${context.fact.system.hostname!}
</#if>

Example subject template:

Server ${context.fact.system.name!} is <#if context.violation>not available<#else>available</#if>

Use context.violation to select the appropriate message and context.violationCount when the notification should report the number of failed attempts.

The shared <#include "SLA-SUMMARY"> template can also display context.summaryMetrics.attempts when a generic summary is preferred.

📊 Statistical SLAs

Statistical SLAs evaluate a collection of facts over a defined period rather than judging each individual occurrence independently.

🧮 Aggregate SLA

An Aggregate SLA calculates a measure for a time period and compares the result with a fixed threshold.

Examples include:

Example

Average response time over 15 minutes exceeds two seconds.

Total errors during the last hour exceed 100.

Maximum memory utilization during the day exceeds 90%.

95th-percentile process duration exceeds its objective.

Use an Aggregate SLA when the overall period result matters more than a single event.

💚 Color Percentile SLA

A Color Percentile SLA evaluates the proportion of facts classified as GREEN during a period and compares that proportion with a threshold.

For example:

At least 95% of User Clicks must remain within the GREEN performance range.

This model is useful when a limited number of degraded experiences is acceptable but the majority must meet the expected performance level.

🔁 Percent Change SLA

A Percent Change SLA compares a current period with a previous baseline period.

It can detect:

Detect

An increase in errors

A decline in conversion

A reduction in process volume

A performance regression

A meaningful improvement after a change

For example:

Alert when User Error volume increases by more than 30% compared with the previous equivalent period.

🔄 In Range Operator

The In Range operator can be used with a Percent Change SLA to determine whether the result remains within an acceptable positive or negative range.

in.png

For example, a range of -30% to +30% can be treated as normal, while a result outside that interval can be treated as a significant change.

in2.png
In Range Alert Example - GermainUX

🧾 Filter Percent Change Results

A large percentage change can be misleading when both the baseline and current volumes are very small. Statistical SLAs support a Threshold Expression that can use the underlying current and baseline values to suppress low-volume noise.

Available variables include:

Variable

Meaning

current

Absolute value calculated for the current period

baseline

Absolute value calculated for the comparison period

value

Absolute or percentage change between the baseline and current results, according to the SLA configuration

threshold

Threshold configured on the SLA

The following expression prevents an alert when both counts are below 20, even if the percentage change is large. It also treats values below the configured threshold as compliant:

(current < 20 && baseline < 20) || (value < threshold)

Threshold Expressions allow the SLA to consider both relative change and business volume.

🔮 Predictive SLA

A Predictive SLA uses historical data and trends to forecast a future value or outcome.

Examples include:

Example

Disk utilization is predicted to exceed 90% within seven days.

Visitor volume is predicted to be 40% higher by month-end.

A process backlog is likely to exceed operational capacity.

A performance threshold is likely to be breached before the next maintenance window.

Predictive SLAs support proactive action before a threshold is actually violated.

💡 Smart Insights SLA

Smart Insights identifies abnormal trends and noteworthy deviations relative to comparable business periods.

Comparisons can reflect the operating context, such as:

Context

Year-end

Quarter-end

Month-end

Day of the week

Time of day

Other recurring business periods

Examples include:

Example

User Error volume is 22.7% higher this Monday than last Monday.

Conversion is unusually low compared with equivalent weekday periods.

A process is taking longer than during comparable month-end cycles.

Application activity is unexpectedly high or low for the current period.

Smart Insights can be enabled for active KPIs involving technology, processes, user behavior and business outcomes.

🔗 Evaluate Multiple Measures on One Fact

GermainUX can evaluate multiple measures from the same data point, each with its own threshold.

image-20231228-090705.png
Evaluate Multiple Measures on One Fact - GermainUX

For example, a User Click can be evaluated for:

Measure

Details / Media

Failure status

image-20231228-090749.png
Failure Detection - GermainUX

Interaction duration

image-20231228-090758.png
Slowness Detection - GermainUX

Memory footprint

image-20231228-090808.png
Memory Increase Detection - GermainUX



Another use case may evaluate both Active Duration and Inactive Duration to understand how employees spend time while completing an HR workflow.

Thresholds are evaluated in order. The worst resulting health color is applied to the fact. For example, if one threshold returns ORANGE and another returns RED, the final result is RED.

This makes it possible to represent the overall health of a data point without losing the individual conditions used to evaluate it.

🚨 Alert Examples

Alert

SLA capability

Disk usage is predicted to exceed 90% within one week.

Predictive SLA

User Error volume is 22.7% higher this Monday than last Monday.

Smart Insights or Percent Change SLA

Sales forecast is predicted to be 70% accurate by month-end.

Predictive SLA

eCommerce visitor volume is predicted to be 40% higher by month-end.

Predictive SLA

Server becomes unavailable and later reconnects.

Stateful Fact-Based SLA

Fewer than 95% of interactions remain GREEN.

Color Percentile SLA

📝 Configuration Recommendations

Recommendation

Use Fact-Based SLAs for important individual events or measurements.

Enable Stateful behavior only for conditions with a meaningful recovery state.

Use Activation Count to suppress transient violations.

Use statistical SLAs when aggregate or period behavior matters more than one fact.

Compare equivalent business periods whenever activity follows predictable cycles.

Add minimum-volume conditions to Percent Change SLAs.

Use percentiles when averages may hide degraded experiences.

Validate predictive and Smart Insight results against sufficient historical data.

Test alert templates for both violation and recovery paths.

Apply multiple measures when one fact can fail for several independent reasons.

Connect SLA actions only to conditions that require an operational response.

Service: Analytics

Feature Availability: 8.6.0 or later