Canadian National Railway Co (CNI) Cash from Operations (2009 - 2025)
Canadian National Railway's Cash from Operations was $1.6 billion in the quarter ended Dec 31, 2025, up 11.8% from $1.43 billion a year earlier.
Canadian National Railway Co (CNI) Cash from Operations (2009 - 2025) Analysis & Trends
For the year ended Dec 31, 2025, Cash from Operations at Canadian National Railway came in at $5.05 billion, up 3.1% from the prior year.
- Cash from Operations shows a five-year compound annual growth rate of 1.9% (years ended Dec 2020 to Dec 2025).
- In earlier years, Cash from Operations was $4.89 billion in the year ended Dec 31, 2024 (-5.2%), $5.16 billion in the year ended Dec 31, 2023 (+0.7%), $5.13 billion in the year ended Dec 31, 2022 (-7.8%) and $5.56 billion in the year ended Dec 31, 2021 (+20.9%).
- Quarterly Cash from Operations has moved between $570 million (the quarter ended Mar 31, 2022) and $2.46 billion (the quarter ended Sep 30, 2021) over five years.
- Compared with a year earlier, Cash from Operations was higher in three of the last six quarters, with growth averaging 0.5%.
- The best year-over-year quarter for Cash from Operations over five years was the quarter ended Sep 30, 2021 (growth of 168.5%); the worst was the quarter ended Mar 31, 2022 (a decline of 40.1%).
Peer Comparison
Historic Data
| Date | Value |
|---|---|
| Dec 31, 2025 | 1.60 Bn |
| Mar 31, 2025 | 1.16 Bn |
| Dec 31, 2024 | 1.43 Bn |
| Jun 30, 2024 | 1.81 Bn |
| Mar 31, 2024 | 1.12 Bn |
| Dec 31, 2023 | 1.77 Bn |
| Sep 30, 2023 | 1.51 Bn |
| Jun 30, 2023 | 1.99 Bn |
| Mar 31, 2023 | 1.06 Bn |
| Dec 31, 2022 | 1.67 Bn |
| Sep 30, 2022 | 2.11 Bn |
| Jun 30, 2022 | 1.71 Bn |
| Mar 31, 2022 | 570.00 Mn |
| Dec 31, 2021 | 2.09 Bn |
| Sep 30, 2021 | 2.46 Bn |
| Jun 30, 2021 | 1.48 Bn |
| Mar 31, 2021 | 952.00 Mn |
| Dec 31, 2020 | 2.01 Bn |
| Sep 30, 2020 | 915.52 Mn |
| Jun 30, 2020 | 1.27 Bn |
Canadian National Railway Co Cash from Operations 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=cash-from-operations&ticker=CNI&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "cash-from-operations", "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=cash-from-operations&ticker=CNI&period=max&api_key=YOUR_API_KEY");
const data = await res.json();