Threshold tuning is where most fraud programs quietly leak — either they block too aggressively and lose good customers, or too loosely and let abuse through. The fix is not a magic number; it is a repeatable process built on signals you can read and adjust.
Start with the action, not the score
A single global threshold is the most common mistake. A checkout is worth defending harder than a newsletter signup, and a password reset carries different risk than a first login. Tune per action.
For each flow, write down three things:
- What abuse looks like here (trial farming, ATO, scraping).
- The cost of a false positive (a lost sale vs a mildly annoyed reader).
- The cost of a miss (a chargeback, a farmed account, stolen data).
Those three numbers tell you how tight the threshold should be. High-value, high-abuse actions justify stricter rules; low-stakes actions should stay permissive.
Use reason codes, not just a number
A raw risk score hides why a decision happened. Prynt attaches reason codes to every verdict — datacenter_ip, bot_automation, new_device_velocity, proxy_detected — so you tune the underlying signals rather than a single opaque cutoff.
With editable risk weights, you can decide, for example, that a datacenter IP alone is only mildly suspicious, but a datacenter IP plus automation should block outright. That is far more precise than nudging one global threshold up and down.
Always shadow before you enforce
Never flip a new threshold straight to blocking. Run it in monitor mode first, where the decision engine records what it would have done without acting. After a few days you can answer:
- How many sessions would this rule have blocked?
- How many of those look like real customers?
- Which reason codes drove the blocks?
If monitor mode shows a rule would have blocked a batch of obviously legitimate users, you tighten the logic before it ever touches production traffic.
A simple tuning loop
Treat tuning as a cycle, not a one-time setting:
- Set a conservative threshold per action.
- Shadow it in monitor mode for a defined window.
- Measure false positive rate and catch rate against known outcomes.
- Adjust the risk weights behind the noisiest reason codes.
- Enforce, then keep watching.
| Metric | What it tells you | Watch for |
|---|---|---|
| False positive rate | Good users caught | Sudden spikes after a change |
| Block rate | Share of traffic blocked | Drift up = too strict |
| Catch rate | Known abuse stopped | Drift down = too loose |
| Reason-code mix | Which signals drive blocks | One code dominating |
Watch for drift
Thresholds are not “set and forget.” Attacker behavior changes, new proxy pools appear, and your traffic mix shifts with campaigns. Review the reason-code distribution weekly. If one code suddenly dominates your blocks, that is a signal to investigate — either an attack or a rule that is now miscalibrated.
Prynt’s cross-site reputation network helps here too: devices that misbehaved elsewhere arrive with context, so you can lean on reputation for repeat offenders instead of over-tightening thresholds for everyone.
Segment thresholds by user context
A single threshold per action is a good start, but the strongest programs go one level deeper and vary strictness by context. A brand-new device on a high-value checkout deserves more scrutiny than a returning device with a clean history on the same action.
Because Prynt anchors decisions to a stable visitorId, you can lean on device history rather than treating every session as a first encounter. Returning devices with a good track record can clear a lighter bar; unknown devices and those with prior flags face a stricter one. This context-aware layering catches more abuse at the risky edges while sparing your loyal, recognizable customers from friction they never needed.
Keep the human in the loop
Automated thresholds handle volume, but borderline cases deserve a queue, not an instant block. Send the ambiguous middle to a review step where analysts can look at the reason codes and make the call. Over time, their decisions tell you where to move the threshold.
Tuning well is mostly discipline: separate thresholds per action, decisions you can read, and a habit of shadowing before enforcing. Do that and you catch far more abuse while barely touching good customers.
Want to see which reason codes fire on real traffic before you tune anything? Start in the playground, then review pricing when you are ready to roll out.
Try it free
Prynt is device intelligence with a free tier — visitor IDs, bot & fraud Smart Signals, and behavioral biometrics, powered by a cross-site network. Start free.