# How PSI Works
source: https://developer.mastercard.com/open-finance-us/documentation/products/pay/psi-tools/how-psi-works/index.md

PSI offers two regulatory API versions: an [FCRA](https://www.ftc.gov/legal-library/browse/statutes/fair-credit-reporting-act)-compliant version and a non-FCRA version.

Both versions use the same models and return the following:

* **Non-sufficient funds (NSF) score** -- Risk of insufficient funds (R01)
  * Ranging from 0-100, forecasted up to 10 days to predict optimal payment timing
* **Unauthorized return score** -- Risk of unauthorized return (R10)
  * Ranging from 0-100 for the current day

## Choosing a Version {#choosing-a-version}

The FCRA version is required when rejecting transactions using the NSF score, while the Non-FCRA version can be used when timing transactions based on the NSF return days. Both versions support transaction rejection based on the unauthorized return score.

[FCRA Version](https://developer.mastercard.com/open-finance-us/documentation/products/pay/psi-tools/psi-fcra/index.md) -- Use when evaluating transactions based on
non-sufficient funds score \& unauthorized return score.

* Requires that the [customer record](https://developer.mastercard.com/open-finance-us/documentation/customer-records/index.md#customers) has an email address
* Requires you to provide an [FCRA permissible purpose code](https://developer.mastercard.com/open-finance-us/documentation/products/lend/permissible-purpose-codes/index.md) in the API request
* Includes a consumer dispute process (via the [Finicity portal](https://developer.mastercard.com/open-finance-us/documentation/products/pay/psi-tools/psi-fcra/index.md#fcra-requirements-by-participant))
* FCRA-compliant

<br />

[Non-FCRA Version](https://developer.mastercard.com/open-finance-us/documentation/products/pay/psi-tools/psi/index.md) -- Use when evaluating transactions based only on
the unauthorized return score.

* Customer email address is optional
* No dispute process required
* Ideal for fraud mitigation without triggering FCRA compliance obligations

<br />

Both versions use the same non-sufficient funds \& unauthorized
return models for the API response.

## Output Insights {#output-insights}

![](https://static.developer.mastercard.com/content/open-finance-us/uploads/psi/output-insights.svg)

### Interpreting the Scores {#interpreting-the-scores}

Each of the two risk scenarios (Insufficient Funds Insights and
Unauthorized Fraud Insights) is scored on a scale from 0 to 100,
where **higher scores indicate lower risk**.
Tip: Think of it like a school exam -- a higher score is better.

* A score of 100 means that the transaction is highly likely to succeed or that the payment is very likely to be legitimate.
* A score of 5, on the other hand, suggests the transaction is less likely to succeed, either due to non-sufficient funds or potential unauthorized returns.

For example:

* A **non-sufficient funds score of 5** means the account is unlikely to have enough funds to cover the transaction.
* An **unauthorized return score of 5** could mean that the transaction was initiated by a third-party fraudster, or in some cases, by the actual account holder engaging in known first-party fraud.

| Risk Score Value |                                               Meaning                                                |
|------------------|------------------------------------------------------------------------------------------------------|
| 0-10             | **High Risk** - the account has a high risk of insufficient funds or unauthorized fraud return       |
| 11-30            | **Medium Risk** - the account has a moderate risk of insufficient funds or unauthorized fraud return |
| 31-100           | **Low Risk** - the account has a low risk of insufficient funds or unauthorized fraud return         |

Tip: You will receive NSF risk scores for the current day and up to 10 days in the future. Consider settling on the day with the highest NSF score (lowest risk), while factoring in the unauthorized return score.

#### Recommended PSI Score Thresholds for New Partners {#recommended-psi-score-thresholds-for-new-partners}

Your PSI score thresholds determine which transactions are identified as high risk. We recommend starting with a narrower score threshold for both the Non Sufficient Funds and Unauthorized models to focus on higher-risk transactions while also balancing return capture and transaction approvals.

| Threshold |                              Recommendation                               |
|-----------|---------------------------------------------------------------------------|
| **0--5**  | Recommended if your ACH return rate is **below** the NACHA limit (\<15%). |
| **0--10** | Recommended if your ACH return rate is **above** the NACHA limit (\>15%). |

We recommend testing **0--5 for 60 days** and increasing incrementally to 0--10 if additional return capture is needed. Avoid using broader thresholds (such as, 0--30), as this may result in unnecessarily rejecting good transactions.

**Disclaimer:** These are general recommendations based on prior partner performance and backtesting. This may not be optimal for your specific portfolio. If the PSI team has completed a backtest for your organization or provided partner-specific threshold recommendations, **follow those recommendations instead** . Partner-specific thresholds can be refined using [Feedback Loop](https://developer.mastercard.com/open-finance-us/documentation/products/pay/feedback-loop/index.md) data.

## Interpreting the Optional Reason Codes {#interpreting-the-optional-reason-codes}

Reason codes help explain what's driving the non-sufficient funds
`compositeScore` value (this feature is currently only available for the NSF scores).
You can think of reason codes as impact scores showing which factors had the most
influence.

There are 8 possible reason codes:

|  **Reason Code**  |                  **Description**                   |
|-------------------|----------------------------------------------------|
| recentBalance     | Balance trends over a recent time period           |
| balanceHistory    | Balance trends over a complete time period         |
| nsfHistory        | Returns over a complete time period                |
| recentNsfHistory  | Returns over a recent time period                  |
| recurringNsf      | Pattern of repeat behavior for NSF                 |
| spendHistory      | Spend trends over a complete time period           |
| depositHistory    | Deposit trends over a complete time period         |
| transactionAmount | Amount relative to a typical spend for the account |

* Higher reason code values (e.g. 81-100) mean those reasons had a **strong impact** on the overall score.
* These reasons can be **positive or negative** --- meaning that they could either increase or decrease the risk scores.

| Reason Code Value |                                       Meaning                                        |
|-------------------|--------------------------------------------------------------------------------------|
| 0-50              | **Low Influence** - the reason code has low to no influence on the composite score   |
| 51-80             | **Medium Influence** - the reason code has moderate influence on the composite score |
| 81-100            | **High Influence** - the reason code has high influence on the composite score       |

Examples:

![](https://static.developer.mastercard.com/content/open-finance-us/uploads/psi/risk-scores.svg)
