[DOCS-13523] Add anomaly detection guide for Data Observability monitors - #39969
Open
OliviaShoup wants to merge 1 commit into
Open
OliviaShoup wants to merge 1 commit into
OliviaShoup wants to merge 1 commit into
Conversation
Committed With Claude
Contributor
Preview links (active after the
|
DavidBraslow
approved these changes
Sep 15, 2026
|
|
||
| When you create an anomaly detection monitor, it enters a training period. During training, the monitor collects historical values to learn the metric's baseline behavior. It does not trigger alerts during this period, and the monitor chart appears in blue. | ||
|
|
||
| Training typically takes between 3 and 7 days, depending on how frequently the underlying metric updates. Because many data pipelines behave differently on weekends, the model needs to observe both weekday and weekend behavior. |
Contributor
There was a problem hiding this comment.
Suggested change
| Training typically takes between 3 and 7 days, depending on how frequently the underlying metric updates. Because many data pipelines behave differently on weekends, the model needs to observe both weekday and weekend behavior. | |
| Training typically takes between 3 and 9 days. Because many data pipelines behave differently on weekends, the model needs to observe both weekday and weekend behavior. |
|
|
||
| Training typically takes between 3 and 7 days, depending on how frequently the underlying metric updates. Because many data pipelines behave differently on weekends, the model needs to observe both weekday and weekend behavior. | ||
|
|
||
| After training completes, the monitor begins alerting. The chart uses color to indicate the current evaluation state: |
Contributor
There was a problem hiding this comment.
Suggested change
| After training completes, the monitor begins alerting. The chart uses color to indicate the current evaluation state: | |
| After training completes, the monitor can alert. The chart shows the observed values over time, with bounds above and below the line as a shaded area showing expected values. The color shows the current state: |
|
|
||
| ## Model states | ||
|
|
||
| The model often reuses prior predictions rather than generating new ones, such as when a value hasn't changed or when the monitor is in an alerting state. As a result, adding [annotations][2] is the primary way to get an alerting monitor back to a normal state and resume learning from new values. |
Contributor
There was a problem hiding this comment.
Suggested change
| The model often reuses prior predictions rather than generating new ones, such as when a value hasn't changed or when the monitor is in an alerting state. As a result, adding [annotations][2] is the primary way to get an alerting monitor back to a normal state and resume learning from new values. | |
| When an anomaly is found, the model will remain in alert state for some time, until either the observed value returns to the original expected bounds or the anomaly has persisted long enough that the model considers it a new normal state. To resolve the monitor manually and return it to normal state, use [annotations][2]. |
| | Green | Normal | The observed value is within expected bounds. | | ||
| | Red | Alerting | The observed value fell outside expected bounds. | | ||
|
|
||
| ## Model states |
Contributor
There was a problem hiding this comment.
Suggested change
| ## Model states | |
| ## Alert state |
|
|
||
| ## Metric-specific behavior | ||
|
|
||
| While the core model logic is shared across metric types, each type has additional rules: |
Contributor
There was a problem hiding this comment.
Suggested change
| While the core model logic is shared across metric types, each type has additional rules: | |
| The model works differently for different metrics: |
| | Day of month | Metrics with recurring patterns tied to the calendar month, such as end-of-month spikes. | | ||
| | Weekday vs. weekend | Metrics with systematically different behavior on weekends versus weekdays. | | ||
|
|
||
| Not all seasonal patterns are available for all metric types. Additionally, the model requires multiple complete cycles of normal ("green") history before it can detect a given pattern. |
Contributor
There was a problem hiding this comment.
Suggested change
| Not all seasonal patterns are available for all metric types. Additionally, the model requires multiple complete cycles of normal ("green") history before it can detect a given pattern. | |
| Not all seasonal patterns are available for all metric types. Additionally, the model requires multiple complete cycles of normal history before it can detect a given pattern. |
|
|
||
| ## Annotations | ||
|
|
||
| Annotations let you provide feedback to the model when it misclassifies a point, either by missing an alert or by generating a false alert. Because data quality expectations are often business-specific, annotations are the primary way to tune the model to your team's needs over time. |
Contributor
There was a problem hiding this comment.
Suggested change
| Annotations let you provide feedback to the model when it misclassifies a point, either by missing an alert or by generating a false alert. Because data quality expectations are often business-specific, annotations are the primary way to tune the model to your team's needs over time. | |
| Annotations let you immediately retrain the model when it misclassifies a point, either by missing an alert or by generating a false alert. Because data quality expectations are often metric-specific, annotations are the primary way to tune the model to your team's needs. |
| Annotations let you provide feedback to the model when it misclassifies a point, either by missing an alert or by generating a false alert. Because data quality expectations are often business-specific, annotations are the primary way to tune the model to your team's needs over time. | ||
|
|
||
| Annotations have two effects: | ||
| - **Correcting the current state**: Marking a flagged point as expected moves the monitor out of the alerting state and resumes normal learning. |
Contributor
There was a problem hiding this comment.
Suggested change
| - **Correcting the current state**: Marking a flagged point as expected moves the monitor out of the alerting state and resumes normal learning. | |
| - **Correcting the current state**: Marking a flagged point as expected moves the monitor out of the alerting state to normal state at the next observation, so it can then alert on new anomalies. |
|
|
||
| Annotations have two effects: | ||
| - **Correcting the current state**: Marking a flagged point as expected moves the monitor out of the alerting state and resumes normal learning. | ||
| - **Shaping future predictions**: The model weights annotated points when generating future bounds, so repeated feedback improves accuracy over time. |
Contributor
There was a problem hiding this comment.
Suggested change
| - **Shaping future predictions**: The model weights annotated points when generating future bounds, so repeated feedback improves accuracy over time. | |
| - **Shaping future predictions**: The model uses annotated points to adjust future bounds, so feedback immediately improves accuracy. |
|
|
||
| Row count monitors alert when a table's row count has flatlined, meaning it has not changed for longer than normal. A stalled row count may indicate a broken pipeline. | ||
|
|
||
| ### Percentage (nullness, uniqueness) |
Contributor
There was a problem hiding this comment.
Suggested change
| ### Percentage (nullness, uniqueness) | |
| ### Percentage (e.g. nullness, uniqueness) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do? What is the motivation?
Fixes DOCS-13523
Adds a new guide explaining how the anomaly detection model works for Data Observability monitors. It covers:
Merge readiness
For Datadog employees:
AI assistance
Claude Code helped port and adapt the content from the original closed PR (#34877), including applying open editorial feedback from that PR's review.
Additional notes
This PR revives content from a previously closed PR (#34877). Follow-up after a run of the
docs-status-sweepskill that found #34877 had been autoclosed.