3M (MMM) Return on Capital Employed [ROCE] (2009 - 2026)
3M (MMM) posted Return on Capital Employed [ROCE] of 19.43% for Q2 2026, up 4.07 percentage points from 15.36% a year earlier and up 2.08 percentage points from the prior quarter.
3M (MMM) Return on Capital Employed [ROCE] (2009 - 2026) Analysis & Trends
For FY2025, 3M's Return on Capital Employed [ROCE] came in at 15.85%, up 1.65 percentage points from FY2024.
- Annual Return on Capital Employed [ROCE] shows a five-year change of -2.97 percentage points (FY2020 to FY2025).
- In prior years, 3M's Return on Capital Employed [ROCE] was 14.20% in FY2024 (+46.37 pp), -32.18% in FY2023 (-43.91 pp), 11.73% in FY2022 (-7.57 pp) and 19.30% in FY2021 (+0.49 pp).
- The Q2 2026 figure stands as the highest quarterly Return on Capital Employed [ROCE] since Q3 2022.
- On a year-over-year basis, Return on Capital Employed [ROCE] increased in seven of the last eight quarters, with an average year-over-year change of +20.39 percentage points.
- The strongest year-over-year quarter for Return on Capital Employed [ROCE] in the past five years was Q3 2024, with a gain of 52.83 percentage points; the weakest was Q3 2023, with a drop of 58.43 percentage points.
- According to Business Quant data, Return on Capital Employed [ROCE] for the three prior quarters was 17.35% (Q1 2026), 16.49% (Q4 2025) and 16.92% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROCE (Qtr) |
|---|---|---|---|---|---|
| 1 | Caterpillar | 376.87 Bn | 348.57 Bn | 7.76 Bn | 22.08% |
| 2 | Amphenol | 208.65 Bn | 203.35 Bn | 3.55 Bn | 23.04% |
| 3 | Deere | 185.97 Bn | 194.73 Bn | 4.66 Bn | - |
| 4 | Eaton | 167.50 Bn | 164.73 Bn | 2.86 Bn | 12.16% |
| 5 | Parker-Hannifin | 122.25 Bn | 120.39 Bn | 2.25 Bn | 18.77% |
| 6 | Vertiv Holdings | 93.95 Bn | 84.57 Bn | 1.23 Bn | 29.36% |
| 7 | Emerson Electric | 88.90 Bn | 81.65 Bn | 2.66 Bn | 14.90% |
| 8 | 3M | 87.39 Bn | 68.85 Bn | 2.68 Bn | 19.43% |
| 9 | Illinois Tool Works | 78.00 Bn | 74.56 Bn | 1.90 Bn | 41.86% |
| 10 | Cummins | 71.32 Bn | 68.45 Bn | 2.47 Bn | 15.98% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 19.43% |
| Mar 31, 2026 | 17.35% |
| Dec 31, 2025 | 16.49% |
| Sep 30, 2025 | 16.92% |
| Jun 30, 2025 | 15.36% |
| Mar 31, 2025 | 16.15% |
| Dec 31, 2024 | 16.56% |
| Sep 30, 2024 | 15.08% |
| Jun 30, 2024 | 0.64% |
| Mar 31, 2024 | -26.17% |
| Dec 31, 2023 | -29.63% |
| Sep 30, 2023 | -37.74% |
| Jun 30, 2023 | -14.88% |
| Mar 31, 2023 | 10.99% |
| Dec 31, 2022 | 11.87% |
| Sep 30, 2022 | 20.69% |
| Jun 30, 2022 | 14.38% |
| Mar 31, 2022 | 18.80% |
| Dec 31, 2021 | 19.07% |
| Sep 30, 2021 | 19.67% |
3M 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=MMM&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-capital-employed-[roce]", "ticker": "MMM", "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=MMM&period=max&api_key=YOUR_API_KEY");
const data = await res.json();