The outcome of scoring one operation: what the score was, what it means, and why. The breakdown is part of the result rather than something a caller has to reconstruct, because an unexplained score is not actionable - whoever reviews a blocked order needs to see which rules fired.
Properties
| Property | Returns | Description |
|---|---|---|
| band | FraudBand | The band the score fell into. |
| bandName | String | The band's name, for callers that would rather have a string than an enum. |
| blocked | boolean | Whether the operation should be rejected. This is not the same as being in the block band: while a rule set is being calibrated the band can be BLOCK and this still false. |
| message | String | The message to show the user when the operation is blocked. |
| recordable | boolean | Whether this decision is worth persisting and announcing. |
| score | int | The final fraud score. |
| signals | List<FraudSignal> | Every signal that went into the score. |
Methods
getScore() · getBand() · getBandName() · isBlocked() · isRecordable() · getMessage() · getSignals() · findContributingSignals() · findFailedSignals()
getScore()
Returns: int
The final fraud score.
getBand()
Returns: FraudBand
The band the score fell into.
getBandName()
Returns: String
The band's name, for callers that would rather have a string than an enum.
isBlocked()
Returns: boolean
Whether the operation should be rejected. This is not the same as being in the block band: while a rule set is being calibrated the band can be BLOCK and this still false.
isRecordable()
Returns: boolean
Whether this decision is worth persisting and announcing.
getMessage()
Returns: String
The message to show the user when the operation is blocked.
getSignals()
Returns: List<FraudSignal>
Every signal that went into the score.
findContributingSignals()
Returns: List<FraudSignal>
The signals that actually fired, strongest contribution first. This is what a reviewer wants to see, as opposed to the long tail of rules that found nothing.
findFailedSignals()
Returns: List<FraudSignal>
Rules that could not run. A non-empty list here means the score understates the risk, which is why it is reported rather than swallowed.