Research and Development Ratio
Calculate the research and development (R&D) intensity ratio, an efficiency ratio that measures how much a company reinvests in research and development relative to its revenue.
This ratio is particularly relevant for comparing companies in technology, pharmaceutical and other innovation-driven industries, where R&D spending is a key driver of future growth.
The formula is as follows:
\[\text{R\&D} \;\text{Intensity Ratio} = \text{Research and Development Expenses} / \text{Revenue}\]R&D intensity is compared within an industry and over time: a falling ratio can mean revenue is growing faster than the research budget, not that research is being cut. Accounting matters across borders, since IFRS requires development costs to be capitalized once a project meets certain criteria while US GAAP expenses nearly all of them, so a company reporting under IFRS can show a lower ratio for the same spending.
Also known as: R&D intensity, R&D to sales ratio.
Research and Development Ratio in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_research_and_development_ratio as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["NVDA", "AMD", "INTC"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.ratios.get_research_and_development_ratio()
Or, after setting up the Finance Toolkit MCP, ask:
How much of their revenue did Nvidia, AMD and Intel spend on research and development from 2021 to 2025?
Which returns:
| 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|
| AMD | 0.1731 | 0.2121 | 0.2589 | 0.2504 | 0.2336 |
| INTC | 0.1922 | 0.278 | 0.2959 | 0.3116 | 0.2606 |
| NVDA | 0.1957 | 0.2721 | 0.1424 | 0.099 | 0.0857 |
Parameters
get_research_and_development_ratio accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise). | 2 |
growth | bool | Whether to calculate the growth of the ratios. Defaults to False. | True |
lag | int | list[int] | The lag to use for the growth calculation. Defaults to 1. | 4 |
compound | bool | Whether 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 |
standardize | bool | Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False. | True |
trailing | int | The 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 |