Tax Rate Divergence
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}\]Also known as: cash-accrual tax gap.
Tax Rate Divergence in Python
get_tax_rate_divergence is part of the Ratios module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_tax_rate_divergence as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")
tax_rate_divergences = toolkit.ratios.get_tax_rate_divergence()
Which returns:
| 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|
| AAPL | 0.0994 | 0.0023 | 0.017 | -0.0295 | 0.1706 |
| TSLA | -0.0218 | 0.0052 | 0.6137 | -0.0562 | -0.2696 |
Parameters
get_tax_rate_divergence accepts the following parameters:
- rounding (int, optional): The number of decimals to round the results to. Defaults to 4.
- growth (bool, optional): Whether to calculate the growth of the ratios. Defaults to False.
- lag (int | str, optional): The lag to use for the growth calculation. Defaults to 1.
- standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
- trailing (int): Defines whether to select a trailing period. E.g. when selecting 4 with quarterly data, the TTM is calculated.