Building credit scores from behavioral and bureau data
# Building credit scores from behavioral and bureau data
A lender receives an application at 9:14 AM. By 9:14:03, a model has returned a score, a price, and a decision. Somewhere in those three seconds, dozens of data features were pulled, transformed, and weighted. Let us reconstruct exactly what happened.
The decision we are rebuilding
Imagine "Maya," a 29 year old applying for a $12,000 personal loan. She has a modest credit history: one credit card opened three years ago, no mortgage, one prior auto loan paid off.
The lender's job is to estimate her probability of default (PD), the chance she fails to repay as agreed (often defined as 90+ days past due within 12 to 24 months). That single number drives the approve or decline decision and the interest rate.
To estimate it, the model draws on three data sources. Let us take them one at a time.
Source 1: Bureau data
A credit bureau is a company that aggregates borrowing and repayment records across lenders. In the US the big three are Equifax, Experian, and TransUnion. In most countries one or two dominant bureaus play the same role.
When Maya applies, the lender pulls her credit report and often a bureau score like a FICO or VantageScore. The raw features that matter most:
- Payment history: on-time versus late payments. This is the single heaviest factor in most scores.
- Credit utilization: balances divided by limits. A card at 90% of its limit signals stress.
- Length of history: older accounts reduce uncertainty.
- Credit mix and new inquiries: many recent "hard inquiries" (applications) can indicate someone hunting for credit.
The Consumer Financial Protection Bureau explains what goes into a credit score in plain language, useful for non-specialists.
For Maya, the bureau data is clean but thin. Three years of history and one open card gives the model little to work with. This is the thin-file problem, and we will return to it.
Source 2: Behavioral and transaction data
If Maya banks with the lender, or grants access to her account data, the model sees cash flow, not just credit history.
Open banking, a framework where consumers can permission third parties to access their bank transaction data through secure APIs, made this mainstream. In the UK and EU it is regulated; in the US it is expanding under rules finalized around the CFPB's Section 1033 work.
Transaction data is rich. From a raw feed of debits and credits, analysts engineer features such as:
- Income stability: how regular and how large are inboundinboundA strategy that attracts prospects organically via valuable content (blog, SEO, social) rather than interrupting them.View full definition → deposits.
- Cash flow buffer: typical end of month balance, and how often it approaches zero.
- Discretionary versus committed spend: rent, utilities, and loan payments versus dining and shopping.
- Overdraft frequency: repeated overdrafts are a strong early stress signal.
Here is the kind of feature engineering that turns a raw feed into a model input:
# Monthly net cash flow and overdraft count from a transaction table
monthly = (txns
.assign(month=txns.date.dt.to_period("M"))
.groupby("month")
.agg(inflow=("amount", lambda x: x[x > 0].sum()),
outflow=("amount", lambda x: -x[x < 0].sum()),
min_balance=("running_balance", "min")))
monthly["net_flow"] = monthly.inflow - monthly.outflow
overdraft_months = (monthly.min_balance < 0).sum()For Maya, this data is gold. Even with a thin credit file, twelve months of steady salary deposits and a consistent positive balance tell a strong repayment story that the bureau alone missed.
Source 3: Alternative data
Alternative data means anything predictive that sits outside traditional credit files. Common, defensible examples:
- Rent and utility payments: on-time rent is highly relevant but historically invisible to bureaus. Programs now let consumers add this.
- Telecom and subscription payments: regular payment of recurring bills.
- Cash flow underwriting: the transaction features above, formalized.
Some lenders experiment with riskier signals (device data, shopping behavior). Treat these with caution: they raise fairness and privacy concerns and invite regulatory scrutiny. The value of alternative data is strongest where it captures genuine ability and willingness to pay, like rent history.
🎬 [VIDEO: "How Credit Scores Actually Work" - youtube.com - a clear breakdown of the factors behind bureau scores and why they move]
Combining the features into a model
The lender now has perhaps 50 to 200 engineered features. Two common modeling approaches:
Logistic regression / scorecards. The traditional workhorse. Features are binned and assigned points. Transparent, easy to explain to regulators, and easy to reason about. Still dominant in regulated lending precisely because you can point to every reason.
Gradient boosted trees and ML models. More predictive, especially with rich transaction data. But harder to explain, which matters enormously in credit.
Whatever the model, output is a PD. A simplified scorecard logic looks like this:
- Base points: 600
- On-time payment ratio above 98%: +40
- Utilization under 30%: +30
- Steady salary deposits (12+ months): +35
- Two or more overdrafts last quarter: -25
Maya scores well on cash flow, offsetting her thin bureau file. Approved, at a mid-tier rate.
The thin-file problem
Roughly tens of millions of US adults are credit invisible or unscorable, meaning bureaus lack enough data to generate a score. The CFPB has published research estimating this population runs into the tens of millions.
Thin-file applicants are disproportionately young, recent immigrants, or lower income. A model relying only on bureau data will decline many of them by default, not because they are risky, but because they are unknown.
This is the core business and social case for alternative data: it can safely extend credit to people who are creditworthy but invisible. Cash flow and rent data are the most proven levers.
Fairness constraints reshape the model
Credit models operate under strict anti-discrimination law. In the US, the Equal Credit Opportunity Act (ECOA) prohibits discrimination based on protected characteristics like race, sex, age, and national origin.
Two consequences shape every feature decision:
1. Disparate impact. Even a neutral looking feature can be illegal if it produces worse outcomes for a protected group without business justification. A ZIP code feature, for example, can proxy for race. Modelers test features for this and often remove or constrain them.
2. Adverse action notices. If Maya were declined, ECOA requires the lender to tell her the specific reasons ("high credit utilization," "insufficient deposit history"). This is why explainability is not optional. A black box that cannot produce a valid reason code cannot be deployed in regulated lending.
So fairness work runs alongside modeling: measuring outcome gaps across groups, searching for less discriminatory alternative models that keep accuracy while narrowing gaps, and documenting every choice. The CFPB has stated that adverse action rules apply fully to complex algorithms, including machine learning.
Knowledge check
1. In the context of credit scoring, what does the probability of default (PD) primarily represent?
2. Maya's file is described as 'thin.' Why does a thin credit file create a challenge for the scoring model?
3. Why is credit utilization (balances divided by limits) treated as a meaningful risk signal rather than just a measure of how much someone owes?
4. Select ALL correct answers about what credit bureaus provide to lenders.
Select all the correct answers.
5. Select ALL correct answers about factors that typically weigh on a borrower's credit assessment.
Select all the correct answers.
Putting it back together
Return to Maya at 9:14 AM. Here is the full reconstruction:
1. Bureau pull returns a thin but clean file. On its own, borderline.
2. Open banking feed adds twelve months of steady income and a healthy balance buffer. This raises her score meaningfully.
3. Alternative rent data confirms on-time housing payments.
4. Fairness checks confirm no prohibited features drove the decision, and reason codes are ready if needed.
5. Model outputs a PD low enough to approve, and prices the loan accordingly.
The lesson: modern credit scoring is not one number from one bureau. It is a layered system where transaction and alternative data rescue thin-file applicants, and where fairness and explainability constraints actively shape which features survive.
Key takeaways
- Three data layers drive credit models: bureau (history and utilization), behavioral (cash flow from transactions), and alternative (rent, utilities). Each fills gaps the others leave.
- Thin-file applicants are a feature problem, not a risk problem. Tens of millions of creditworthy people are invisible to bureaus; cash flow and rent data are the most proven ways to score them safely.
- Fairness law reshapes the feature set. ECOA and disparate impact testing can eliminate predictive features (like ZIP code proxies) and force explainable models over black boxes.
- Explainability is a hard requirement, not a nice to have. Adverse action notices mean every decline needs specific, valid reasons, which favors transparent scorecards or well-instrumented ML.
- The score is a probability of default, turned into an approve/decline and a price. Everything upstream exists to estimate that one number more accurately and more fairly.