Estelle CaldwellChief Data Officer · Essays & perspective
← All essays

AI in credit decisions5 min read

A fairness test cannot see the applicants your matching lost

Fairness testing of credit models usually compares outcomes between groups at the end of the pipeline. In a bilingual market the larger harm often sits upstream, in record matching that fails more often for French names and addresses, and it usually afflicts the old process as much as the new model.

Most of the debate about fairness in credit models concerns the model itself. Should it use a variable that may stand in for a protected characteristic? Is a gradient-boosted model too opaque to explain a decline? Do approval rates differ between groups of comparable risk? These are good questions, and our bank asks all of them. My position, after delaying the launch of our own small-business credit model, is that in a bilingual market the larger unfairness is often not in the model at all. It sits in the record joins that feed the model, it falls more heavily on one language community, and it has usually been present in the old process for years without anyone measuring it. A lender should test its record matching by language before it tests its scores, and should hold the process being replaced to the same standard.

The gap that was not in the model

In 2023 my team built a model for small-business lines of credit and term loans up to C$250,000, to replace a scorecard in use since 2014. Before launch we ran the tests I had made a condition of release: approval rates for applicants of similar observed risk, compared by province, by sector, by the owner's gender where it was known and by the customer's language of service. Language preference was never an input to the model. We recorded it only to test with.

The results were mostly unremarkable, with one exception. French-preferring applicants in rural Québec, northern Ontario and New Brunswick were approved about 11 percentage points less often than English-preferring applicants with similar repayment histories and cash flows. My first assumption was that the model had learnt something from a regional feature. It had not. When we traced individual applications, we found that for 7.9% of French-preferring applicants, against 2.2% of English-preferring ones, our systems had failed to match the business and its owners to their credit bureau files. Without a match, the model received default values for a group of features and treated the applicant as someone with a thin credit history.

The causes were ordinary. Our matching routine treated accented and unaccented letters as different characters, so that Bélanger and Belanger were two people. It split compound surnames at the hyphen and searched on the second half. It did not recognise the older dit names that still appear on some rural records in Québec. And it parsed addresses written in French, with the street type before the name and with rural concession roads, less reliably than English ones. Each failure was small. Together they made a group of established business owners look new to credit.

Test the joins before the scores

We postponed the launch from September 2023 to February 2024. Our head of business banking argued against the delay, and her case was not weak. She proposed launching on schedule and sending unmatched applications to manual review, where an experienced underwriter could find the bureau file by hand. The model was faster than the scorecard and, on matched applications, more accurate, and each month of delay meant slower decisions for several thousand owners.

I opposed that course for a reason that became clear only when we looked backwards. The old scorecard used the same matching routine. When we reran its last three years of decisions, the same gap was there, slightly smaller, and nobody had seen it because nobody had tested the scorecard by language. Manual review would have caught some cases, but it depended on underwriters knowing what to look for, and our records showed that review rates for unmatched files varied widely between regions. So we fixed the matching: accent-insensitive comparison, handling for compound names, a table of known name variants assembled with help from our francophone branch staff, and parsing for French addresses. Match failures fell to 1.4% for French-preferring applicants and 1.6% for English-preferring ones. After retraining, the approval gap at similar risk is about 2 points, which we monitor monthly and have not fully explained.

The delay had a cost, and I would rather name it than shrink it. Applicants waited an average of six days for decisions the model now makes in under two for most of them, and some went to other lenders. We also had to tell our board that a process it had relied on for nine years had disadvantaged a group of our own customers. Nobody enjoyed that meeting, and it was the right one to have.

Language as a test variable, never an input

The lesson I draw concerns the order of testing. Fairness reviews tend to begin with the model because the model is new and supervisory attention is on it. OSFI's revised guideline on model risk management brings models built with artificial intelligence and machine learning clearly into scope, and lenders are rightly building validation around them. Canadian human rights law prohibits discrimination on grounds that include national or ethnic origin, and language can stand in for those grounds in ways that are hard to see from a model's features. Neither point tells a lender where in its pipeline an unfair difference arises.

In a bilingual market I would start upstream. Measure, by language of service, how often each record join succeeds: customer to bureau file, business to owner, address to property, application to existing relationship. Then test the scores. Then test the legacy process by the same standard, because the comparison that matters to a customer is not between a new model and perfection, but between the decision they receive now and the one they would have received before.

I would also keep language out of every model as an input while recording it carefully enough to test with. That requires the bank to know each customer's language of service rather than guess it, which is harder than it sounds and which we did not do well until 2025. A fairness test that relies on an inferred language is testing the inference.

None of this is peculiar to French. Any lender serving customers whose names, scripts or address formats differ from those its systems were designed around has the same exposure, whether the names are Vietnamese, Punjabi or Cree. The bilingual case is simply where we found it. My advice to another lender's board is to ask one short question before the next credit model is approved: for which customers does our data fail to connect, and has anyone checked whether the old process failed them too?