What Creditcrest Enrich gets right

Measured on 20 September 2026, against names nobody here chose. Re-run it with npm run audit:enrich.

Two things are measured and they are not the same thing. Coverage is how many payees it categorises at all. Accuracy is how many of those it gets right. A single number combining them would hide whichever half is worse, so they are never multiplied together on this page.

What it was run over

The curated list in this repository — the one the merchant rules were written from — scores full marks and appears in no figure here. A list that was used to write the rules measures the rules against themselves.

Accuracy, per confidence band

BandNamesClaimed a categoryRightAccuracyWhat it means
named 227 227 226 99.6% A rule matched the merchant’s name in the description.
kind 89 89 88 98.9% A rule matched a word for a kind of business inside a name this has never seen. It puts the money on the right line and it does not identify the payee.
inferred 0 — — — No rule matched. The size and direction of the money were used instead, which is a guess and is marked as one.
declined 10 — — — The name is recognised and is deliberately not categorised, because the name does not settle what the payment was.
unknown 927 — — — Nothing in the description matched a rule.

A figure this high means "two wrong answers in 316", not "almost never wrong". It is measured over the brand names in the lists above, and the long tail below is 39,548 real venue names of which four in five are not read at all. That is why the denominator is in the table and why coverage is printed beside accuracy everywhere on this page: either figure on its own is a number somebody will quote wrongly.

It got there by fixing wrong answers rather than by adding merchant names. Every collision the audit found was one brand trading in two industries — Costco sells fuel and groceries, Harcourts is a real-estate agency and a pub, Arcline is RACV’s electricity brand and RACV is an insurer. No rule in a list fixes a fact about the world. Where a word in the name settles the question the rules use it; where nothing settles it the name is recognised and deliberately not categorised, which is what the declined band is.

declined and unknown carry nought, which is not a low opinion of them: they are the two answers that make no claim about a category at all, and nought is the correct confidence in a claim nobody made. inferred is the one band no payee list can measure — it is a guess from the size and direction of a credit, and measuring it would take a real statement with the income labelled on it, which this repository does not have and will not invent.

Accuracy and coverage, per category

Every category has to be right at least 95% of the time it answers, one at a time rather than on average — an average passes while one line of a household's assessment is wrong two times in five, and the line that is wrong is somebody's petrol or somebody's rent. Coverage is printed beside it, always. The two trade against each other: a category can reach full marks by answering once, so a figure with no coverage next to it says nothing.

CategoryNamesCategorisedRight of thoseThird party namedClears 95%
Transport and fuel 225 10.7% 95.8% 14.2% yes
Shopping 193 16.1% 96.8% 15.5% yes
Eating out and takeaway 190 24.2% 100.0% 16.3% yes
Loan repayment 113 14.2% 100.0% 14.2% yes
Utilities 84 79.8% 100.0% 77.4% yes
Insurance 66 50.0% 100.0% 25.8% yes
Cash withdrawal 43 23.3% 100.0% 0.0% yes
Health 41 36.6% 100.0% 17.1% yes
Groceries 31 51.6% 100.0% 51.6% yes
Rent 26 26.9% 100.0% 15.4% yes
Government benefit 24 37.5% 100.0% 37.5% yes
Mortgage repayment 21 100.0% 100.0% 0.0% yes
Education and childcare 17 58.8% 100.0% 11.8% yes
Entertainment and subscriptions 9 22.2% 100.0% 22.2% yes
Travel 8 12.5% 100.0% 12.5% yes
Phone and internet 6 50.0% 100.0% 50.0% yes
Credit card payment 4 100.0% 100.0% 0.0% yes
Gambling 1 0.0% — 0.0% —
Too thin to conclude anything from

credit card payment, 4 names; gambling, 1 name. A share of four names is not a measurement, and the row is here because the register says so rather than because the figure means anything. Asking OpenStreetMap for bookmakers, for instance, gets one Australian brand carrying a brand tag — and the rules do not recognise it, which is the finding rather than the percentage.

Where it is weakest

Coverage is weakest at gambling. Of 1 name the corpus puts on that line, 0.0% are categorised at all, and — of THOSE are right. That is a fact about how many independent businesses there are rather than about the rules: nobody writes a rule for every forecourt in the country.

Accuracy is weakest at transport and fuel. 95.8% of the answers it does give there are right. What is left anywhere on this table is a brand that trades in two industries: Costco sells fuel and groceries, Harcourts is a real-estate agency and a pub, La Trobe is a university and a mortgage lender. Where a word in the name settles which — INSURANCE, ELECTRICITY — the rules use it; where nothing settles it, the name is recognised and deliberately not categorised, which costs coverage and is why that column is printed beside this one.

Under all of it is one number: four out of five real Australian venue names are not recognised at all. Everything else on this page rests on that being said out loud.

The names it must not answer for

151 bank names and bank brands, where the right answer is no answer — a payment to a bank does not say whether it was a mortgage, a card, a fee or the person moving their own money. None of them was categorised. 2 of them are in the rules with no category against them, on purpose, so that no broader rule can guess and so the file can say the name was looked at.

The long tail

39,548 real Australian venue trading names from three states' liquor and fuel registers. There is no right answer to compare against, so this is what it says rather than whether it is right:

BandNamesShare
named1,9845.0%
kind5,11112.9%
unknown32,41782.0%

5.0% of real Australian venue names have their third party named. A further 12.9% are categorised from a word for a kind of business sitting inside a name this has never seen, which puts the money on the right line and is not merchant recognition and is not sold as it. The rest say unknown.

What is not measured at all

5 of the 23 categories have no independent corpus. Silence here is not a pass.

CategoryWhy there is no list to measure it against
Salary or wages An employer is any of two and a half million registered businesses. The only complete list is the business register, and a household is paid by one row of it.
Other income A dividend, a refund, a private sale. Nobody publishes a register of the people who send a household money.
Buy now pay later The providers are in the Consumer Data Right’s non-bank lending register and their names do not say the product — "Zip", "humm" — so the register settles that they are credit providers and not which kind. They are measured as a commitment rather than split out, because splitting them would be this repository deciding the answer the corpus declined to give.
Transfer Not a payee at all. A transfer is recognised from the words a bank writes for its own rails, so the only corpus would be bank statement text.
Bank fees and interest Not a payee either. A bank names its own fees, so the wording belongs to the bank rather than to a company a register could list.

A reason against each rather than a list, because a list invites the reader to assume nobody looked. Somebody did, for every one of them, and the reason is a different reason each time: a register that does not exist, a register that exists and blocks fetchers, and a payee that is not an entity at all. Saying so is the only honest thing available.

How to check any of this

npm run audit:enrich prints every table on this page and compares each figure against the record committed in src/enrich.js, and exits non-zero if any of them has moved. The test suite runs the same comparison, so a change to the merchant rules that moves a number goes red without anybody having to remember to run an audit.