Calculate the stock-based compensation (SBC) adjusted free cash flow, which deducts non-cash SBC expenses from free cash flow to give a more conservative view of the cash actually available to shareholders.

Free cash flow already excludes SBC as a cash expense (it is added back in the cash flow from operations), which can overstate the cash available to shareholders. Subtracting SBC treats it as if it were a real cash cost, which is a common quality-of-earnings adjustment, especially for companies that rely heavily on equity compensation.

The formula is as follows:

\[\text{SBC-Adjusted Free Cash Flow} = \text{Free Cash Flow} - \text{Stock Based Compensation}\]

Also known as: SBC-adjusted FCF.

SBC Adjusted Free Cash Flow in Python

get_sbc_adjusted_free_cash_flow is part of the Ratios module of the open-source Finance Toolkit. Install it with:

pip install financetoolkit -U

Then call get_sbc_adjusted_free_cash_flow as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")

sbc_adjusted_fcf = toolkit.ratios.get_sbc_adjusted_free_cash_flow()

Which returns:

  2021 2022 2023 2024 2025
AAPL 8.5047e+10 1.02405e+11 8.8751e+10 9.7119e+10 8.5904e+10
TSLA 1.362e+09 5.992e+09 2.545e+09 1.582e+09 3.395e+09

Parameters

get_sbc_adjusted_free_cash_flow 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.
Share