minFraud Custom Rules

Turning fraud policy into rules analysts can read, build, and trust.

I replaced a two-condition wizard with a visual logic builder, so fraud analysts could write real-world scenarios as a single rule.

MaxMind’s minFraud scores every transaction for fraud risk with machine learning. Enterprise customers also needed their own rules layered on top, to enforce policies the model couldn’t know about. The original wizard stopped at two flat conditions, so the scenarios analysts actually reason about couldn’t be written down. I redesigned the builder around a visual model that shows the whole rule at once.

Client: MaxMind
My Role: UX, UI, research, usability testing
Team: PM, Scrum team, QA
Timeline: 10 weeks
Platform: Enterprise web app
Before · 2017

A six-step wizard

The original custom rules wizard: a six-step progress bar, one condition being edited at a time, and a rule summary limited to two conditions joined by OR.
6 steps per rule 2 conditions max Flat logic
After · Visual rule builder

The whole rule, in one view

The redesigned rule builder showing a complete rule on one screen: two nested condition groups joined by OR, each with its own AND or OR operator, ending in a Manual Review disposition.
Whole rule visible Nested groups Live validation
How an analyst thinks

One sentence of fraud policy

It's an iPad order
placed between 2 and 4 AM
or paid with a prepaid card
so send it to manual review
The logic 1 AND ( 2 OR 3 ) → 4

The wizard allowed two conditions with no grouping, so this rule couldn't be written at all. The builder expresses it as one rule, and the group reads like the parentheses an analyst already has in mind.

The rule builder expressing the scenario: item ID matches iPad, AND a group containing local time between 2:00 and 4:00 AM OR prepaid card is true, with the disposition set to Manual Review.

01 · The problem

The wizard capped rules at two conditions and hid the big picture.

Analysts couldn't express real fraud scenarios.

Enterprise customers needed deterministic rules on top of machine-learning scores to enforce their own fraud policies. A misconfigured rule could approve a fraudulent transaction and lead to chargebacks and financial loss. Analysts needed power, clarity, and safety in equal measure.

02 · Role and constraints

New logic on a live decision engine. Mistakes in rule logic cost real money.

What I owned

Problem framing with the PM through implementation: interviews, competitive analysis, the interaction model, validation, UI, and usability testing.

New logic, real stakes

Net-new functionality on top of the ML decision engine, coordinated across UI, back end, and internal APIs.

Accessible by default

Keyboard-only use, predictable focus order, and feedback that never relies on color alone.

What interviews showed

Real-world fraud rules are rarely linear. Analysts reason about the whole rule set at once and keep revising it as fraud patterns change.

What Interviews showed

Real-world fraud rules are rarely linear. Analysts reason about the whole rule set at once and keep revising it as fraud patterns change.

03 · Key decisions

Three questions shaped the builder.

Keep the step-by-step wizard, or show the whole rule at once?

I replaced the wizard with a visual logic model that displays the entire rule. Fraud logic is interdependent, and the wizard forced people to back up through steps to fix mistakes, a common point where they gave up.

Every live rule stays in view. Analysts spot duplicates before they save, not after.

Rule builder with the live rule list beneath it

How do we support complex rules without overwhelming simple ones?

Nested AND / OR groups with clear visual boundaries. Most rules stay simple (roughly an 80/20 split), but the critical minority needed real structure, so complexity only appears when someone asks for it.

Groups read like parentheses. Each operator sits on the connector it governs.

Nested AND and OR condition groups

When should the builder tell you something is wrong?

Confirm valid conditions immediately, and hold error messages until save. Instant confirmation lowers cognitive load, while early errors punish exploratory, unfinished work.

A checkmark, not just a color. Valid states read without relying on green.

Conditions each confirmed with a checkmark

04 · The solution

Rules analysts can audit without opening an editor.

The rule list

Every saved rule reads back as plain language

Saved rules collapse to a single line in the list, then expand into a sentence with their groups intact. Analysts can audit a long rule set without reopening a single editor.

MR

Late-night iPad orders

if
any item's ID (input) matches *IPAD_4G
AND
local time (output) is between 02:00 AM and 04:00 AM
or
prepaid card (output) is true
AND
billing postal code to IP address distance (output) is ≤ 1,000 km
then Send to manual review
Misordered rules flagged with an explanatory side panel
Misordered rules are flagged before save, with a plain-language side panel explaining rule order.
Custom input confirmed as it is entered
Each custom input is confirmed as it's entered.
minFraud Row 2 Preview

05 · Outcome

What changed

Conditions per rule

4

up from 2

At launch, built to scale further.

Logic structure

Nested

was flat

AND / OR groups that read like parentheses.

To see the whole rule

1 view

down from 6 steps

The full rule stays on screen while you build, with every live rule below.

Feedback

As you go

was at the end

A checkmark confirms each condition as it's entered. Errors wait for save.

This work enabled MaxMind to offer complex, customizable fraud automation across its customer base, including enterprise platforms serving millions of downstream merchants. Publicly available indicators show minFraud operating at massive scale, screening hundreds of millions of transactions per month, with documented customer chargeback reductions after adoption.

By letting customers define rules on top of machine-learning decisions, the product evolved from passive detection into programmable fraud policy enforcement.