Testing against sample data
Answers the record-by-record question: what would this rule have done to this transaction?1
Download the template
From the scenario’s test screen. The header row is generated from your own data
model — real field names, not an invented schema.
2
Fill it with your own records
Include both transactions that turned out to be fraud and ones you are confident
were clean. Testing only against bad examples leads you to build a rule that
declines everything.
3
Upload it and read the results
For every row you see which rules fired, what they scored and what the outcome was.
A test run uses the draft version and nothing it produces counts as a decision. It does
not reach dashboards, exports or the case queue.
Shadow runs
Sample data cannot answer one question: what would this draft do to next week’s traffic? That is what a shadow run is for. The draft version runs in parallel over live traffic. It influences no decision; it only measures.1
Start the run
You pick the draft version and a duration. The duration is required — shadow
evaluation means a second full pass over the rules on every decision, and an
experiment nobody remembers starting keeps consuming resources.
2
Wait
The live version carries on as normal throughout. Your users see no difference.
3
Read the divergences
You end up with: how often it agreed with live, where it diverged, and in which
direction.
The divergence table
Against your own history
A shadow run only ever sees the traffic that arrives while it is open. Judging a rule against last month’s fraud means waiting a month with one — and the sample you actually want to test against is the confirmed cases, where the right answer is already known. The Against history tab on the test screen replays records you have already ingested through the version you choose.1
Pick the window and the sample
A date range and how many records to read. The screen says which sample it took — “the
most recent 500 in the window” and “500 at random” support different conclusions.
2
Compare against a version, if you want to
Usually the live one. Both versions run over the same payloads at the same instants,
so the only thing that differs between the two answers is the rules.
3
Read the result
The outcome distribution, what would change if you gave it a comparison, and which rules
fired.
Records are read as the versions that were current then rather than by liveness — including
records since updated and objects since deleted. Filtering to live rows would measure the
surviving population instead of the traffic.
Which, when
Sample data test
While writing the rule, for fast feedback. Takes seconds.
Against history
To judge a rule against cases you already know. Takes minutes.
Shadow run
Just before publishing, to see the volume impact. Takes days.