Canadian National Railway (CNI) FCF Margin (2009 - 2022)
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 (CNI) FCF Margin (2009 - 2022) 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 |
|---|---|
| Sep 30, 2022 | 63.28% |
| Jun 30, 2022 | 55.71% |
| Mar 31, 2022 | 15.37% |
| Dec 31, 2021 | 19.32% |
| Sep 30, 2021 | 91.73% |
| Jun 30, 2021 | 61.26% |
| Mar 31, 2021 | 26.93% |
| Dec 31, 2020 | 17.94% |
| Sep 30, 2020 | 47.13% |
| Jun 30, 2020 | 55.53% |
| Mar 31, 2020 | 37.52% |
| Dec 31, 2019 | 70.76% |
| Sep 30, 2019 | 58.56% |
| Jun 30, 2019 | 62.28% |
| Dec 31, 2018 | 83.53% |
| Jun 30, 2018 | 69.46% |
| Mar 31, 2018 | 36.94% |
| Dec 31, 2017 | 67.79% |
| Sep 30, 2017 | 66.13% |
| Jun 30, 2017 | 88.05% |
Canadian National Railway 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();