Intrinsic value is a fundamental concept in finance and investing that represents the true worth or value of an asset, security, or investment, independent of its current market price or prevailing market sentiment. It is a concept often associated with the value investing philosophy, made famous by legendary investors like Benjamin Graham and Warren Buffett. Understanding intrinsic value is crucial for investors looking to make informed decisions about where to allocate their capital.

This functionality uses DCF, or Discounted Cash Flow which is a widely used financial valuation method that allows investors and analysts to estimate the intrinsic value of an investment or business based on its expected future cash flows. It is a fundamental tool in finance and investment analysis, providing a systematic way to assess the present value of future cash flows while considering the time value of money.

The formula is as follows:

\[\text{Cash Flow Projection}_{t} = \text{Cash Flow}_{t-1} \cdot (1 + \text{Growth Rate})\] \[\text{Terminal Value} = \text{Last Cash Flow Projection} \cdot (1 + \text{Perpetual Growth Rate}) / (\text{Weighted Average Cost of Capital} - \text{Perpetual Growth Rate})\] \[\text{Enterprise Value} = \text{Sum of Present Value of Cash Flow Projections} + \text{Terminal Value} / (1 + \text{Weighted Average Cost of Capital}) ^{\text{Periods}}\] \[\text{Equity Value} = \text{Enterprise Value} - \text{Total Debt} + \text{Cash and Cash Equivalents} + \text{Short Term Investments}\] \[\text{Intrinsic Value} = \text{Equity Value} / \text{Weighted Average Shares Diluted}\]

The base cash flow is by default the Free Cash Flow to the Firm (see get_free_cash_flow_to_firm), the cash flow available to both debt and equity holders. That is the cash flow the Weighted Average Cost of Capital discounts into an Enterprise Value, from which the debt is then subtracted.

In a five-year DCF the discounted terminal value is often 60% to 80% of the enterprise value, so the result is driven mostly by the gap between the WACC and the perpetual growth rate. Practitioners therefore show the intrinsic value as a range over several WACC and growth assumptions rather than a single number, and keep the perpetual growth rate at or below long-run nominal GDP growth.

Also known as: DCF, discounted cash flow, fair value, intrinsic value.

Intrinsic Valuation in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_intrinsic_valuation as shown below.

from financetoolkit import Toolkit

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

toolkit.models.get_intrinsic_valuation().xs("Intrinsic Value", level=1)

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

What are Adobe, Salesforce and Intuit worth per share in a discounted cash flow model based on their own growth and cost of capital?

Which returns:

  Periods = 5
ADBE 212.536
CRM 67.9382
INTU 173.485

And the same valuation for every period with historical=True:

toolkit.models.get_intrinsic_valuation(historical=True)
  2021 2022 2023 2024 2025
ADBE 132.425 112.433 102.593 130.005 212.536
CRM 18.2502 11.8861 51.1607 67.9382 nan
INTU 102.101 60.4477 99.9192 97.2924 173.485

Parameters

get_intrinsic_valuation accepts the following parameters.

ParameterTypeDescriptionExample
growth_ratefloat, list or dictThe growth rate to use for the cash flow projections. Can be one number to use for all tickers, or a list or dict that contains a growth rate for each ticker. Defaults to None, which uses the growth the company’s reinvestment - supports (Damodaran): the Reinvestment Rate times the Return on Invested Capital, its reinvestment (NOPAT minus the Free Cash Flow to Firm) per year as a share of its invested capital (equity plus debt) over the data up to the period valued: the latest period, or each period with historical=True.0.03
perpetual_growth_ratefloat, list or dictThe perpetual growth rate to use for the terminal value. Can be one number to use for all tickers, or a list or dict that contains a perpetual growth rate for each ticker. Defaults to None, which uses the company’s growth (as for growth_rate) kept within 0 and the long-run growth rate of 2.5%, and 2.5% where it has none.0.02
weighted_average_cost_of_capitalfloat, list or dictThe weighted average cost of capital used to discount the projected cash flows and to calculate the terminal value. Can be one number to use for all tickers, or a list or dict that contains a weighted average cost of capital for each ticker. Defaults to None, which uses the Weighted Average Cost of Capital of each company of the period valued, calculated over a year (the last 4 quarters with quarterly data, with a beta of their daily returns).0.08
periodsintThe number of periods to use for the cash flow projections. Defaults to 5.10
cash_flow_typestrThe type of cash flow to use for the cash flow projections. Defaults to “Free Cash Flow to Firm”. The other options are “Free Cash Flow” and “Operating Cash Flow” as reported on the cash flow statement; both are after interest, so discounting them at the WACC and subtracting the debt counts the cost of debt twice."Operating Cash Flow"
trailingint | NoneThe number of trailing periods to sum for the base cash flow. When set, uses the sum of the last N periods instead of only the most recent period. Defaults to None, which uses 4 (the trailing twelve months) with quarterly data and the most recent year with yearly data.4
historicalboolWhether to value every period instead of only the most recent one, which gives the intrinsic value per share over time. Each period is valued from the base cash flow ending in it and the cash, debt and shares reported at its end. Defaults to False.False
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
Share