Novartis Ag (NVS) Return on Capital Employed [ROCE] (2009 - 2026)
Novartis Ag (NVS) posted Return on Capital Employed [ROCE] of 19.32% for Q2 2026, down 4.36 percentage points from 23.68% a year earlier and down 1.33 percentage points from the prior quarter.
Novartis Ag (NVS) Return on Capital Employed [ROCE] (2009 - 2026) Analysis & Trends
For FY2025, Novartis Ag's Return on Capital Employed [ROCE] came in at 22.24%, up 2.16 percentage points from FY2024.
- Annual Return on Capital Employed [ROCE] has increased for three consecutive years, with a five-year change of +10.97 percentage points (FY2020 to FY2025).
- In prior years, Novartis Ag's Return on Capital Employed [ROCE] was 20.09% in FY2024 (+8.22 pp), 11.87% in FY2023 (+3.59 pp), 8.28% in FY2022 (-1.82 pp) and 10.10% in FY2021 (-1.18 pp).
- The Q2 2026 figure stands as the lowest quarterly Return on Capital Employed [ROCE] since Q3 2024.
- On a year-over-year basis, Return on Capital Employed [ROCE] increased in six of the last eight quarters, with an average year-over-year change of +3.29 percentage points.
- The strongest year-over-year quarter for Return on Capital Employed [ROCE] in the past five years was Q4 2024, with a gain of 7.38 percentage points; the weakest was Q2 2026, with a drop of 4.36 percentage points.
- According to Business Quant data, Return on Capital Employed [ROCE] for the three prior quarters was 20.65% (Q1 2026), 21.56% (Q4 2025) and 23.78% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROCE (Qtr) |
|---|---|---|---|---|---|
| 1 | Eli Lilly | 1,082.65 Bn | 1,051.23 Bn | 19.71 Bn | 46.74% |
| 2 | Johnson & Johnson | 623.68 Bn | 542.21 Bn | 17.26 Bn | 17.83% |
| 3 | AbbVie | 459.43 Bn | 432.59 Bn | 12.70 Bn | 17.92% |
| 4 | Merck | 354.80 Bn | 309.23 Bn | 12.21 Bn | 6.28% |
| 5 | Novartis Ag | 269.16 Bn | 225.03 Bn | 11.24 Bn | 19.32% |
| 6 | Astrazeneca | 244.40 Bn | 217.97 Bn | 12.86 Bn | 9.54% |
| 7 | Amgen | 220.17 Bn | 175.57 Bn | 7.24 Bn | 16.66% |
| 8 | Gilead Sciences | 183.05 Bn | 157.16 Bn | 6.22 Bn | -5.97% |
| 9 | Pfizer | 160.27 Bn | 107.22 Bn | 10.94 Bn | 11.86% |
| 10 | Vertex Pharmaceuticals | 128.38 Bn | 100.39 Bn | 2.84 Bn | 20.76% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 19.32% |
| Mar 31, 2026 | 20.65% |
| Dec 31, 2025 | 21.56% |
| Sep 30, 2025 | 23.78% |
| Jun 30, 2025 | 23.68% |
| Mar 31, 2025 | 22.79% |
| Dec 31, 2024 | 19.60% |
| Sep 30, 2024 | 18.78% |
| Jun 30, 2024 | 17.17% |
| Mar 31, 2024 | 15.51% |
| Dec 31, 2023 | 12.22% |
| Sep 30, 2023 | 14.09% |
| Jun 30, 2023 | 11.30% |
| Mar 31, 2023 | 10.00% |
| Dec 31, 2022 | 9.70% |
| Sep 30, 2022 | 10.23% |
| Jun 30, 2022 | 11.28% |
| Mar 31, 2022 | 12.29% |
| Dec 31, 2021 | 12.14% |
| Sep 30, 2021 | 12.69% |
Novartis Ag Return on Capital Employed [ROCE] API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=return-on-capital-employed-%5Broce%5D&ticker=NVS&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-capital-employed-[roce]", "ticker": "NVS", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=return-on-capital-employed-%5Broce%5D&ticker=NVS&period=max&api_key=YOUR_API_KEY");
const data = await res.json();