AI + your money · 6 min read
How AI Categorizes Your Transactions (and Why It Gets Some Wrong)

AI categorizes your transactions in three steps: it cleans up the raw merchant string your bank passes along (turning something like "SQ *BLUEBIRD COF 4029" into "Bluebird Coffee"), matches that merchant against a large database of known businesses, and then assigns a category based on what that business primarily sells — refined by signals like the amount, the recurrence pattern, and how millions of similar transactions were labeled before. It gets some wrong because the raw data is genuinely ambiguous: a Walmart charge could be groceries, a TV, or a prescription, and the transaction string doesn't say which. Modern systems are right far more often than the keyword-matching of older apps, but no model can recover information the payment network never recorded.
What does the AI actually see when you swipe a card?
Less than you'd think. When a transaction posts, the categorizer receives roughly this: a merchant descriptor (a short, often mangled string the merchant's payment processor chose years ago), an amount, a date, sometimes a merchant category code (MCC) assigned to the whole business, and sometimes a city and state. That's it. There is no itemized receipt. The network knows you spent $84.12 at Target; it has no idea whether that was diapers, a lamp, or both.
This is the single most important fact about ai transaction categorization: the model isn't reading your receipt, it's making an educated guess about the merchant. Everything downstream — accuracy, errors, the fixes — follows from that constraint. It's the same limitation behind why a pending transaction can show a vague descriptor for days before the final version posts with a cleaner name.
How does the categorization model work, step by step?
- Descriptor cleanup. A model trained on billions of transaction strings strips processor prefixes (SQ*, TST*, PAYPAL *), store numbers, and truncation artifacts to recover the actual business name. This step alone fixes most of what made old bank statements unreadable.
- Merchant resolution. The cleaned name is matched against a merchant database — the same entity across different card processors, spellings, and locations gets one canonical identity. "AMZN Mktp" and "Amazon.com" resolve to the same merchant.
- Category assignment. The merchant's primary business drives the label: a resolved coffee shop becomes Food & Drink > Coffee. Where the merchant is ambiguous or unknown, the model falls back on the MCC, the amount, and patterns learned from how similar transactions were categorized across many users.
- Contextual refinement. Recurrence matters: a $15.99 charge that repeats monthly at the same merchant looks like a subscription even if the merchant name is opaque. Amount matters too — $6 at an airport merchant reads differently than $600.
Aggregators like Plaid do much of this before your finance app ever sees the data, which is why two apps connected to the same bank can show identical clean merchant names. What each app does with the category on top of that — budgets, alerts, spending math — is where they diverge.
Why does AI get some categories wrong?
The merchant sells everything
Amazon, Walmart, Costco, and Target are the classic failure cases. The model can resolve the merchant perfectly and still have no defensible category, because the store itself spans ten categories. Most systems pick the statistically dominant one — Amazon often lands in Shopping, Costco in Groceries — which means your $1,100 Costco TV gets filed under Groceries. No amount of model improvement fixes this; the information simply isn't in the transaction.
The descriptor is garbage
Small businesses often show up under the owner's LLC name or a payment processor's label rather than the storefront you saw. "JBR HOLDINGS LLC" might be your barber. Until enough transactions accumulate for the merchant database to learn the mapping, the model is guessing from a legal name that carries no signal.
Transfers and payments masquerade as spending
The most expensive miscategorization isn't Coffee vs. Restaurants — it's counting a credit-card payment or a transfer between your own accounts as an expense. Pay a $2,300 card bill and a naive tracker records $2,300 of "spending" on top of the purchases already counted when you made them. That one error is a big part of why your spending total is wrong in many apps, and it's why some apps count your card payment as spending while better ones exclude it. As an illustrative example: a month with $2,319 of real purchases can display as over $11,000 of "spending" once card payments and internal transfers get double-counted — a wrong answer produced by technically correct data.
One merchant, many meanings
A charge at a hotel could be lodging, a restaurant bill, or parking. Uber is rides for one person and dinner (Uber Eats, usually a distinct descriptor — but not always) for another. PayPal and Venmo charges inherit almost nothing about the actual seller. Ambiguity at the merchant level puts a hard ceiling on per-transaction accuracy.
Do categorization models learn from my corrections?
Usually yes, at two levels. When you recategorize a transaction, most apps apply that correction to future transactions at the same merchant for you specifically — recategorize "JBR HOLDINGS LLC" as Personal Care once and it sticks. Separately, aggregated corrections across many users feed back into the shared merchant database, which is how obscure merchants gradually get correct default labels. Your one fix is a rule; a thousand users' fixes are training data.
The practical upshot: correcting categories is front-loaded work. The first month you might fix a dozen; by month three, only new merchants need attention. That maintenance cost is worth weighing when you decide how to use AI to analyze your spending — the analysis is only as good as the categories underneath it.
How accurate should you expect it to be?
Think in tiers rather than a single number. Recurring bills and subscriptions are nearly always right — the merchant is unambiguous and the pattern repeats, which is also why AI is good at finding subscriptions you forgot about. Single-purpose merchants (gas stations, airlines, streaming services) are very reliably labeled. Everything-stores and person-to-person payments are the weak tier, and they'll stay weak until receipts, not just merchant identities, become part of the data — which isn't how US card networks work today.
A reasonable posture: trust categories for the shape of your spending (roughly how much goes to food vs. transport vs. subscriptions), and spot-check the handful of large or ambiguous transactions before drawing conclusions from any single category's total. Seven Financial takes the errors-that-matter-most seriously by excluding transfers and card payments from spending automatically, so the totals are honest even before you touch a single category label.
What can you do to make categorization more accurate?
- Fix the big ones first. A miscategorized $4 coffee distorts nothing; a $1,100 TV filed under Groceries distorts two categories at once. Sort by amount and correct from the top.
- Recategorize the merchant, not the transaction, when your app supports rules — one correction that applies forward beats twelve identical manual edits.
- Split mixed purchases at everything-stores if the amounts are large enough to matter. Otherwise accept the default and move on; precision below the level of your actual decisions is wasted effort.
- Verify that transfers and credit-card payments are excluded from your spending total. This is a five-minute check that matters more than a hundred category fixes.
- Watch person-to-person payments. Venmo and Zelle charges carry almost no merchant signal, so categorize the recurring ones (rent, cleaner) once by rule and let the rest sit in a generic bucket.
Categorization is also the foundation for everything smarter an app does later — spending prediction and pattern detection both run on categorized history, so garbage categories in means garbage forecasts out. Twenty minutes of correction in your first month pays off in every chart and alert that follows.
Frequently asked questions
Can AI see what items I bought in a transaction?
No. US card networks transmit the merchant, amount, and date — not the receipt. Item-level detail only exists if you photograph receipts or the merchant emails one you forward to a tool that parses it. Any category assigned to a Target run is a guess about the store, not the basket.
Why does the same merchant show up under different names?
Different payment processors format descriptors differently, and in-store, online, and app purchases at the same company can route through different processors. Good merchant-resolution models collapse these into one canonical merchant, but new or small businesses may take time to consolidate.
Should I bother correcting miscategorized transactions?
Correct the large ones and the recurring ones — those distort your monthly picture and repeat if left alone. Small one-off errors mostly cancel out and rarely change any decision you'd make. Most apps apply a correction forward to the same merchant, so the work shrinks fast.
Is a transaction categorized differently while it's pending?
Sometimes. Pending transactions often carry a rougher descriptor and a preliminary amount, and the final posted version can arrive with a cleaner merchant name and a different category. If a label looks wrong on a pending charge, it's worth waiting until it posts before correcting it.