// resources — fico 8 reverse-engineered

THE BLACK BOX

How FICO 8 Is Calculated

FICO 8 is the most widely used credit scoring model in the United States, yet its exact formula is a closely guarded trade secret. Scores range from 300 to 850 and influence the interest rates, credit limits, and loan approvals available to hundreds of millions of consumers.

In a remarkable piece of reverse-engineering work, data scientist Michael Fowlie published a study analyzing a large dataset of credit files with known FICO 8 scores. Using ordinary least squares (OLS) regression and machine learning models, he was able to approximate the scoring formula with surprising accuracy — an R-squared of 0.64 and a mean absolute error of just 14 points.

This article summarizes the key findings from that research. It is not the official FICO formula, and it cannot predict your exact score. But it reveals which variables matter, how much they matter, and what a "perfect" credit profile looks like under the hood.


This article is based on the research of Michael Fowlie, published as "Reverse Engineering FICO 8" on Medium. The original article walks through the full methodology, including data collection, feature engineering, and model evaluation.

All code, datasets, and a live API are open-source on GitHub. The FICO 8 estimation API is also publicly available for testing.

GitHub: mfow/fico → Live API →

CreditCookbook is not affiliated with FICO, Michael Fowlie, or the original research. All findings are summarized for educational purposes.


The 5 FICO Factors

FICO publicly discloses the five categories that make up a FICO 8 score and their approximate weights. What they don't disclose is how each category is computed internally or how the sub-calculations combine into the final number.

FactorWeightWhat it measures
Payment History35%Late payments, delinquencies, collections, public records
Amounts Owed30%Utilization ratios, total balances, number of accounts with balances
Length of Credit History15%Age of oldest account, average age of accounts, time since account activity
New Credit10%Hard inquiries, recently opened accounts, time since last inquiry
Credit Mix10%Diversity of account types — revolving, installment, mortgage, auto
35%
Payment History
30%
Amounts Owed
15%
Length of History
10%
New Credit
10%
Credit Mix

The weights are additive, not multiplicative — a perfect payment history does not guarantee a perfect score if utilization is high and credit history is short. The interplay between factors is what the regression and ML models attempted to capture.


Ordinary Least Squares Findings

The first approach was a linear regression — fitting the FICO score as a weighted sum of credit file variables. The model achieved an R-squared of 0.64, meaning it explained 64% of the variance in FICO scores, with a standard deviation of error around 19 points.

While not precise enough to predict an individual's exact score, the regression coefficients reveal the marginal impact of each variable — how many points each factor costs or gains.

Key Coefficients

VariableCoefficientInterpretation
30-day late payment−8 ptsEach 30-day late mark costs ~8 points
120-day late payment−13 ptsEach 120-day late mark costs ~13 points
First delinquency−22 ptsThe first-ever delinquency on file carries the largest single penalty
Recent delinquency−8 ptsA delinquency in the recent past (vs. aged) costs an additional ~8 points
Revolving utilization−1 pt / 3%Every 3% increase in utilization costs ~1 point
Hard inquiries (6 months)−1.1 ptsEach hard inquiry within 6 months costs ~1.1 points
FICO ≈ 720 − 8 × (30-day lates) − 13 × (120-day lates) − 22 × (has first delinquency) − 8 × (has recent delinquency) − 1 × (utilization / 3) − 1.1 × (inquiries in last 6mo) + ... (other terms) R² = 0.64 | σ(error) ≈ 19 pts

What the regression tells us


The ML Model & Five Subscores

Linear regression treats every variable as independent and additive. FICO 8 does not — it uses segmented scorecards and interaction effects. To capture this, the research trained a machine learning model that decomposes the credit file into five subscores, each normalized to a 0.0–1.0 range.

The ML model achieved a mean absolute error of 14 points — meaning that on average, the predicted score was within 14 points of the actual FICO 8 score. This is a meaningful improvement over the OLS model's 19-point standard deviation of error.

Payment History

Captures lates, delinquencies, collections, public records, and their age/recency.

range: 0.0 – 1.0

Indebtedness

Captures utilization, total balances, and proportion of accounts with balances.

range: 0.0 – 1.0

Credit Age

Captures age of oldest account, average age, and time since last activity.

range: 0.0 – 1.0

Pursuit of Credit

Captures hard inquiries, new accounts, and recent credit-seeking behavior.

range: 0.0 – 1.0

Credit Mix

Captures diversity of account types — revolving, installment, mortgage, auto.

range: 0.0 – 1.0

FICO Estimate

Weighted combination of all five subscores, mapped to the 300–850 scale.

MAE: 14 pts

Decision Tree Scorecards

Beyond the regression and ML models, the research identified that FICO 8 uses segmented scorecards — decision-tree-like rules that bucket consumers into segments, each with its own scoring baseline. The same variable can have a very different marginal impact depending on which segment you fall into.

For example, the cost of a new inquiry is higher for someone with a thin file than for someone with a thick file. The penalty for a late payment is steeper for someone with no prior delinquencies than for someone whose file already has several. This is why the linear model only captured 64% of the variance — the other 36% lives in these interaction effects.

The ML model approximated these scorecards by learning the segment boundaries from the data, which is why it achieved a tighter error band (14 points vs. 19 points).


Key Balance & Limit Thresholds

The regression and ML analysis surfaced several non-linear thresholds — points where a specific balance or credit limit crosses a boundary and triggers a discrete score change. These are not smooth gradients; they are step functions in the scoring formula.

ThresholdTriggerEffect
$10K avg balanceAverage balance across accounts exceeds $10,000Cutoff — scores above this balance level begin to drop more steeply
$15K revolving limitTotal revolving credit limit crosses $15,000Score boost — higher limits signal trust and lower utilization
$50K revolving limitTotal revolving credit limit crosses $50,000Additional score boost — a second tier of limit benefit
$31K balanceTotal balance crosses $31,000Score drop — a specific penalty band
$50K balanceTotal balance crosses $50,000Further score drop — debt load becomes a stronger negative signal
$100K balanceTotal balance crosses $100,000Most severe balance-related score drop
$39K bankcard limitTotal bankcard (credit card) limit crosses $39,000Score boost — a specific threshold for bankcard-only limits

Practical Takeaway

These thresholds suggest that increasing your credit limits (e.g., requesting CLI increases from existing card issuers) can produce score gains at specific boundaries — particularly at $15K, $39K, and $50K in total revolving/bankcard limits. Conversely, carrying balances above $10K average, $31K total, $50K total, and $100K total triggers discrete penalties. If you're near one of these boundaries, paying down to get under it may produce a larger score jump than the OLS coefficient alone would suggest.


The "Perfect Profile" — FICO 840+

By isolating the credit files that scored 840 or above, the research identified a consistent profile — the shared characteristics of near-perfect FICO 8 scores. This is what the scoring model rewards most heavily.

0

Hard inquiries in the last 6 months

0

Late payments or delinquencies on file

0

Bankruptcies, judgments, or tax liens

10

Average number of open accounts

4.4%

Average revolving utilization rate

24

Total accounts (open + closed)

0

No bankruptcies on file — ever

28 yrs

Average age of oldest account

840+

FICO 8 score range (of 300–850)

What this profile tells us


Caveats & Limitations


Related resources

Legal Glossary

30+ credit & consumer law terms in plain English

Medical Debt Guide

How to remove medical collections from your report

About CreditCookbook

Open-source credit education — no paywall