Return on Equity (RoE)
Calculate the return on equity (ROE), a profitability ratio that measures how efficiently a company generates profits using its shareholders’ equity.
The return on equity is calculated by dividing the net income by the average shareholders’ equity. Shareholders’ equity represents the residual interest in the assets of a company after deducting liabilities. Note that it is false to take the total assets at the end of the period given that income statements report over the period whereas a balance sheet reports on the period.
ROE provides insight into the company’s ability to generate profits from the investments made by its shareholders. A higher ROE indicates that the company is using its equity effectively to generate higher returns for its shareholders.
The formula is as follows:
\[\text{Return on Equity} = \text{Net Income} / \text{Average Shareholders' Equity} (\text{or Total Equity})\]Also known as: ROE, shareholders equity return, equity profitability.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Return on Equity (RoE) for you. Just ask in plain English.
Calculate the Return on Equity (RoE) in Python
The Return on Equity (RoE) is available in the Ratios module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_return_on_equity as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")
roe_ratios = toolkit.ratios.get_return_on_equity()
Which returns:
| 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|
| AAPL | 1.4744 | 1.7546 | 1.7195 | 1.5741 | 1.7142 |
| TSLA | 0.2002 | 0.3248 | 0.2739 | 0.1039 | 0.0485 |
Parameters
get_return_on_equity 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.
Related Profitability Ratios
The Ratios module page introduces the module, and the sidebar lists all of its functions.