Calculate the buyback yield, a valuation ratio that measures the net amount of common stock repurchased (net of new shares issued) relative to the company’s market capitalization.

A positive buyback yield means the company is a net repurchaser of its own stock (shareholder-friendly), while a negative buyback yield means the company is a net issuer of new shares (dilutive).

The formula is as follows:

\[\text{Buyback Yield} = - (\text{Common Stock Purchased} + \text{Common Stock Issued}) / \text{Market Capitalization}\]

The buyback yield is net of shares issued, which matters for companies that pay much of their staff in shares: their gross buybacks can be large while the net yield is small, because the buybacks mainly offset the dilution from stock-based compensation. Buybacks are more flexible than dividends and vary with the share price and the cash available, so the yield is best read over several years and added to the dividend yield (get_shareholder_yield).

Also known as: net repurchase yield.

Buyback Yield in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_buyback_yield as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["AZO", "ORLY", "AAPL"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_buyback_yield()

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

How much of their market value did AutoZone, O'Reilly Automotive and Apple return through net share buybacks from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
AAPL 0.0283 0.0421 0.0255 0.0246 0.0222
AZO 0.0668 0.083 0.0712 0.052 0.024
ORLY 0.0511 0.0613 0.0554 0.028 0.0258

Parameters

get_buyback_yield accepts the following parameters.

ParameterTypeDescriptionExample
dilutedboolWhether to use diluted shares in the calculation. Defaults to True.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
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 the trailing twelve months (4 quarters) with quarterly data and single years with annual data.4
Share