Calculate the cash tax rate, which measures the percentage of pretax income that is actually paid out in cash taxes, as opposed to the accrual-based effective tax rate.

The formula is as follows:

\[\text{Cash Tax Rate} = \text{Income Taxes Paid} / \text{Income Before Tax}\]

The cash tax rate shows the taxes a company actually paid, which can differ for years from the tax expense in the income statement because of deferred taxes, prepayments and settlements of earlier years. Analysts compare it with the effective tax rate to see whether reported earnings rely on taxes that are deferred rather than saved. When the data has no income taxes paid for a year, the rate shows as 0, which should be read as missing, not as a company that paid no tax. A period with zero or negative income before tax has no meaningful tax rate and is NaN.

Also known as: cash effective tax rate.

Cash Tax Rate in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_cash_tax_rate as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["PG", "PEP", "COST"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_cash_tax_rate()

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

What share of their pretax income did Procter & Gamble, PepsiCo and Costco pay in cash taxes from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
COST 0.2286 0.2474 0.2632 0.2381 0.2696
PEP 0.1968 0.2584 0.2218 0.2565 0.3012
PG 0.217 0.2122 0.2331 0.2326 0.2258

Parameters

get_cash_tax_rate 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