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 or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_sbc_adjusted_free_cash_flow as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["CRM", "ADBE", "NOW"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_sbc_adjusted_free_cash_flow()

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

How much free cash flow did Salesforce, Adobe and ServiceNow generate after deducting stock-based compensation from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
ADBE 5.824e+09 5.956e+09 5.224e+09 6.04e+09 7.91e+09
CRM 2.504e+09 3.034e+09 6.711e+09 9.251e+09 1.0893e+10
NOW 6.61e+08 7.72e+08 1.1e+09 1.669e+09 2.621e+09

Parameters

get_sbc_adjusted_free_cash_flow 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