Skip to main content
Capital & Safety

Pre-Provision Net Revenue (PPNR): What It Is and Why It Matters

In Q4 2023, a mid-size regional bank reported a net loss after booking a $140 million provision catch-up under the CECL transition. Its pre-provision net revenue that same quarter: $210 …

6 MIN READ

In Q4 2023, a mid-size regional bank reported a net loss after booking a $140 million provision catch-up under the CECL transition. Its pre-provision net revenue that same quarter: $210 million — up 12% year-over-year. Anybody who stopped at the headline loss missed the story entirely.

Pre-provision net revenue is the metric that separates credit-cycle noise from franchise performance. It tells you what a bank’s core operations actually produce before management decides how much to set aside for loan losses. That distinction is worth taking seriously, because the provision is the single most volatile and discretionary item on a bank’s income statement — and it can make a fundamentally sound bank look broken, or a fundamentally broken one look fine.

PPNR as a Percentage of Average Assets — U.S. Banks, 2019–2024

The divergence between PPNR and net income during 2020 is exactly what the metric was designed to show.

Distribution of pre-provision net revenue across U.S. banks
Pre-provision net revenue across U.S. banks - earnings power before credit costs.

What Pre-Provision Net Revenue Actually Measures

The formula is simple:

PPNR = Net Interest Income + Noninterest IncomeNoninterest Expense

That’s it. Total revenue — the spread earned on assets plus fee income — minus overhead. No provision, no taxes, no extraordinary items.

On the call report (FFIEC 031/041/051), the components map directly to Schedule RI. Net interest income is the difference between interest income (RIAD4107) and interest expense (RIAD4073). Total noninterest income is RIAD4079. Noninterest expense is RIAD4093. Pull those four codes and you can compute PPNR for any of the roughly 4,600 FDIC-insured banks filing today. For holding companies, the same logic applies to Schedule HI on the FR Y-9C.

What PPNR excludes — the provision for credit losses (RIAD4230 on Schedule RI) — is the number that generates most of the confusion in bank earnings coverage.

The Provision Problem

Under CECL (ASC 326, adopted by most banks in 2020–2023), banks recognize lifetime expected credit losses the moment a loan is originated, not when it goes bad. That front-loads provisioning in a way that can look alarming on the income statement even when the loan book is performing fine. Add in the fact that reserve releases in benign environments can artificially inflate reported earnings, and you have a line item that tells you a great deal about management’s macro outlook and accounting judgment — but relatively little about the operational health of the bank that quarter.

PPNR sidesteps that entirely. A bank with $17 million of PPNR generates $17 million of pre-credit-cost earnings from its core operations, full stop. Whether the provision is $2 million or $12 million is a separate question about the credit cycle and loss expectations. Mixing the two obscures both.

A Worked Example

Line Item Amount
Net interest income (RIAD4107 − RIAD4073) $34 million
Noninterest income (RIAD4079) $9 million
Total revenue $43 million
Noninterest expense (RIAD4093) $26 million
Pre-provision net revenue (PPNR) $17 million
Provision for credit losses (RIAD4230) $5 million
Pretax income $12 million

In a calm credit environment, most of that $17 million flows through to pretax income. Stress the scenario — say a commercial real estate downturn pushes the provision to $14 million — and pretax income collapses to $3 million, but PPNR hasn’t moved. The franchise still generates $17 million per quarter. That’s the cushion regulators and analysts actually want to know about.

PPNR in Stress Testing

This is where the metric earns its keep in regulatory practice. In DFAST and CCAR, the Fed’s supervisory scenarios model two things separately and then combine them: how much the bank earns through the stress horizon (PPNR) and how much it loses (net charge-offs, provisions). The difference — net of taxes — flows into or out of capital.

A bank with strong PPNR relative to its risk-weighted assets has a natural earnings buffer. It can absorb a heavy provision for several quarters and still avoid a capital breach. A bank with thin PPNR has almost no buffer; losses pass through to capital almost immediately. That asymmetry is exactly what the stress test is designed to expose, and it’s why examiners and bank CFOs track PPNR as carefully as they track the CET1 ratio.

The bank stress testing literature sometimes calls PPNR the “first line of defense” against credit losses. That framing is accurate. Capital is the last line; earnings — specifically pre-provision earnings — is what you lean on first.

How to Use PPNR in Practice

PPNR ROA is the most useful scaling. Raw dollar PPNR is hard to compare across banks of different sizes. Annualized PPNR divided by average assets — call it PPNR ROA — puts everyone on the same footing. Industry median for community banks has historically run around 1.8%–2.2%. A bank consistently below 1.2% is generating thin earnings to absorb any credit stress. A bank running above 2.5% either has an unusually efficient operation or is taking risk somewhere that hasn’t shown up in losses yet.

Decompose before concluding. PPNR changes because revenue went up or down, or because expenses went up or down, or both. A $2 million PPNR improvement driven by a 15 basis point net interest margin expansion is a different story than the same improvement driven by cutting the loan origination team. The efficiency ratio (noninterest expense divided by revenue) sits inside the PPNR calculation and tells you which side is moving.

Watch it alongside the provision, not instead of it. Stable PPNR with a rising provision tells you the credit environment is getting harder but the franchise is holding. Declining PPNR with a stable provision tells you the underlying business is weakening regardless of credit conditions. The two metrics answer different questions; you need both.

Quarter-to-quarter volatility is normal; trend matters. Noninterest income in particular can swing from securities gains, MSR valuations, or one-time items. Look at trailing four-quarter PPNR to get a cleaner read on the underlying run rate.

Pulling PPNR Data with the BankRegAPI

The Schedule RI components are available for every FFIEC filer through the BankRegReports Data API. Here’s a minimal pull using the Python SDK:

from bankregreports import BankReg

brr = BankReg("brr_xxx")

# Pull 8 quarters of Schedule RI income components for a single bank
df = brr.income_statement(
    rssd_id=1132449,   # example: First National Bank
    periods=8
)

# Compute PPNR
df["ppnr"] = (
    df["net_interest_income"]       # RIAD4107 - RIAD4073
    + df["noninterest_income"]      # RIAD4079
    - df["noninterest_expense"]     # RIAD4093
)

df["ppnr_roa"] = df["ppnr"] / df["avg_assets"] * 4  # annualize

print(df[["period", "ppnr", "ppnr_roa", "provision"]].tail(8))

# period       ppnr     ppnr_roa   provision
# 2022Q1   14231000     0.0182      1840000
# 2022Q2   15104000     0.0191      2210000
# 2022Q3   16887000     0.0210      2580000
# 2022Q4   17420000     0.0214      3900000
# 2023Q1   17935000     0.0218      4120000
# 2023Q2   18210000     0.0219      4340000
# 2023Q3   17680000     0.0211      5880000
# 2023Q4   17410000     0.0206      6200000
# → PPNR stable; provision accelerating — classic late-cycle pattern

The full endpoint reference is at api.bankregreports.com/api/v1/docs/.

PPNR vs. Provision — Example Community Bank, 2022Q1–2023Q4

The chart above is the picture worth building for any bank under credit stress review: PPNR as the ceiling, provision as a rising floor, and the gap between them as the quarterly buffer keeping capital intact.

Frequently Asked Questions

What is pre-provision net revenue (PPNR)? Pre-provision net revenue is a bank’s net interest income plus noninterest income, minus noninterest expense — before the provision for credit losses and taxes. It measures what the bank’s core operations earn independent of credit-cost decisions.

How is PPNR calculated? PPNR = Net Interest Income + Noninterest Income − Noninterest Expense. On the FFIEC 031/041/051 call report, the inputs are Schedule RI items RIAD4107, RIAD4073, RIAD4079, and RIAD4093. The provision (RIAD4230) is excluded.

Why exclude the provision for credit losses? The provision is the most volatile and management-discretionary item on the income statement, swinging with both economic outlook and CECL model assumptions. Stripping it out reveals the earning power that exists regardless of where reserve levels sit.

Why does PPNR matter for stress testing? PPNR is the earnings buffer a bank deploys against credit losses before they hit capital. Regulators model it separately from loss rates in DFAST/CCAR precisely because the interaction between pre-provision earnings and net charge-offs determines whether a bank’s capital survives the stress scenario.

What’s the difference between PPNR and net income? Net income is after the provision, taxes, and all other below-the-line items. PPNR is above all of that. In a normal quarter the gap is mostly provision and taxes; in a stress quarter, the provision component can dwarf taxes and make the two numbers look nothing alike.

Where can I find a bank’s PPNR? Schedule RI of the quarterly call report contains all three inputs. BankRegReports computes PPNR and PPNR ROA for every FFIEC filer and benchmarks them against configurable peer groups, with history going back to 2001.


The data referenced in this post is available through the BankRegReports Data API. The BankRegAPI Python SDK (pip install bankregreports) returns clean, UBPR-validated data from FFIEC, FDIC, Federal Reserve, NCUA, and SEC EDGAR in a single call. Get a free API key →