Canadian National Railway Co (CNI) FCF Margin (2009 - 2025)
Canadian National Railway (CNI) reported FCF Margin of 35.77% for the quarter ended Dec 31, 2025, up 3.00 percentage points from 32.77% a year earlier.
Canadian National Railway Co (CNI) FCF Margin (2009 - 2025) Analysis & Trends
For the year ended Dec 31, 2025, Canadian National Railway posted FCF Margin of 19.60%, up 1.12 percentage points from the prior year.
- FCF Margin has a five-year change of -4.30 percentage points (years ended Dec 2020 to Dec 2025).
- By year, FCF Margin came in at 18.48% in the year ended Dec 31, 2024 (-3.97 pp), 22.45% in the year ended Dec 31, 2023 (-0.45 pp), 22.90% in the year ended Dec 31, 2022 (-5.29 pp) and 28.18% in the year ended Dec 31, 2021 (+4.29 pp).
- Five-year quarterly FCF Margin spans a low of 15.37% in the quarter ended Mar 31, 2022 and a high of 68.45% in the quarter ended Sep 30, 2021.
- Year over year, FCF Margin gained in three of the last six quarters, with an average year-over-year change of -0.81 percentage points.
- The high point for year-over-year FCF Margin in five years was the quarter ended Sep 30, 2021 (a gain of 52.93 percentage points); the low point was the quarter ended Sep 30, 2022 (a drop of 21.65 percentage points).
Peer Comparison
Historic Data
| Date | Value |
|---|---|
| Dec 31, 2025 | 55.52% |
| Mar 31, 2025 | 38.22% |
| Dec 31, 2024 | 48.28% |
| Jun 30, 2024 | 41.88% |
| Mar 31, 2024 | 39.84% |
| Dec 31, 2023 | 54.99% |
| Sep 30, 2023 | 60.92% |
| Jun 30, 2023 | 48.93% |
| Mar 31, 2023 | 35.15% |
| Dec 31, 2022 | 51.77% |
| Sep 30, 2022 | 63.28% |
| Jun 30, 2022 | 55.71% |
| Mar 31, 2022 | 15.37% |
| Dec 31, 2021 | 74.90% |
| Sep 30, 2021 | 91.73% |
| Jun 30, 2021 | 61.26% |
| Mar 31, 2021 | 26.93% |
| Dec 31, 2020 | 72.86% |
| Sep 30, 2020 | 26.86% |
| Jun 30, 2020 | 55.53% |
Canadian National Railway Co FCF Margin 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=fcf-margin&ticker=CNI&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "fcf-margin", "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=fcf-margin&ticker=CNI&period=max&api_key=YOUR_API_KEY");
const data = await res.json();