Forecasting
How the independent forecast engine works and what it produces.
Forecasting warns you about a degrading trend before users feel it.
What it does
The forecast engine runs for every API with enough data. You do not need an alert. When it detects a trend you get:
- A
forecast:warningnotification - Projected values at 6h, 12h, and 24h
- A confidence score from 0 to 100
- An AI explanation of the trend
Warmup
The engine needs 12 snapshots, about 3 hours of data, before it forecasts an API. Nolax takes a snapshot every 15 minutes. Forecasts during warmup are less reliable, because the engine is still learning your baseline.
Confidence scoring
Five signals are evaluated for each metric (p95, p99, error rate):
| Signal | Check |
|---|---|
| Slope | Is the trend moving upward at a meaningful rate? |
| R² | Does a straight line explain the data well (> 0.6)? |
| Acceleration | Is the second half steeper than the first? |
| Baseline deviation | Are recent values outside the normal band for this time of day? |
| Personal best distance | Is the value much worse than the API's historical best? |
At least 3 of the 5 signals must agree. Forecasts with confidence below 70% are not shown.
Metrics monitored
LATENCY_P95: p95 response timeLATENCY_P99: p99 response timeERROR_RATE: percentage of requests with status 400 or higher
Outcomes
Nolax checks each forecast after 24 hours and labels it:
| Status | Meaning |
|---|---|
| RESOLVED | Trend continued as predicted |
| NOT_MATERIALISED | Metric improved before the projected breach |
| SUPERSEDED | A later, better forecast replaced this one |
Outcome data appears in Forecasts (Alerts page) and in compliance reporting.
A forecast labelled NOT_MATERIALISED was still useful. The metric improved before it would have breached, often because your team acted on the warning.

