Canadian National Railway Co (CNI) Return on Sales [ROS] (2009 - 2026)
Canadian National Railway (CNI) posted Return on Sales [ROS] of 37.47% for the quarter ended Jun 30, 2026, down 0.87 percentage points from 38.34% a year earlier but up 2.10 percentage points from the prior quarter.
Canadian National Railway Co (CNI) Return on Sales [ROS] (2009 - 2026) Analysis & Trends
For the trailing twelve months through Jun 30, 2026, Return on Sales [ROS] at Canadian National Railway was 37.55%, up 0.27 percentage points year-over-year; for the year ended Dec 31, 2025, it was 38.07%, up 1.42 percentage points from the prior year.
- Annual Return on Sales [ROS] shows a five-year change of +3.50 percentage points (years ended Dec 2020 to Dec 2025).
- In prior years, Canadian National Railway's Return on Sales [ROS] was 36.65% in the year ended Dec 31, 2024 (-2.55 pp), 39.20% in the year ended Dec 31, 2023 (-0.78 pp), 39.98% in the year ended Dec 31, 2022 (+1.19 pp) and 38.79% in the year ended Dec 31, 2021 (+4.22 pp).
- Quarterly Return on Sales [ROS] has run from a low of 33.09% in the quarter ended Mar 31, 2022 to a high of 42.81% in the quarter ended Sep 30, 2022 over five years.
- On a year-over-year basis, Return on Sales [ROS] increased in four of the last eight quarters, with an average year-over-year change of -0.11 percentage points.
- The strongest year-over-year quarter for Return on Sales [ROS] in the past five years was the quarter ended Sep 30, 2022, with a gain of 5.47 percentage points; the weakest was the quarter ended Sep 30, 2023, with a drop of 4.76 percentage points.
- According to Business Quant data, Return on Sales [ROS] for the three prior quarters was 35.37% (quarter ended Mar 31, 2026), 38.82% (quarter ended Dec 31, 2025) and 38.56% (quarter ended Sep 30, 2025).
Peer Comparison
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 37.47% |
| Mar 31, 2026 | 35.37% |
| Dec 31, 2025 | 38.82% |
| Sep 30, 2025 | 38.56% |
| Jun 30, 2025 | 38.34% |
| Mar 31, 2025 | 36.57% |
| Dec 31, 2024 | 37.36% |
| Sep 30, 2024 | 36.86% |
| Jun 30, 2024 | 35.99% |
| Mar 31, 2024 | 36.39% |
| Dec 31, 2023 | 40.66% |
| Sep 30, 2023 | 38.05% |
| Jun 30, 2023 | 39.44% |
| Mar 31, 2023 | 38.53% |
| Dec 31, 2022 | 42.10% |
| Sep 30, 2022 | 42.81% |
| Jun 30, 2022 | 40.72% |
| Mar 31, 2022 | 33.09% |
| Dec 31, 2021 | 41.73% |
| Sep 30, 2021 | 37.34% |
Canadian National Railway Co 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=CNI&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "CNI", "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=CNI&period=max&api_key=YOUR_API_KEY");
const data = await res.json();