Vulcan Materials (VMC) Return on Sales [ROS] (2009 - 2026)
Vulcan Materials (VMC) posted Return on Sales [ROS] of 24.01% for Q3 2026, up 0.31 percentage points from 23.70% a year earlier and up 2.88 percentage points from the prior quarter.
Vulcan Materials (VMC) Return on Sales [ROS] (2009 - 2026) Analysis & Trends
For the trailing twelve months through Sep 30, 2026, Return on Sales [ROS] at Vulcan Materials was 20.28%, down 0.54 percentage points year-over-year; for FY2025, it was 20.40%, up 2.00 percentage points from FY2024.
- Annual Return on Sales [ROS] has increased for three consecutive years, with a five-year change of +1.95 percentage points (FY2020 to FY2025).
- In prior years, Vulcan Materials' Return on Sales [ROS] was 18.40% in FY2024 (+0.05 pp), 18.34% in FY2023 (+5.34 pp), 13.01% in FY2022 (-5.20 pp) and 18.21% in FY2021 (-0.24 pp).
- The Q3 2026 figure stands as the highest quarterly Return on Sales [ROS] since Q1 2014.
- On a year-over-year basis, Return on Sales [ROS] increased in five of the last eight quarters, with an average year-over-year change of +1.17 percentage points.
- The strongest year-over-year quarter for Return on Sales [ROS] in the past five years was Q4 2023, with a gain of 9.12 percentage points; the weakest was Q1 2022, with a drop of 13.81 percentage points.
- According to Business Quant data, Return on Sales [ROS] for the three prior quarters was 21.13% (Q2 2026), 15.11% (Q1 2026) and 19.81% (Q4 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Crh Public | 64.41 Bn | 49.96 Bn | 4.42 Bn | 16.64% |
| 2 | Martin Marietta Materials | 37.56 Bn | 35.72 Bn | 651.00 Mn | 18.49% |
| 3 | Amrize | 22.53 Bn | 18.47 Bn | 1.08 Bn | 21.03% |
| 4 | Cemex Sab De Cv | 15.63 Bn | 15.63 Bn | 1.63 Bn | 14.77% |
| 5 | Knife River | 3.32 Bn | 2.84 Bn | 287.60 Mn | 16.79% |
| 6 | Titan America | 2.15 Bn | 1.58 Bn | 103.50 Mn | 13.15% |
| 7 | Cementos Pacasmayo Saa | 1.09 Bn | 872.20 Mn | - | - |
| 8 | Loma Negra Compania Industrial Argentina Sociedad Anonima | 1.02 Bn | 1.02 Bn | - | - |
| 9 | Vulcan Materials | 368.32 Mn | -231.38 Mn | 665.60 Mn | 24.01% |
| 10 | Eagle Materials | 247.76 Mn | -943.87 Mn | 174.73 Mn | 22.64% |
Historic Data
| Date | Value |
|---|---|
| Sep 30, 2026 | 24.01% |
| Jun 30, 2026 | 21.13% |
| Mar 31, 2026 | 15.11% |
| Dec 31, 2025 | 19.81% |
| Sep 30, 2025 | 23.70% |
| Jun 30, 2025 | 22.40% |
| Mar 31, 2025 | 13.85% |
| Dec 31, 2024 | 21.63% |
| Sep 30, 2024 | 16.82% |
| Jun 30, 2024 | 22.52% |
| Mar 31, 2024 | 11.19% |
| Dec 31, 2023 | 20.18% |
| Sep 30, 2023 | 19.16% |
| Jun 30, 2023 | 21.35% |
| Mar 31, 2023 | 11.35% |
| Dec 31, 2022 | 11.06% |
| Sep 30, 2022 | 14.62% |
| Jun 30, 2022 | 15.74% |
| Mar 31, 2022 | 9.54% |
| Dec 31, 2021 | 13.16% |
Vulcan Materials Return on Sales [ROS] 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-sales-%5Bros%5D&ticker=VMC&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "VMC", "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-sales-%5Bros%5D&ticker=VMC&period=max&api_key=YOUR_API_KEY");
const data = await res.json();