Predicted By Best Practices¶
Guidelines for getting reliable signal from Predicted By checks while keeping the noise (and the maintenance) low.
Write the prediction as the relationship you can defend¶
The expression is the definition of correct for this column. Base it on something that genuinely determines the value, a documented formula, a rate, another column it is derived from, rather than on a curve that happens to fit today's data.
Size the tolerance from observed drift, not from a round number¶
Look at how far the column actually strays from the prediction over a few weeks, then set the band just outside that. A tolerance guessed at zero reports rounding, and one guessed too wide never reports anything.
Remember the band does not scale¶
The tolerance is an absolute number. On a column whose values span orders of magnitude, one band cannot serve the whole range. Scope the check with a filter, or move to Satisfies Expression where you can write a relative comparison.
Pair with Not Null when inputs are required¶
A row whose field or expression result is NULL passes. When those values are mandatory, add a Not Null check on the field and on each column the expression depends on.
Prefer a simpler rule when the relationship is simple¶
If the prediction is just another column, Equal To Field says so more clearly and offers a relative tolerance. If it is a constant, Equal To does. Keep Predicted By for relationships that need an expression.
Keep coverage at 100% unless a known backlog exists¶
At 100% coverage every failing row is reported as a Record Anomaly, which tells you exactly which rows break the rule. Below 100% the check reports a single Shape Anomaly only when the failing fraction crosses the tolerance, and no per-row detail is produced. Lower coverage only while a known set of legacy rows is being cleaned up.
Scope with a filter instead of loosening coverage¶
When the rule only applies to part of the table (one segment, one channel, one period), express that with a filter clause rather than by lowering coverage. The filter removes the out-of-scope rows from evaluation entirely, and the expression is echoed in every anomaly message.
Route the anomalies to the right people¶
A failure usually points at the system that produced the value, not at the warehouse. Set an Anomaly Assignee from the team that owns that producer, and tag the check so related checks are easy to find.
See Also¶
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.
-
How It Works
The complete reference: definition, field scope, the prediction expression, how the tolerance band works, date and time targets, NULL handling, filter behavior, and coverage.
-
Anomaly Reporting
The anomaly messages the check produces, what the numbers mean, Source Records behavior, and Custom Anomaly Description.
-
Examples
Three production scenarios with sample data, anomaly messages, and the SQL equivalent of what the check evaluates.