Muon

Findings Engine

Muon detects meaningful product changes before anyone asks a question — as structured Findings, not raw alerts.

What is a Muon Finding?

A Finding is a meaningful change or contradiction that survived statistical and data-quality checks and is ready for diagnosis — not just a threshold alert.

Instead of telling you a number crossed a line, a Finding tells you a change is real, meaningful and worth investigating: what moved, by how much relative to its normal variation, who it affected, and how confident the detection is.

Why it matters

Why not simple thresholds?

A 1% increase in errors can be noise for one product and serious for another. Muon evaluates changes relative to traffic, historical variation and affected users — not against a single fixed line.

Thresholds don't know context

The same +1% means different things at 500 events/day and 5,000,000 events/day. A fixed rule can't tell a real regression from normal day-to-day movement.

Baselines capture normal

Muon learns each metric's usual range from history, so it reacts to deviations that are large relative to how much that metric normally varies.

Impact separates signal from noise

A change that touches a handful of sessions is not the same as one that touches your whole signup flow. Muon weights changes by how many users they actually affect.

How it works

From raw metrics to a ranked Finding.

Detection is a deterministic statistical pipeline. Each stage narrows millions of data points down to the short list of changes worth a human's attention.

1 · Build historical baselines

Muon models each metric's normal behavior over time, learning its typical level and how much it usually fluctuates.

2 · Compare with comparable periods

Current data is compared against like-for-like windows — same weekday, same time of day, similar traffic — not against an arbitrary yesterday.

3 · Estimate uncertainty

Every comparison carries error bars. Muon quantifies how much of a difference could be explained by ordinary variation.

4 · Calculate significance and impact

Statistical significance answers "is this real?"; impact answers "does it matter?" — combining deviation size with the number of affected users.

5 · Rank Findings

Candidate changes are scored and ordered by significance, impact and novelty, so the most meaningful movements rise to the top.

6 · Suppress duplicates and noisy alerts

Known, repeated or overlapping signals are deduplicated, so you get a clean set of Findings instead of a firehose.

The pipeline, in one line
MetricsBaselinesSignificanceImpactFindingInvestigation

Each step is deterministic. A Finding only exists once the statistics support it — the explanation comes last.

Anatomy of a Finding

Every Finding is structured, not a sentence.

A Finding shows the metric that moved, who was affected, what may explain it, and how serious it is. It also shows what Muon checked and ruled out — and clearly marks what the data does not prove.

Signup conversion ↓ 18%
High · 0.93
SafariiOS/signupafter 1.8.4
Detected on a scheduled evaluation against comparable periods — no query written, no dashboard opened.
↓ 18%What moved. Signup conversion dropped 18% below its usual baseline — a deviation too large to be ordinary variation.
Safari · iOS · /signupWho it hit. The affected segments where the change is concentrated, not smeared across all traffic.
High · 0.93Severity and confidence. Severity is derived from impact, confidence and baseline deviation; 0.93 is the statistical confidence.
after 1.8.4The likely trigger. A related signal — the change began right after this release, offered as correlation to investigate, not a proven cause.
  finding.json
{
  "type": "conversion_drop",
  "metric": "signup_conversion",
  "change": "-18%",
  "severity": "high",
  "confidence": 0.93,
  "affected_segments": ["Safari","iOS","/signup"],
  "related_signals": ["browser_error_spike","release_1.8.4"]
}
Finding fields
typewhat kind of change
change · severitysize & rank
confidencestatistical
affected_segmentswhere it hit
related_signalsto investigate

The same structure feeds the dashboard, the API and any downstream integration — a Finding is data first. What happens after a Finding →

No hallucinated causes

Deterministic statistics decide what is a Finding. Baselines, significance, impact and novelty all run before any language model is involved.

LLMs only phrase the explanation afterward — turning an already-structured Finding into a readable sentence. They never invent the change, the segment or the cause, and relationships are described as likely or related, never as proven causation.

After a Finding: Investigation

Once a Finding exists, Muon narrows down where the change is concentrated using segment contribution and correlation scoring. Investigation engine →

Browser Health signals

Frontend errors are a common related signal behind product changes. Muon connects them to affected metrics. Browser Health →

FAQ

Questions, answered directly.

How is a Finding different from an alert?
An alert usually fires when a single number crosses a fixed threshold. A Finding is a structured signal that combines a historical baseline, statistical confidence, user impact, affected segments, novelty and severity — so it captures whether a change is real and meaningful, not just whether a line moved.
Does Muon use AI to detect anomalies?
No. Muon detects changes with deterministic statistical methods first — baselines, significance, impact and novelty. LLMs are only used afterward to phrase the explanation of a structured Finding, never to decide what counts as a Finding.
How does Muon avoid alert spam?
Muon ranks candidate changes by significance, impact and novelty, then suppresses duplicates and already-known noisy signals. Small or previously-seen changes are deprioritized, so you get a short list of meaningful Findings instead of a stream of alerts.
Can I tune severity?
Severity is derived, not hand-set. It is computed from user impact, statistical confidence and how far the change deviates from its baseline, so a large, high-confidence change affecting many users ranks higher than a small, uncertain one.
What triggers a Finding recompute?
Findings are recomputed on a scheduled evaluation that compares current data against comparable historical periods. The goal is accurate, non-overclaiming detection rather than instant reaction to every fluctuation.
Open source · self-hosted

Detect what changed on your own infrastructure.

The findings engine ships in the open-source core. Spin up Muon with Docker and let it surface meaningful changes for you.