> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lendflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Experian BOP Factor Codes

## Experian BOP Factor Codes

This reference consolidates the adverse and positive factor-code content used with [Experian Personal Credit](/api-docs/docs/experian-7). A factor explains why a score was not higher or, for optional VantageScore positive factors, what supported the score. It is not an approval or decline reason by itself.

## How to use factor codes

| Rule | Guidance |
| - | - |
| Keep model context | Interpret a code only with the model that returned it. |
| Preserve ordering | Earlier factors generally had more influence than later factors. |
| Preserve leading zeroes | FICO code `01` is a string identifier, not integer `1`. |
| Recognize positive factors | VantageScore positive codes use the `P` prefix, such as `P03`. |
| Do not infer missing values | An empty factor list does not mean no risk. |

## VantageScore 4.0 adverse factors

| Code | Meaning |
| - | - |
| `3` | Average age of accounts is too recent. |
| `4` | Account balances are too high relative to limits or loan amounts. |
| `5` | Too many recent delinquencies. |
| `6` | Too many accounts were opened recently. |
| `7` | Too many delinquent or derogatory accounts. |
| `8` | Too few accounts were recently paid as agreed. |
| `9` | A delinquent or derogatory account is present. |
| `10` | Too few accounts are paid as agreed. |
| `11` | The oldest account was opened too recently. |
| `12` | Delinquent or derogatory status is too recent. |
| `13` | Balances on delinquent or derogatory accounts are too high. |
| `14` | The proportion of recently opened accounts is too high. |
| `15`–`18` | Recent reporting, total credit, open-account, or account-information history is insufficient. |
| `20`–`29` | Bankcard delinquency, balances, limits, utilization, or account age adversely affected the score. |
| `30`–`44` | Revolving-account availability, age, history, balances, limits, or derogatory status adversely affected the score. |
| `45`–`49` | Retail or revolving payment history is insufficient or balances were not paid down enough. |
| `50`–`58` | Installment-account balances, delinquency, payment history, or available history adversely affected the score. |
| `59` | Retail-card balances are too high relative to limits. |
| `60`–`68` | Real-estate or mortgage balances, delinquency, age, payment history, or available history adversely affected the score. |
| `69` | Too much balance is from loans not secured by real estate. |
| `70`–`78` | Auto-account delinquency, balances, payment history, or available history adversely affected the score. |
| `80`–`82` | Student-loan delinquency, paydown, or recent reporting adversely affected the score. |
| `84` | The number of inquiries affected the score. |
| `85` | Too many inquiries. |
| `86` | Derogatory public records. |
| `87` | Unpaid collections. |
| `88` | Bankruptcy. |
| `90`–`93` | Open revolving or first-mortgage status, derogatory balances, or mortgage paydown adversely affected the score. |
| `96` | Too few open accounts. |
| `97` | Too few accounts. |

Blank legacy entries (`19`, `79`, `83`, `89`, `94`, and `95`) had no published text in the consolidated source and should remain unmapped.

## VantageScore 4.0 positive factors

Positive factors mirror much of the adverse vocabulary with a `P` prefix.

| Codes | Meaning |
| - | - |
| `P03`–`P18` | Account age, balances, payment behavior, limits, or available account information supported the score. |
| `P20`–`P44` | Bankcard and revolving balances, utilization, limits, age, availability, and non-derogatory behavior supported the score. |
| `P45`–`P59` | Retail and installment paydown, payment behavior, and balances supported the score. |
| `P60`–`P69` | Real-estate loan balances, age, paydown, and non-derogatory behavior supported the score. |
| `P70`–`P82` | Auto and student-loan payment, balance, and non-derogatory behavior supported the score. |
| `P85` | Few or no inquiries. |
| `P86` | Few or no derogatory public records. |
| `P87` | Few or no unpaid collections. |
| `P88` | No bankruptcy. |
| `P92`–`P94` | No delinquent or derogatory first-mortgage or revolving account, or strong first-mortgage paydown. |
| `P95`–`P97` | Few recent revolving openings and enough open credit accounts. |

Some positive codes retain insufficient-history wording or had blank legacy text. Interpret the exact returned provider description when present.

## FICO 8, FICO 9, and FICO v2 factors

These models share most of the following two-digit vocabulary.

| Code | Meaning |
| - | - |
| `01` | Amount owed on accounts is too high. |
| `02` | Level of delinquency on accounts. |
| `03` | Too few bank or national revolving accounts. |
| `04` | Too many bank or national revolving accounts. |
| `05` | Too many accounts have balances. |
| `06` | Too many consumer-finance-company accounts. |
| `07` | Account payment history is too new to rate. |
| `08` | Too many inquiries in the last 12 months. |
| `09` | Too many accounts were recently opened. |
| `10` | Revolving balance-to-limit ratio is too high. |
| `11` | Amount owed on revolving accounts is too high. |
| `12` | Revolving accounts have not been established long enough. |
| `13` | Time since delinquency is too recent or unknown. |
| `14` | Accounts have not been established long enough. |
| `15` | Lack of recent bank or national revolving information. |
| `16` | Lack of recent revolving-account information. |
| `17` | No recent non-mortgage balance information. |
| `18` | Number of accounts with delinquency. |
| `19` | Too few accounts are currently paid as agreed. |
| `20` | Time since a derogatory public record or collection is too short. |
| `21` | Amount past due on accounts. |
| `22` | Serious delinquency, derogatory public record, or collection. |
| `24` | No recent revolving balances. |
| `25` | Installment loans have not been established long enough. |
| `26` | Number of revolving accounts. |
| `28` | Number of established accounts. |
| `30` | Time since the most recent account opening is too short. |
| `31` | Too few accounts have recent payment information. |
| `32` | Lack of recent installment-loan information. |
| `33` | Loan balances are too high relative to loan amounts. |
| `34` | Amount owed on delinquent accounts. |
| `36` | Open installment loans have not been established long enough. |
| `37` | Finance-company account count is high relative to credit-history length. |
| `38` | Serious delinquency and a public record or collection. |
| `39` | Serious delinquency. |
| `40` | Derogatory public record or collection; used by FICO 8 and FICO v2. |
| `49` | Derogatory public record or collection; used by FICO 9. |
| `96` | Too many mortgage loans with balances; FICO 9. |
| `98` | Lack of recent auto-loan information. |
| `99` | Lack of recent consumer-finance-company account information. |

## FICO Advanced2 factors

FICO Advanced2 uses alphanumeric codes. The optional FICO mapping identifies the closest standard factor when the source supplied one.

| Advanced code | Meaning | Related FICO code |
| - | - | - |
| `A0` | Account payment history is too new to rate. | `07` |
| `A3` | Amount owed on accounts is too high. | `01` |
| `A6` | Amount owed on delinquent accounts. | `34` |
| `B5` | Amount owed on revolving accounts is too high. | `11` |
| `B6` | Amount past due on accounts. | `21` |
| `D4` | Derogatory public record or collection. | `40` |
| `D6` | Level of delinquency on accounts. | `02` |
| `D7` | Serious delinquency. | `39` |
| `D8` | Serious delinquency and public record or collection. | `38` |
| `F4` | Lack of recent auto-loan information. | `98` |
| `F6` | Lack of recent consumer-finance-company information. | `99` |
| `F7` | Lack of recent installment-loan information. | `32` |
| `G1` | Lack of recent revolving-account information. | `16` |
| `G4` | No recent non-mortgage balance information. | `17` |
| `G6` | No recent revolving balances. | `24` |
| `J4` | Length of installment-loan history. | `25` |
| `J6` | Length of open installment-loan history. | `36` |
| `J9` | Time since account activity is too long. | `12` |
| `K0` | Time since delinquency is too recent or unknown. | `13` |
| `K1` | Time since public record or collection is too short. | `20` |
| `K2` | Time since most recent account opening is too short. | `30` |
| `M1` | Number of accounts with delinquency. | `18` |
| `N0` | Consumer-finance account count relative to history length. | `37` |
| `N2` | Number of established accounts. | `28` |
| `N7` | Number of revolving accounts. | `26` |
| `P5` | Revolving balances relative to limits are too high. | `10` |
| `P9` | Loan balances relative to loan amounts are too high. | `33` |
| `R0` | Too few accounts are currently paid as agreed. | `19` |
| `R2` | Too few accounts have recent payment information. | `31` |
| `R4` | Too few bank or national revolving accounts. | `03` |
| `T0` | Too many accounts were recently opened. | `09` |
| `T1` | Too many accounts have balances. | `05` |
| `T2` | Too many bank or national revolving accounts. | `04` |
| `T3` | Too many consumer-finance-company accounts. | `06` |
| `T5` | Too many inquiries in the last 12 months. | `08` |
| `X0` | Payments due on accounts. | `46` |

Advanced codes without a related FICO code are still valid provider factors. Use the provider's returned description and do not manufacture a numeric mapping.

## FAQ

<AccordionGroup>
  <Accordion title="Why can the same number mean something different across models?">
    Factor dictionaries are model-specific. Always retain the selected `consumerScoreModel` with the score and factors.
  </Accordion>

  <Accordion title="Are P-prefixed codes adverse-action reasons?">
    No. In VantageScore 4.0 they are optional positive score factors describing behavior that supported the score.
  </Accordion>

  <Accordion title="Should I convert factor codes to numbers?">
    No. Store them as strings so leading zeroes and alphanumeric prefixes are preserved.
  </Accordion>

  <Accordion title="What if a returned code is not in this table?">
    Preserve the code and provider description, then confirm it against the provider documentation for the exact model version. Do not apply a description from another model.
  </Accordion>
</AccordionGroup>
