The Outlier Lab

Loss Taxonomy and Attribution

How to classify transaction losses (fraud vs credit vs operational, first vs third party, scam vs unauthorized) and attribute each dollar to a mechanism, money path and control gap.

Core components

The classification axes

Classify every loss on independent axes rather than one flat list. Each axis answers a different question and drives a different response.

AxisValuesWhy it matters
Loss natureFraud · Credit · Operational · Policy/goodwill · Disputed-unresolvedWho owns it. Fraud vs credit decides the model, the reserve and often the regulator's view.
InitiatorAuthorized party (customer or agent) · Unauthorized partyReg E, card network and scam-reimbursement rules all turn on this. Mirrors the first question of the Federal Reserve's FraudClassifier.
ActorFirst-party · Third-party · Insider · Organized ring · Victim-authorized (scam)Different signals and controls. Matches the vault's actor vocabulary.
MechanismOne primary mechanism from the vault's mechanism list (secondary optional)Drives control investment and maps to playbooks
EnablerATO, synthetic/farmed account, mule, insider, logic flaw, noneSeparates how they got in from how they monetized
Money pathFunding · Purchase · Payout/withdrawal · Redemption · P2P/transfer · Trade · Refund/claimWhere the decision point was
Railcard, ach, wire, check, instant-payments, p2p, digital-wallet, crypto, gift-card, rewards, securities, store-creditRecovery options and timelines
Liability holderUs · Customer · Merchant · Issuer/acquirer · Partner bank · SharedWho actually ate it, after rules and contracts
Control gapNo control · Control bypassed · Control misconfigured · Manual decision error · Accepted riskWhat to fix

Fraud vs credit vs operational

This is the hardest boundary and the one most often fudged.

SituationUsually classified asTest
Customer funds via ACH, withdraws instantly, debit returns NSF, never repaysCredit if intent to repay is plausible; first-party fraud if the pattern shows intentLook at evidence of intent: new account, immediate withdrawal, no contact, linked accounts, repeated pattern. See Instant Funding Abuse (Kiting).
Account opened with a fabricated identity, maxes limits, disappearsFraud (synthetic); often misbooked as credit charge-offNo real person to collect from. See Synthetic Identity Fraud, Bust-Out Fraud.
Customer disputes a purchase they madeFirst-party fraud (if false claim) vs merchant/service disputeEvidence of receipt and prior undisputed use. See Chargeback and Friendly Fraud.
Promo paid out to a farmed account networkFraud (promo abuse); often booked as marketing spendIf it would not have been paid under the promo's intended eligibility, it's abuse loss. See Sign-Up Bonus Abuse, Multi-Accounting.
Payout sent to wrong account because of an internal bugOperationalExploited bug → Business Logic Exploitation (fraud) if users knowingly extracted value
Scam victim sends money; firm reimburses voluntarilyScam loss (goodwill/voluntary)Track separately from liability-driven reimbursement
Scam victim sends money; firm is liable under rule or contractScam loss (liability)See Authorized Push Payment (APP) Scams, Regulation E and Unauthorized Transfers

Scam vs unauthorized

Regulators and networks treat these differently, so your taxonomy must too.

  • Unauthorized: someone other than the customer initiated the transfer without actual authority. This includes cases where a third party tricked the customer into handing over credentials and then initiated the transfer. CFPB's 2021 Reg E FAQs said such transfers are unauthorized EFTs (see Regulation E and Unauthorized Transfers).
  • Authorized (scam): the customer initiated the payment themselves, under deception. In the US this is generally not an "error" under Reg E. Reimbursement is voluntary, contractual or network-driven. See Authorized Push Payment (APP) Scams.
  • Gray zone: remote-access-tool sessions, coached transfers where the fraudster drives, or customers who share an OTP while on the phone. Code the facts (who clicked, whose device, whose credentials), not just the conclusion, so the label can be re-derived if the legal view changes.

The Federal Reserve's ScamClassifier defines a scam as deception or manipulation used for financial gain. It sorts scams into two groups: products/services scams, and relationship/trust scams where someone impersonates a trusted party. It then assigns one of nine scam types (merchandise, investment, property sale/rental, romance impostor, government impostor, bank impostor, business impostor, relative/friend, other trusted party). Using these codes makes your data comparable across institutions and intel-sharing groups.

Attribution: from a loss dollar to a mechanism

Attribution means assigning each loss event to the mechanism, enabler, money path and control gap that produced it.

Diagram: Loss event (chargeback, return, write-off, reimbursement, clawback failure), Join to originating transaction(s), Join account timeline: login, changes, device, funding, prior cases, Case investigated?, Use investigator's coded mechanism + enabler, Apply deterministic attribution rules, Rule matched?, Assign mechanism with 'rule-attributed' flag, 'Unattributed' bucket, sample for review, Record control gap and liability holder

Attribution rule examples (illustrative; build your own from investigated cases):

Multi-mechanism events. Real losses chain. ATO leads to payout redirection, which leads to a mule account. Assign one primary mechanism: where the money left your control. Record enablers separately. Otherwise ATO gets credited with every loss and the payout control gap stays invisible.

Shared losses. When a ring is responsible for 300 losses across 5 mechanisms, attribute each loss to its own mechanism and tag the ring ID. Ring-level views then come from aggregating on the ring ID, with no re-labeling.

Where loss shows up by industry

IndustryPrimary loss linesClassic misattribution
Brokerage and InvestingACH return after withdrawal, ATO liquidation and transfer-out, ACATS out to fraudster, ramp-and-dump trading lossTrading losses from ATO booked as market losses
Cashback, Coupons and RewardsPaid cashback on fraudulent receipts, referral and bonus payouts, reward balance theftAbuse booked as marketing or customer acquisition cost
Online MarketplacesBuyer claims paid, seller non-delivery covered, chargebacks on platformINR/SNAD abuse booked as customer service cost
Neobanks and Consumer FintechReg E reimbursements, check/RDC returns, kiting, P2P scam goodwillFirst-party kiting booked as credit/overdraft loss
Payments and P2PUnauthorized P2P, scam reimbursements, instant payout lossesScams mixed with unauthorized
Retail and EcommerceCNP chargebacks, refund/return abuse, gift card fraudReturn abuse booked as shrink

How to build it

  1. Inventory every loss line with finance: chargebacks lost, ACH and check returns written off, Reg E credits made final, voluntary reimbursements, promo/reward clawback failures, refund and claim payouts, trading-loss make-wholes, recoveries.
  2. Build the loss ledger. One row per loss event, linked to originating transaction IDs, with the axes above. Reconcile monthly to the general ledger.
  3. Write attribution rules from your top 10 investigated case patterns. Start deterministic, and measure how much of the dollars they cover.
  4. Sample the unattributed bucket weekly and turn findings into new rules or new investigation requirements.
  5. Require coded fields in case notes: primary mechanism, enabler, actor, initiator, control gap. See Case Documentation Standards.
  6. Version the taxonomy. When you add or split a mechanism, backfill or flag the break in trend.

Fraud analytics owns the taxonomy and rules. Investigators and QA own coded-label quality. Finance owns reconciliation. Credit risk co-signs the fraud vs credit boundary.

Artifacts and templates

Loss ledger schema (minimum)

FieldExample
loss_event_idLE-2026-000123
sourcechargeback / ach_return / check_return / reg_e_final / goodwill / clawback_fail / claim_paid
originating_txn_ids[..]
event_date / txn_datefor vintage reporting
gross_amount / recovered_amount / net_amount
money_path / railpayout / instant-payments
loss_naturefraud
initiatorunauthorized
actorthird-party
primary_mechanism / enablersPayout Redirection / [ATO, SIM swap]
liability_holderus
control_gapcontrol bypassed
attribution_methodinvestigated / rule:R12 / unattributed
ring_id / case_id

Attribution QA checklist

  • Every loss dollar has a loss_nature and attribution_method
  • Unattributed share is reported and trending down
  • Rule-attributed labels are sampled against investigated cases each quarter, with agreement reported
  • Fraud vs credit boundary is applied consistently (sample of 50 NSF/charge-off cases per quarter)
  • Scam vs unauthorized fields captured as facts as well as conclusions
  • Taxonomy changes logged with effective date

Metrics

  • Attribution coverage: % of loss dollars with a primary mechanism (target: high and rising; unattributed sampled)
  • Investigated share: % of loss dollars attributed by investigation vs rules
  • Rule–investigation agreement: where both exist, % match on primary mechanism
  • Reclassification rate: % of losses whose nature or mechanism changed after initial booking
  • Loss by mechanism and control gap: the input to Fraud Risk Assessment and the Mechanism to Control Matrix

Pitfalls

  • A single "fraud" bucket can't tell you whether to buy device intelligence or fix payout holds.
  • Attributing losses to the enabler. "ATO caused $X" hides that payout controls failed. Primary mechanism = where money left.
  • Letting chargeback reason codes be your taxonomy. Network reason codes describe the dispute rather than the mechanism, and many fraud-coded disputes are first-party.
  • Promo abuse hidden in marketing spend. If it isn't in the loss ledger, nobody owns it.
  • Not recording the liability holder. Whether liability sits with the merchant, the issuer or a partner bank changes who should invest in the fix.
  • Taxonomy sprawl, such as fifty mechanisms with a handful of events each. Keep a stable top level (this vault's mechanism list) and use tags for sub-variants.

Sources and further reading