Skip to content
FinObservatory
Model methodsBankingactive

Deposit betas

Bank-level cumulative pass-through from quarterly-average fed funds changes to implied deposit rates across three complete hiking cycles.

Registry slug:
deposit-betas
Visible surface:
/banks/deposit-betas

Data and implementation

Vintage

Deposit rate and product panels each contain 666,701 bank-quarter observations for 10,858 banks from 2001Q1 through 2026Q1; cycle outputs contain 7,396, 5,261, and 4,572 banks, measured 2026-08-30

Data tables

  • data/parquet/deposit_rates.parquet
  • data/parquet/deposit_rates_by_product.parquet
  • data/parquet/deposit_betas.parquet

Engine

    Producer

    scripts/build_deposit_betas.py

    Outputs

    • data/parquet/deposit_rates.parquet
    • data/parquet/deposit_rates_by_product.parquet
    • data/parquet/deposit_betas.parquet

    Source: FFIEC Central Data Repository, public call-report bulk files; Federal Reserve Economic Data (FRED)

    Method

    The producer dequarterizes year-to-date Schedule RI deposit interest expense within each bank-year, pairs each quarterly flow with the average of current and prior quarter-end interest-bearing deposit balances, annualizes it, and stores both raw and bounded implied rates. The same construction is repeated by deposit product using the documented RC-E balance mappings.

    For each complete hiking cycle, a bank must have valid implied rates at both endpoints. Its cumulative beta is the change in that implied rate divided by the change in quarterly-average FRED FEDFUNDS.

    These are implied average rates from public regulatory filings, not posted consumer offers or account-level prices.

    Methodology evidence

    Path and linesEvidence
    scripts/build_deposit_betas.py:72-85Defines dequarterization, the implied-rate construction, cumulative beta, and the three stored cycle endpoints.
    scripts/build_deposit_betas.py:427-533Implements the implied total and product rates, quarterly FEDFUNDS averages, cycle betas, and all three outputs.
    src/app/banks/deposit-betas/methodology/page.tsx:94-184Publishes the FFIEC and FRED sources, filing-item construction, dequarterization, implied-rate equation, product split, and cycle definition.

    Equations

    Implied deposit rateimplied_rate_pct = 100 * 4 * quarterly_deposit_interest_expense / average(current_balance, prior_quarter_balance)
    Cumulative deposit betabeta = (rate_end - rate_start) / (quarterly_average_FEDFUNDS_end - quarterly_average_FEDFUNDS_start)

    Validation

    • deposit_rates.parquet and deposit_rates_by_product.parquet each contain 666,701 bank-quarter rows for 10,858 banks from 2001Q1 through 2026Q1.
    • deposit_betas.parquet contains 7,396 banks for 2004-2006, 5,261 for 2015-2019, and 4,572 for 2022-2023.
    • The producer enforces a JPMorgan dequarterization receipt, product-to-total expense and balance identities, rate drop counts, valid FEDFUNDS endpoints, and atomic writes.

    Limitations

    • Implied rates use expense over average quarter-end balances, not intra-quarter average balances or posted offers, and values outside 0% to 25% are treated as data errors.
    • End-to-end cycle betas hide repricing timing, and cycle distributions exclude banks without valid filings at both endpoints, including institutions that failed or merged mid-cycle.
    • The denominator convention is interest-bearing deposits for the total rate; product rates use total product balances, and the transaction product is a blended funding cost.

    References

    Metadata endpoint

    PathMethodReturnsExample
    /api/methods/[slug]GETRegistry metadata, implementation paths, measured vintage, methodology evidence, validation, and limitations. No model observations or parquet contents./api/methods/deposit-betas
    Last verified 2026-08-30