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

PropertyReturnsDescription
bandFraudBandThe band the score fell into.
bandNameStringThe band's name, for callers that would rather have a string than an enum.
blockedbooleanWhether 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.
messageStringThe message to show the user when the operation is blocked.
recordablebooleanWhether this decision is worth persisting and announcing.
scoreintThe final fraud score.
signalsList<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.

To get full access to the Kademi Hub existing customers can login here, or new customers can register here.