TL;DR
- A fraud alert is a request for investigation, not proof that a customer committed fraud. Separate observations, hypotheses and confirmed outcomes.
- Evaluate alert quality with clear denominators. Precision, recall, false-positive rate, customer impact and review capacity answer different questions.
- Use mature, consistently defined outcome labels when comparing rules. Recent transactions can look better simply because adverse outcomes have not arrived yet.
- Practise with the fictional cohort and calculation below, then explain the evidence, decision, uncertainty and next action in a short case note.
The case used in these fraud analyst interview questions
Suppose a payment business asks you to evaluate a new alert rule. The exercise provides a closed, fictional cohort of 1,000 transactions with fully resolved labels: 20 are confirmed fraud and 980 are legitimate. The rule flags 50 transactions, including 15 of the fraudulent transactions and 35 legitimate ones.
This deliberately simplified dataset makes the arithmetic testable. Real investigations often have unresolved outcomes, imperfect labels and different information for accepted and blocked attempts. The questions below ask you to recognize those limits rather than turn a classroom metric into a claim about a live customer.
These are original interview practice questions, not a verified employer assessment. The guide does not prescribe payment-network thresholds, legal reporting duties or a production blocking policy.
1. What would you clarify before reviewing an alert?
Ask what triggered the alert, which transaction or account it concerns, when the relevant events occurred and what action has already been taken. Then establish the analyst's available decisions and the evidence needed for each one.
Separate the payment's operational state from the analyst's conclusion. A queued review, an issuer decline and a confirmed fraud label are different facts. A case may also change after the first decision. Stripe's manual-review documentation is one example of a provider-specific workflow that should be checked before applying a generic process.
In the fictional case, imagine an unusual transaction pattern without treating it as a verdict. Review the permitted account and transaction context, look for data-quality problems and consider legitimate explanations. Document the evidence supporting a hypothesis and what would weaken it. Avoid inventing certainty because a risk score or a single signal appears alarming.
2. How would you calculate precision and recall?
Start by organizing the cohort into a confusion matrix. Here, “flagged” means selected by the rule for review, not automatically blocked or proven fraudulent.
| Rule outcome | Confirmed fraud | Legitimate | Total |
|---|---|---|---|
| Flagged | 15 | 35 | 50 |
| Not flagged | 5 | 945 | 950 |
| Total | 20 | 980 | 1,000 |
Precision asks how many flagged transactions were fraudulent: 15 divided by 50, or 30%. Recall asks how much of the known fraud was flagged: 15 divided by 20, or 75%. The false-positive rate is 35 divided by 980, about 3.57%; it is not the same as the 70% of alerts that were legitimate.
Accuracy is 960 divided by 1,000, or 96%. But a rule that flags nothing would have 98% accuracy in this cohort while identifying none of the fraud. That counterexample shows why accuracy alone is a poor way to judge this alerting task. The same point comes up in data scientist interview questions, where the sample answer on payments fraud detection recommends precision or recall targets rather than raw accuracy.
3. Can you make the metric calculation reproducible?
The following original Python helper uses exact fractions and reports an undefined ratio as None rather than inventing a zero. It accepts non-negative integer counts; booleans and fractional counts are rejected.
from fractions import Fraction
def alert_metrics(tp, fp, fn, tn):
counts = (tp, fp, fn, tn)
if any(type(value) is not int or value < 0 for value in counts):
raise ValueError("Counts must be non-negative integers")
total = sum(counts)
def ratio(numerator, denominator):
return Fraction(numerator, denominator) if denominator else None
return {
"precision": ratio(tp, tp + fp),
"recall": ratio(tp, tp + fn),
"false_positive_rate": ratio(fp, fp + tn),
"accuracy": ratio(tp + tn, total),
"review_rate": ratio(tp + fp, total),
}For alert_metrics(15, 35, 5, 945), the exact results are precision 3/10, recall 3/4, false-positive rate 1/28, accuracy 24/25 and review rate 1/20. Format them as percentages only at the presentation boundary.
The helper is intentionally small. It does not decide whether a label is reliable, whether the selected cohort is representative or whether the business should block a transaction. Local tests verify its arithmetic and invalid-input behavior. They do not validate a real fraud model or a payment provider integration.
4. Why can a recent rule appear better than it is?
Outcomes can arrive after the original payment or review. Comparing a fresh cohort with a mature one can make the fresh cohort appear to have less fraud simply because fewer outcomes have been observed. Stripe's dispute analytics guidance distinguishes payment date from dispute date and explains this timing effect.
For the exercise, record the event date, the outcome-observation date and the date at which the evaluation is frozen. Use comparable observation windows when comparing two rules. Keep unresolved cases separate from confirmed legitimate cases rather than silently assigning them favorable labels.
Also examine selection effects. A blocked transaction may never produce the same downstream outcome evidence as an accepted transaction. Reviewing only flagged payments cannot, by itself, establish how much fraud the rule missed among unflagged payments. Explain what additional evidence or controlled evaluation would be needed before claiming recall on a live population.
5. How would review capacity affect your recommendation?
Suppose this fictional rule generates 50 review cases per day, while the team can complete 40 comparable cases per day. With no other changes, the queue grows by ten cases daily. Even a useful rule may become operationally ineffective if review decisions arrive after the action they were meant to inform.
Ask about handling time, deadlines, existing backlog and the impact of delayed decisions. A ten-minute case and a two-hour case do not consume the same capacity. Prioritization should follow the organization's documented policy and available evidence, with escalation paths for unusual or uncertain cases.
Do not recommend blocking every flagged transaction solely to clear the queue. In this cohort, 35 of the 50 alerts concern legitimate transactions. Consider whether a more selective review rule, improved evidence collection or additional capacity would better meet the business objective. Stripe's rule-performance documentation illustrates why review outcomes and false-positive estimates need attention alongside alert volume.
6. What would a good investigation note contain?
Use a structure that another analyst can follow: observed facts, interpretation, action, uncertainty and follow-up. Keep unnecessary personal information out of a practice note, and use only evidence you are authorized to access in a real case.
Here is an original fictional example: “The alert concerns transaction T-42. The event timeline is complete, but the delivery-status field is missing from the review view. The current evidence does not establish fraud. I have requested the missing operational record and escalated the time-sensitive decision under the team's review policy. The next reviewer should confirm that record before final disposition.”
This note is useful because it separates a missing fact from a conclusion. It does not claim that a customer is fraudulent, invent a supporting document or silently treat incomplete evidence as proof of legitimacy.
If the case becomes a dispute, the evidence package must answer that dispute's actual reason and provider requirements. General recordkeeping is not a guarantee of winning. Stripe's evidence guidance is a primary reference for its own workflow; a different provider may require a different submission.
7. How would you investigate a sudden increase in alerts?
Begin with the denominator and the timeline. Did transaction volume increase, did the rule change, did a data field become missing, or did the population shift? A larger number of alerts can occur even when the alert rate is unchanged.
Compare relevant cohorts and inspect a small, authorized sample. For this exercise, imagine that a deployment changed a country-code field from a value to a blank string. A rule reacting to that field might produce an alert spike caused by instrumentation rather than a sudden change in customer behavior.
Record the rule version and data-source version, identify the affected interval and preserve enough evidence to reproduce the discrepancy. Coordinate a controlled correction with the appropriate owner, then verify that the fix restores expected data without suppressing unrelated legitimate alerts. Avoid changing several rules at once and losing the ability to identify which change mattered. Detection engineering rounds in security engineer interviews raise related questions about alert rules, such as what drives false positives and how to tune a rule over time.
8. How would you present a recommendation to a non-technical stakeholder?
Lead with the decision the stakeholder needs to make. For the fictional cohort, you could say: “The rule identifies 15 of 20 confirmed fraud cases, but 35 of its 50 alerts are legitimate transactions. It would also exceed the team's current daily review capacity. I recommend resolving the capacity and label-quality questions before selecting a production action.”
Then show the specific evidence and limits. Distinguish transaction counts from transaction value, and distinguish detection from prevented loss. Flagging a transaction is not proof that a loss was prevented; the eventual action and outcome matter. Also name the assumptions that would change your recommendation; the case study interview guide for technical candidates ends its five-step answer structure with the same check.
Close the exercise with a follow-up measurement plan: define the evaluation cohort, retain unresolved outcomes, record review latency and monitor customer impact alongside fraud outcomes. Assign an owner and a review date. Do not promise that one rule can eliminate fraud or that one metric establishes fairness or compliance.
Use PhantomCodeAI alongside analytical practice to rehearse the case. Explain each denominator, identify what the data cannot tell you and make the next decision understandable without overstating certainty.