nvidia roic in a bar chart last 5 years

Calling: search_ticker - query="NVIDIA"

Calling: load - tickers=["NVDA"], metrics=["operating_income", "income_tax_expense", "income_before_tax", "total_shareholder_equity", "long_term_debt"], start_date="2021-01-01" DataFrame 99 OK nvda_fundamentals (101 rows)

Calling: compute - dataframe_ids=[99], code="df = df_99[df_99['period_type'] == 'annual'].copy()\ndf['year'] = pd.to_datetime(df['date']).dt.year\ndf = df.sort_values('year')\n\n# Calculate ROIC components\ndf['effective_tax_rate'] = df['income_tax_expense'] / df['income_before_tax']\ndf['nopat'] = df['operating_income'] * (1 - df['effective_tax_rate'])\ndf['invested_capital'] = df['total_shareholder_equity'].fillna(0) + df['long_term_debt'].fillna(0)\n\n# Calculate ROIC as a percentage\ndf['roic_pct'] = (df['nopat'] / df['invested_capital']) * 100\n\n# Keep only the last 5 years\nresult = df.tail(5)\n" DataFrame 100 OK result_100 (5 rows)

Calling: show_chart - chart_type="bar", dataframe_id=100, x="year", title="NVIDIA Return on Invested Capital (ROIC) - Last 5 Years", series=["roic_pct"] Blob 28 DataFrame 100 OK result_100 (5 rows)

Calling: show - rows=5, dataframe_id=100 Blob 29 DataFrame 100 OK result_100 (5 rows)

The table and chart below illustrate NVIDIA's Return on Invested Capital (ROIC) over the last five fiscal years, calculated as NOPAT divided by invested capital (Total Equity + Long-Term Debt).

NVIDIA Annual Return on Invested Capital (ROIC %)

Year ROIC (%)
2022 26.23
2023 13.88
2024 56.41
2025 80.47
2026 67.17

(Note: Data for 2026 reflects fiscal year ending January 31, 2026.)

New