Calculate the tax rate divergence, which measures the difference between the cash tax rate and the accrual-based effective tax rate.

A persistently positive divergence indicates the company is paying more in cash taxes than it is recognizing as tax expense (e.g. due to the reversal of deferred tax liabilities), while a persistently negative divergence indicates the opposite and can be a quality-of-earnings red flag if it stems from aggressive tax deferral rather than timing differences.

The formula is as follows:

\[\text{Tax Rate Divergence} = \text{Cash Tax Rate} - \text{Effective Tax Rate}\]

Because the divergence is the cash tax rate minus the effective tax rate, a year without reported income taxes paid shows a divergence equal to minus the effective tax rate (-0.27 against an effective rate of 0.27), so check get_cash_tax_rate for zeros before reading a large negative value as aggressive tax deferral. The measure is unstable when income before tax is small and NaN when it is zero or negative.

Also known as: cash-accrual tax gap.

Tax Rate Divergence in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_tax_rate_divergence as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["AAPL", "HD", "V"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_tax_rate_divergence()

Or, after setting up the Finance Toolkit MCP, ask:

How far did the cash tax rates of Apple, Home Depot and Visa diverge from their effective tax rates from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
AAPL 0.0994 0.0023 0.017 -0.0295 0.1706
HD 0.0092 0.0028 0.0121 -0.0488 0.0216
V -0.0461 0.031 -0.0157 0.067 0.0167

Parameters

get_tax_rate_divergence accepts the following parameters.

ParameterTypeDescriptionExample
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise).2
growthboolWhether to calculate the growth of the ratios. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
compoundboolWhether the growth is the compound annual growth rate over the lag (e.g. lag=5 for the five-year CAGR) instead of the total change. Defaults to False.False
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
trailingintThe number of periods to sum flows (income and cash flow statement items) over, with balance sheet items averaged over the same number of period ends. E.g. 4 with quarterly data gives the trailing twelve months (TTM) and 3 with annual data a three-year cumulative figure. Defaults to None, which uses single-period flows (per quarter and not annualized with quarterly data).4
Share