Alerts & Notifications

Thresholds & Alerts

A threshold defines the condition that triggers an alert. Lighthouse supports absolute thresholds, percent-change thresholds, and standard-deviation thresholds — each with flexible comparison configuration.

Threshold types

Absolute

Compares the current metric value to a literal number or range. Use this when you know the exact boundary — for example, alert when active sessions drops below 500, or when error count exceeds 1000.

Conditions available: greater than, less than, equals, not equals, in set, not in set, and range conditions.

Percent change

Compares the current metric value to a historical baseline and fires when the relative change exceeds a threshold — for example, alert when revenue drops by more than 30% compared to the average of the same day over the last 4 weeks.

You choose the direction: increased by (catches spikes) or decreased by (catches drops), or both.

The historical baseline is controlled by the trend comparison settings described below.

Standard deviation

Compares the current metric value to the mean of the historical window and fires when the value is more than N standard deviations away from that mean. Use this when you don't know an exact threshold but want to catch statistically unusual values.

For example: alert when today's revenue is more than 2.5 standard deviations below the rolling 28-day average.

Current metric comparison

Compares the current metric value directly to a prior period value — for example, current hour vs the same hour yesterday. Similar to percent change, but the comparison is always to a single prior value rather than a computed baseline.

Trend comparison

Percent change and standard deviation thresholds require a historical baseline. The trend comparison settings control how Lighthouse computes that baseline.

SettingDescriptionExample
Lookback periodHow far back to look when building the baseline.Last 28 days
AggregationHow to summarize the historical window into a single baseline value: AVG, MIN, MAX, or MEDIAN.AVG of last 28 days
Day bucketingBreak the lookback window into sub-periods before aggregating. For example, 'by day' means one value per calendar day, then averaged across those days.AVG of daily totals over last 28 days
Same relative dayWhen enabled, only compare to the same weekday in the lookback window — Monday compares to the 4 previous Mondays, not all 28 days. Reduces noise from weekly seasonality.AVG of past 4 Mondays
Note
Day bucketing and same relative day together let you build a comparison like "average of the last 4 Mondays at the same hour." This is the most effective way to catch anomalies on metrics with strong weekly patterns.

Severity levels

Every metric has a severity level — S0 through S5. S0 is the most critical; S5 is informational. You assign severity manually per metric; it doesn't change based on how badly the threshold was breached.

LevelTypical use
S0Production incidents — payment failure, complete service outage
S1Severe business impact — revenue drop, major funnel collapse
S2Significant change — default severity. Unusual but not necessarily urgent.
S3Notable but expected variance — worth knowing, not worth waking anyone up
S4Low-priority trend monitoring
S5Informational — logged for context, no action expected

The severity value appears in Slack alert messages as S1, S2, etc. It's a label — Lighthouse doesn't route to different Slack channels or escalation paths based on severity. You configure that routing yourself in Slack.

Alert gating

Alert gating controls when Lighthouse actually sends a notification, giving you additional filters beyond the threshold condition.

Fire immediately (default)

The alert fires on the first run that breaches the threshold. This is the default and is appropriate for most metrics.

After consecutive triggers

The alert fires only after N consecutive runs all breach the threshold. Use this to reduce false positives on noisy metrics — a single bad data point won't trigger an alert, but a sustained anomaly will.

For example, if you set consecutive triggers to 3 and your metric runs every hour, you'll only get alerted after 3 consecutive hours of threshold breach.

Allow snoozing

Configured per metric in the Notification section (not a Slack button). When on — the default — Lighthouse fires one alert the first time a segment breaches the threshold, then stays silent for as long as that segment remains in breach. A new alert fires only when the breach clears and then occurs again.

When off, Lighthouse fires an alert on every scheduled run where the threshold is breached. See Trigger configuration in the metrics reference for full detail.

Alert cap

Lighthouse caps alerts at 30 per metric run. This protects against notification flooding on highly segmented metrics — if 200 segment combinations all breach at once, you'll receive alerts for the first 30 most significant ones.

Tip
If you're getting too many alerts, try: (1) raising the threshold percentage, (2) enabling consecutive triggers, (3) reducing segment cardinality, or (4) switching to aggregated Slack mode so multiple segment alerts are grouped into one message.