Deposit Beta & Cost of Funds: What Bank Analysts Actually Measure
Between Q1 2022 and Q4 2023, the Fed funds target rate rose 525 basis points. The median community bank saw its cost of funds climb roughly 180 basis points over …
Between Q1 2022 and Q4 2023, the Fed funds target rate rose 525 basis points. The median community bank saw its cost of funds climb roughly 180 basis points over the same stretch — a deposit beta near 34%. But that median hides a wide distribution. Some banks ended the cycle with betas below 20%; others crossed 60%. The difference wasn’t rate luck. It was deposit franchise quality, and it showed up directly in net interest margin.
Deposit beta and cost of funds are the two metrics that explain that spread. This post covers what they measure, how to calculate them from call report data, and what actually drives the numbers.

What Cost of Funds Actually Measures
Cost of funds is simple in concept: total interest expense divided by average interest-bearing liabilities. It is the weighted-average rate a bank pays on the money it uses to fund itself.
Cost of Funds = Total Interest Expense ÷ Average Interest-Bearing Liabilities
On the FFIEC 041/031 call report, total interest expense is RIAD4073. Average interest-bearing liabilities requires averaging Schedule RC balances across the period — RCON2NOW (interest-bearing deposits) plus RCONB993 (FHLB advances) plus other borrowed funds. The UBPR surfaces this as a precomputed ratio in section 4, so you don’t have to rebuild it from scratch, but knowing the source codes matters when you’re reconciling numbers.
Not all funding costs the same. Non-interest-bearing demand deposits — RCON2210 — are free money. A business checking account that’s been at the same bank for fifteen years costs nothing. At the other end, brokered CDs (RCON2365) and FHLB advances price at or near wholesale rates; you’re paying the market. The blend determines everything.
A bank with 30% of its liabilities in non-interest-bearing deposits and the rest in stable core accounts can run a cost of funds well below 1% even in a 5% rate environment. A bank that grew fast by pricing CDs aggressively or leaning on wholesale funding will be paying 3%+ for the same period. That gap — sustained across quarters — is the difference between a bank that earns through a rate cycle and one that just survives it.
Deposit Beta: Measuring Rate Pass-Through
Deposit beta answers a specific question: when market rates move, how much of that movement shows up in what the bank pays depositors?
Deposit Beta = Change in Deposit Rate ÷ Change in Market Rate
If the Fed raises 100 basis points and a bank’s deposit costs rise 35 basis points, the cumulative deposit beta for that move is 35%. Most practitioners calculate this over a full rate cycle rather than quarter to quarter, because the relationship is not linear — betas tend to be low early in a tightening cycle and accelerate as depositors become more rate-aware and competition for balances intensifies.
The metric is not reported anywhere on the call report or the UBPR. You derive it. You need a history of cost of funds — or, more precisely, the cost of interest-bearing deposits — against a benchmark rate (usually Fed funds or SOFR) over the same window. That’s why having clean quarterly cost-of-funds history going back multiple cycles is more useful than any single quarter’s snapshot.
Deposit beta is also not a single number for a bank — it differs by product. Non-interest-bearing checking has a beta near zero (until it doesn’t, and then deposits leave). Savings and money market accounts have moderate betas that move with competition. CDs have high betas almost by definition, since they’re priced explicitly against market rates at issuance. The aggregate reported beta is a weighted average of all of those.
The Worked Math
Two banks, same rate environment:
| Fed funds change | Deposit cost change | Deposit beta | |
|---|---|---|---|
| Bank A | +2.00% | +0.50% | 25% |
| Bank B | +2.00% | +1.40% | 70% |
Bank A’s net interest margin probably widened over that cycle, assuming its assets repriced upward at something close to the full rate move. Bank B’s margin compressed — it kept passing rate increases to depositors to prevent runoff, and whatever it gained on the asset side got eaten.
Over a full 500-basis-point tightening cycle, the cumulative gap in funding costs between these two banks approaches 450 basis points. On a $1 billion balance sheet, that’s roughly $45 million in annual interest expense. Compounded over two or three years, it’s the difference between a 1.2% ROA and a 0.6% ROA.
The funding advantage compounds in another direction too: banks with low deposit betas tend to have more stable deposit bases. The same operational relationships that keep customers from repricing up also keep them from walking out the door in a stress scenario. It’s not a coincidence that the banks that held funding cost discipline in 2022–2023 also showed up with stronger liquidity ratios.
What Determines a Bank’s Deposit Beta
Deposit mix is the biggest factor. A bank whose liabilities are dominated by Schedule RC-E transaction accounts — especially RCON2210, non-interest-bearing demand — starts every rate cycle with a structural advantage. Those balances can’t be repriced upward. The bank’s beta on that slice is zero unless customers leave. A bank running 40%+ of funding in CDs (RCON2604 and related codes on Schedule RC-E) is exposed on both sides: those deposits reprice constantly and customers are explicitly shopping rate.
Operational stickiness. Business operating accounts — where payroll runs, where A/P and A/R flow — are genuinely rate-insensitive up to a point. A CFO might notice when savings rates diverge by 150 basis points, but they won’t move their operating account over 25 basis points if it means re-linking every vendor payment. Consumer checking is somewhat similar. Pure savings and money market accounts, by contrast, are easier to move and customers are more aware of alternatives.
Competition in the market. A bank operating in a two-bank rural market has pricing power that a bank in a major metro can only dream of. In competitive deposit markets, peer pricing sets a floor — you can’t lag by more than some threshold without losing balances.
Cycle stage. Early in a Fed tightening cycle, depositors are often slow to demand higher rates. Betas are suppressed. As the cycle matures, awareness builds, alternatives proliferate (money market funds, Treasury bill ladders, online banks), and betas ratchet up. The Q1 2022 to Q2 2022 window had very low betas; by Q3 2023 banks were competing aggressively.
Brokered and uninsured deposits are worth watching separately. Brokered balances are fully rate-sensitive by design and have essentially no beta compression — they price at the market. A heavy brokered book inflates aggregate deposit beta and also introduces concentration and stability risk.
Pulling the Data from the Call Report
Cost of funds calculation requires two things: interest expense from Schedule RI and average balances from Schedule RC. Both are in every FFIEC 031/041/051 filing.
Key codes: - RIAD4073 — Total interest expense (Schedule RI) - RIAD4508 — Interest on deposits specifically - RCON2210 — Non-interest-bearing demand deposits (free funding) - RCON2215 — Interest-bearing transaction accounts - RCON2604 — Time deposits $250K or less - RCONB993 — FHLB advances - RCON2365 — Brokered deposits
The ratio you want for deposit beta analysis specifically is interest expense on deposits (RIAD4508) divided by average interest-bearing deposits — not total interest expense, which includes borrowings. That isolates deposit pricing behavior from wholesale funding decisions.
from bankregreports import BankReg
client = BankReg("brr_your_key_here")
# Pull quarterly cost of funds for JPMorgan Chase (rssd_id=1120754)
# across the 2020-2024 rate cycle
cof = client.bank.cost_of_funds(
rssd_id=1120754,
start_quarter="2020Q1",
end_quarter="2024Q4"
)
print(cof.head())
# rssd_id report_date cost_of_funds_pct cost_of_deposits_pct ni_bearing_dep_pct
# 1120754 2020-03-31 0.81 0.63 24.3
# 1120754 2020-06-30 0.37 0.21 24.1
# ...
# 1120754 2023-09-30 2.14 1.89 22.8
# 1120754 2024-12-31 1.92 1.71 23.1
BankRegReports pulls this directly from FFIEC call report data, validated against UBPR benchmarks, for every U.S. bank across more than two decades of quarterly filings. The BankRegReports API also surfaces peer group comparisons, so you can see how a given bank’s beta compares to its asset-tier and geographic cohort without building the peer set yourself.

Reading Deposit Beta in Context
A deposit beta isn’t good or bad in isolation — it has to be read against the asset side. A bank with a 50% deposit beta can still expand its margin if its loan portfolio reprices fast enough. Adjustable-rate loans and short-duration securities help here. A bank with 30% deposit beta but a long fixed-rate loan book might actually see margin compression even though it held funding costs down.
ALCO meetings spend a lot of time on this interaction: the asset sensitivity or liability sensitivity of the balance sheet, modeled against rate scenarios, with deposit beta as a key input assumption. Getting that assumption wrong — which happens most often by extrapolating the last cycle’s beta into the next one — produces forecasts that miss by 30–40 basis points on NIM, which is material.
Frequently Asked Questions
What is deposit beta? Deposit beta measures how much of a change in market interest rates a bank passes through to its depositors. It equals the change in the bank’s deposit rate divided by the change in the market rate. A beta of 40% means the bank raised deposit rates 40 basis points for every 100-basis-point rise in market rates.
What is a bank’s cost of funds? Cost of funds is the average interest rate a bank pays on its funding — total interest expense (RIAD4073 on the call report) divided by average interest-bearing liabilities. A lower cost of funds supports a stronger net interest margin and is a durable competitive advantage that compounds across cycles.
Why does a low deposit beta matter? A low deposit beta means the bank holds its funding costs down as market rates rise, protecting margin. It usually reflects a deposit base heavy in operational accounts and stable core relationships — the same deposits that tend to be most stable in a stress scenario.
How does deposit beta affect net interest margin? When rates rise, asset yields increase. If deposit beta is low, funding costs lag asset yields and margin expands. If deposit beta is high, funding costs chase asset yields and margin compresses or stays flat. The asymmetry shows up most clearly when you graph both sides over a full cycle.
What makes a bank’s deposit beta high or low? Deposit mix is the primary driver. Non-interest-bearing checking (RCON2210) and stable operational accounts have betas near zero. CDs (RCON2604) and brokered deposits (RCON2365) have high betas by design. Competition and the stage of the rate cycle amplify or dampen the aggregate.
Where can I find a bank’s cost of funds? It’s calculated from Schedule RI (interest expense) and Schedule RC-E (deposit balances) in the FFIEC 031/041/051 call report, then standardized in the UBPR. BankRegReports displays quarterly cost-of-funds history for every U.S. bank with peer comparisons across multiple rate cycles. The full API spec is at api.bankregreports.com/api/v1/docs/.
The deposit beta story from 2022–2023 isn’t fully written yet. Some of the margin expansion banks enjoyed in 2023 is now reversing as rates ease and deposit repricing works in the other direction. The banks worth watching are the ones whose betas behaved asymmetrically — slow to raise rates on the way up, fast to hold them on the way down. That tells you something about pricing discipline that no single quarter of data can.
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 →