| Internet-Draft | Anomaly Detection Evaluation | August 2026 |
| Anjum | Expires 18 February 2027 | [Page] |
The Network Management Operations (NMOP) working group has adopted documents describing an architecture, an operational lifecycle, and a semantics for network anomaly detection. Those documents direct implementers to minimize false positives and false negatives, but do not define how the accuracy of an anomaly detection implementation is to be measured, compared, or tracked over time. This document describes an evaluation methodology for machine-learning-based anomaly detection systems operating on network and infrastructure telemetry: the metrics to report and their known failure modes, a benchmarking procedure based on controlled fault injection and replay, and the properties a benchmark dataset needs in order to support reproducible, comparable evaluation. The methodology is informational and complements the adopted NMOP anomaly-detection documents.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 18 February 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The NMOP working group has adopted three documents that together describe how network anomaly detection is to be architected, operated, and annotated: an architecture for Service Disruption Detection [I-D.ietf-nmop-network-anomaly-architecture], an operational lifecycle for iterative refinement of detection systems [I-D.ietf-nmop-network-anomaly-lifecycle], and a semantics for annotating detected anomalies [I-D.ietf-nmop-network-anomaly-semantics].¶
All three documents treat detection accuracy as a central objective. The architecture requires that "the operator can trust that a targeted Service Disruption will be detected (no false negatives), while not spamming the operator with Alarms that do not reflect an actual issue within the network (false positives)" (Section 3.5 of [I-D.ietf-nmop-network-anomaly-architecture]). The lifecycle states that "Providers of solutions for network anomaly detection should aim at increasing accuracy, by minimizing False Positives and False Negatives" (Section 1.3 of [I-D.ietf-nmop-network-anomaly-lifecycle]), and its refinement stage concludes by "'replaying' the network anomaly and checking if there is any measurable improvement" (Section 5.3.2).¶
None of the three documents defines how that accuracy or that improvement is to be measured. No metric, formula, or comparison procedure is specified. The consequence is visible in the architecture document's own deployment report, which counts 20 monitored service disruptions against 52 false positives (Section 4.1 of [I-D.ietf-nmop-network-anomaly-architecture]) but has no framework in which to express whether that ratio is acceptable, improving, or comparable to an alternative detector.¶
This document supplies the missing companion. It describes an evaluation methodology for anomaly detection systems operating on network and infrastructure telemetry: which metrics to report and the known failure modes of each (Section 3), a benchmarking procedure based on controlled fault injection and replay (Section 4), the properties a benchmark dataset needs for reproducible comparison (Section 5), and the minimum contents of an evaluation report so that results from different systems can be compared at all (Section 6). The methodology is grounded in a published peer-reviewed evaluation of eight machine-learning detection methods on unified telemetry [ANJUM-EVAL], summarized as a worked example in Appendix A.¶
This document is designed to be used inside the lifecycle defined by [I-D.ietf-nmop-network-anomaly-lifecycle], not alongside it:¶
The lifecycle's Validation stage decides, per detected Symptom, whether a real problem was signaled. Accumulated validation outcomes are exactly the labels this document's metrics consume (Section 3).¶
The lifecycle's Refinement stage requires a check for "measurable improvement" after replaying an anomaly. Section 4 turns that check into a defined procedure with defined measures.¶
The architecture's Replaying capability (Section 3.8 of [I-D.ietf-nmop-network-anomaly-architecture]), which preserves the data that led to an Alarm so that the detection algorithms can be rerun on the same input, is the natural execution environment for the replay-based evaluation in Section 4.¶
One definitional difference must be reconciled explicitly. [I-D.ietf-nmop-network-anomaly-lifecycle] defines a False Positive as "a detected anomaly which has been identified during the postmortem to be not anomalous", an operational, postmortem judgment. Dataset-based evaluation instead defines false positives against ground-truth labels fixed before evaluation. Both definitions are useful and they converge as validated postmortem outcomes accumulate into a labeled corpus; Section 2 defines the ground-truth variants used in this document, and Section 5 describes how operational validation records become benchmark labels.¶
This document specifies methodology, not protocol. It defines no new data models, YANG modules, or wire formats. It applies to anomaly detection systems that consume telemetry signals (metrics, logs, traces, or their combination) regardless of the detection technique, although the metric guidance in Section 3 is motivated by the failure modes observed when evaluating machine-learning-based detectors.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document uses the following terms as defined elsewhere and does not redefine them: System, State, Problem, Symptom, and Alarm from [RFC9940]; Outlier Detection, Service Disruption Detection (SDD), and Service Disruption Detection System (SDDS) from [I-D.ietf-nmop-network-anomaly-architecture]; and False Positive, False Negative, and Confidence Score in their operational sense from [I-D.ietf-nmop-network-anomaly-lifecycle] (see Section 1.1 for the reconciliation with the ground-truth sense used here).¶
The following evaluation-specific terms are defined for this document:¶
The authoritative record of which intervals or events in a telemetry corpus are anomalous, fixed before an evaluation begins. Ground truth may originate from a controlled injection schedule (Section 4) or from accumulated, validated postmortem outcomes.¶
The per-interval or per-event value assigned by the ground truth (anomalous or non-anomalous), against which detector output is scored.¶
The exact collection of intervals or events over which metrics are computed. Metrics computed over different evaluated sets are not comparable (Section 3).¶
The fraction of the evaluated set that is labeled anomalous.¶
The fixed time interval into which telemetry is aggregated before a detection decision is made for that interval.¶
The elapsed time between the onset of an anomalous condition per the ground truth and the first detection decision that flags it.¶
Detection quality cannot be summarized in a single number. This section defines a minimum metric set and, for each threshold-dependent metric, the conditions under which it misleads. The guidance here is grounded in observed failure modes from a controlled evaluation of eight detection methods [ANJUM-EVAL]; the worked example in Appendix A shows each failure mode with real values.¶
An anomaly detector typically produces a continuous score per detection window, converted to a binary decision by a threshold. Metrics computed over the score distribution, independent of any threshold, are the most robust basis for comparing detectors:¶
AUC-ROC (area under the receiver operating characteristic curve) SHOULD be the metric of record for ranking and acceptance decisions. It is threshold-independent and insensitive to prevalence, so values remain comparable across evaluated sets with different anomaly rates. An AUC-ROC near 0.5 indicates a detector performing no better than chance, regardless of any other metric reported for it.¶
PR-AUC (area under the precision-recall curve) SHOULD be reported alongside AUC-ROC. It focuses on the anomalous class and is the more informative of the two when prevalence is low, the common operational condition.¶
Precision, recall, and their harmonic mean F1 describe a single operating point and remain the terms in which operators reason ("how many alarms are real", "how many disruptions are missed"). They MUST NOT, however, be used in isolation for acceptance or comparison, for two reasons.¶
F1 has a nontrivial floor. A degenerate detector that flags every window achieves recall 1 and F1 = 2p/(1+p), where p is the prevalence of the evaluated set. At a prevalence of 0.4 this floor is approximately 0.57; a reported F1 of 0.6 at that prevalence is therefore nearly indistinguishable from a detector that has learned nothing. The same degenerate detector falls to F1 of roughly 0.10 at 5% prevalence, which is why F1 values obtained at different prevalences are not comparable at all. An evaluation MUST report the prevalence of its evaluated set and the F1 of the trivial flag-everything detector on that set as a baseline, and SHOULD verify AUC-ROC exceeds 0.5 before any F1 value is credited.¶
Threshold selection can additionally mask model quality in either direction. If the threshold is tuned on labeled validation data, reported F1 reflects an optimistic operating point unavailable in production, where thresholds are typically set from the score distribution of normal traffic alone (for example, a high percentile of normal-only scores). An evaluation MUST state how thresholds were selected, and SHOULD report the sensitivity of its threshold-dependent metrics to that choice.¶
Window-level metrics measure classification quality; operators additionally need to know whether whole incidents are caught and how quickly. An episode is one contiguous anomalous condition per the ground truth (for a benchmark, one fault-injection run). An episode counts as detected if at least one window within its labeled span is flagged. Episode-level detection rate is a recall-oriented measure and is trivially satisfied by the flag-everything detector, so it MUST be reported together with window-level precision and AUC-ROC, never alone. Where onset timestamps are available, detection latency (Section 2) SHOULD be reported as a distribution, not only a mean.¶
The detection window is an experimental parameter with direct effect on results: aggregation over a longer window smooths transient faults, a shorter one raises noise. Conclusions that hold only at one window size are fragile; in the evaluation underlying this document, one detector performed well at a 30-second window and no better than chance at 10 and 60 seconds (Appendix A). An evaluation MUST state its primary window size and its rationale, and SHOULD re-run its headline comparison at at least one neighboring window size, reporting whether the qualitative conclusions are stable.¶
This section describes a repeatable procedure for producing the ground truth and the evaluated set that the metrics in Section 3 require. The procedure is based on controlled fault injection into an instrumented environment; it is the offline complement to the operational Validation stage of [I-D.ietf-nmop-network-anomaly-lifecycle].¶
The environment SHOULD be a representative multi-component system emitting the telemetry signal types the detector under test consumes, unified through a common collection pipeline so that metrics, logs, and traces share a timeline. Two instrumentation patterns exist in practice, and a benchmark gains external validity by covering both: components instrumented natively at development time, and components instrumented after the fact through operator- or agent-based retrofit. A baseline period of normal operation MUST be captured before any fault is injected; it supplies training data for detectors that learn from normal behavior only, and the score distribution from which production-style thresholds are derived (Section 3).¶
Faults MUST be injected under an explicit, recorded schedule; the schedule is the ground truth. A useful minimum taxonomy, drawn from [ANJUM-EVAL], covers: added network latency at graded severities, injected request errors, CPU saturation, memory saturation, and compound cascades that combine a fault on one component with resource stress on a dependent component. Injection targets SHOULD be chosen by architectural position (entry point, mid-chain dependency, backend) rather than convenience, and each scenario SHOULD be repeated multiple times so that dispersion across repetitions can be reported. Each run SHOULD include a defined active-fault phase followed by a cooldown phase long enough for the system to return to nominal behavior.¶
Labels derive from the injection schedule: windows within an active-fault phase are anomalous. Cooldown windows require an explicit decision. The system is recovering but no fault is active; labeling them anomalous inflates prevalence with ambiguous intervals, while silently including them as normal penalizes detectors that correctly flag residual disturbance. The evaluation MUST state how cooldown windows were treated, and SHOULD report its headline results with cooldown windows excluded from the evaluated set, with the resulting prevalence disclosed.¶
When evaluation data is partitioned for training, validation, and testing, the partition MUST be by episode (whole runs), never by random sampling of windows; windows from the same run are temporally correlated, and random partitions leak that correlation into inflated results.¶
Operational deployments accumulate an equivalent ground truth over time: each postmortem-validated outcome under the lifecycle of [I-D.ietf-nmop-network-anomaly-lifecycle] is a label. Section 5 describes how such records become benchmark datasets.¶
Section 3.8 of [I-D.ietf-nmop-network-anomaly-architecture] calls for an SDDS to preserve the data that led to an Alarm so that the detection algorithms can be rerun on the same input. That capability turns the lifecycle's "measurable improvement" check into a defined measurement: hold the evaluated set fixed, rerun the modified detector on the identical preserved input, and compare the metrics of Section 3 before and after the change. A comparison in which the evaluated set itself changed between runs is not a measurement of the detector and MUST NOT be reported as an improvement.¶
A benchmark dataset supports reproducible, comparable evaluation only if it contains, at minimum:¶
the telemetry itself, covering every signal type the benchmark claims, on a common timeline;¶
the ground truth: the full injection schedule (or validated postmortem record), including fault type, target, severity, and the active and cooldown interval boundaries for every episode;¶
the baseline period of normal operation, clearly delimited;¶
enough topology and deployment metadata to interpret the faults (component inventory, dependency relationships, instrumentation method per component);¶
documentation of the collection pipeline, since preprocessing choices (aggregation windows, feature construction) are part of what is being reproduced.¶
Datasets intended for comparison across publications SHOULD be deposited with a persistent identifier and explicit versioning. Where a repository distinguishes a concept identifier (resolving to the latest version) from version identifiers, an evaluation MUST cite exactly one version and state which, since results are not reproducible against "latest". An example of a dataset meeting these requirements is [ANJUM-DATA].¶
Results obtained on a single dataset, however carefully constructed, are results about that dataset's fault distribution. In the evaluation underlying this document, the detector that ranked first on the study's primary benchmark performed at or below chance on an independently collected third-party benchmark, while the failure modes described in Section 3 reproduced on both (Appendix A). An evaluation making claims beyond a single environment SHOULD therefore include at least one dataset collected by a different team with a different pipeline, and SHOULD present ranking claims as specific to the evaluated fault distribution.¶
An evaluation report that permits comparison MUST state:¶
the definition of the evaluated set, its prevalence, and the treatment of cooldown/recovery windows (Section 4);¶
the detection window size and, where checked, window sensitivity (Section 3);¶
the threshold selection procedure, including whether labeled anomalies were available to it;¶
AUC-ROC and PR-AUC, plus precision, recall, and F1 at the stated operating point, each with dispersion across folds or repetitions rather than a single point value;¶
the flag-everything F1 baseline for the evaluated set's prevalence;¶
episode-level detection rate together with the window-level metrics it qualifies;¶
the exact dataset version used, by persistent identifier.¶
A report SHOULD additionally state the known limits of its claims: the fault distribution evaluated, the observation horizon (whether multi-day effects such as seasonality or drift are covered at all), and whether the rankings reported are claimed to transfer beyond the evaluated environment. Rankings SHOULD be presented as relative performance under the stated fault distribution, not as universal detector quality.¶
Benchmark datasets derived from operational environments can reveal network topology, service names, traffic patterns, capacity limits, and failure behavior of the originating operator. Datasets intended for publication SHOULD be anonymized with respect to addresses, hostnames, service identifiers, and tenant identifiers, and SHOULD be reviewed for indirect disclosure through correlated fields before release. Replay-based evaluation environments reproduce failure conditions by design and MUST be isolated from production systems.¶
This document has no IANA actions.¶
This informative appendix summarizes the published evaluation [ANJUM-EVAL] as an end-to-end application of Section 4 and Section 3, including the observed failure modes that motivate the normative guidance.¶
Environment and campaign. Two Kubernetes-hosted microservice testbeds were instrumented and unified through an OpenTelemetry Collector exporting metrics, logs, and traces to a common store: one natively instrumented 14-service system and one 7-service system retrofitted through operator-based auto-instrumentation, deliberately covering both instrumentation patterns of Section 4. A 24-hour normal-operation baseline was captured, then 40 fault scenarios (graded network latency, injected request errors, CPU and memory saturation, and compound cascades, targeted by architectural position) were each run 10 times, with a 5-minute active-fault phase and 5-minute cooldown per run, producing roughly 51 GB of telemetry over a 33.5-hour campaign. Labels derived from the injection schedule; the primary evaluated set excluded cooldown windows, yielding prevalences of roughly 0.27 to 0.41 depending on signal, all disclosed. Partitioning was by repetition, meaning independent experimental replicates separated in time, across five folds. The primary detection window was 60 seconds, with the full pipeline re-run at 10 and 30 seconds as a sensitivity check. Eight semi-supervised detection methods spanning four families were evaluated, with a supervised baseline for reference.¶
The F1-inflation failure mode. At the metrics signal's prevalence, the flag-everything F1 floor was 0.582. Three of the eight models, all autoencoder variants, converged to exactly that value (F1 0.582 +/- 0.001) while their AUC-ROC lay between 0.17 and 0.22, far below chance: seemingly respectable F1 produced by degenerate detectors. Because the inversion yields high F1 at near-random AUC-ROC, the study adopted AUC-ROC as the metric of record and F1 as an operating-point summary read against its prevalence baseline, the rule generalized in Section 3.¶
Window sensitivity. Qualitative conclusions were stable across the three window sizes, but one detector (a one-class deep method) performed well only at the 30-second window (AUC-ROC 0.916) and near chance at 10 and 60 seconds (0.509 and 0.553) despite F1 near 0.74 at both failing windows: a single-window evaluation at either extreme would have credited a detector that was not discriminating at all.¶
Prevalence extrapolation. Re-scoring at a synthetic 5% prevalence, closer to production conditions, collapsed the flag-everything F1 floor to about 0.10 and reduced the best detector's F1 from 0.906 to 0.670, quantifying how strongly experimental prevalence overstates practical utility, the reason Section 6 requires prevalence disclosure.¶
External validity. The strongest detector on the primary benchmark (a density-estimation deep model, F1 0.906 +/- 0.060 and AUC-ROC 0.960 +/- 0.043 on metrics) performed at or below chance (AUC-ROC 0.33 to 0.52) on an independently collected third-party benchmark, where a classical isolation-based method was strongest (AUC-ROC up to 0.95). The failure modes, by contrast, transferred: on the external benchmark the reconstruction-based methods again posted deceptively non-trivial F1 (0.65 to 0.71) at AUC-ROC of only 0.50 to 0.60. The study accordingly claims no universal ranking, and this document's Section 5 requirement for an independent second dataset follows directly from that observation.¶
The processed feature sets, per-fold results, and full reproduction code are available at [ANJUM-DATA].¶