Crown Castle (CCI) Return on Sales [ROS] (2009 - 2026)
Crown Castle's Return on Sales [ROS] was 46.63% in Q2 2026, down 1.11 percentage points from 47.74% a year earlier but up 0.59 percentage points from the prior quarter.
Crown Castle (CCI) Return on Sales [ROS] (2009 - 2026) Analysis & Trends
On a trailing twelve-month basis, Crown Castle's Return on Sales [ROS] was 47.66% through Jun 30, 2026, down 1.17 percentage points year-over-year; for FY2025, it was 48.66%, up 1.17 percentage points from FY2024.
- Return on Sales [ROS] has now increased for four consecutive years, with a five-year change of +16.76 percentage points (FY2020 to FY2025).
- In earlier years, Return on Sales [ROS] was 47.49% in FY2024 (+3.19 pp), 44.30% in FY2023 (+9.58 pp), 34.71% in FY2022 (+3.15 pp) and 31.56% in FY2021 (-0.34 pp).
- Quarterly Return on Sales [ROS] has moved between 29.15% (Q3 2023) and 50.94% (Q4 2024) over five years.
- Compared with a year earlier, Return on Sales [ROS] has declined for three straight quarters, with an average year-over-year change of +3.20 percentage points over the last eight quarters.
- The best year-over-year quarter for Return on Sales [ROS] over five years was Q3 2024 (a gain of 18.35 percentage points); the worst was Q4 2021 (a drop of 14.06 percentage points).
- Per Business Quant data, CCI's Return on Sales [ROS] in the three quarters before Q2 2026 was 46.04% (Q1 2026), 48.83% (Q4 2025) and 48.97% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | American Tower | 75.57 Bn | 75.31 Bn | 2.72 Bn | 46.15% |
| 2 | Digital Realty Trust | 66.06 Bn | 56.59 Bn | - | 24.28% |
| 3 | Crown Castle | 28.31 Bn | 27.05 Bn | 989.00 Mn | 46.63% |
| 4 | Sba Communications | 16.81 Bn | 16.90 Bn | 539.27 Mn | 49.19% |
| 5 | Lamar Advertising | 12.56 Bn | 12.38 Bn | 422.53 Mn | 33.72% |
| 6 | OUTFRONT Media | 5.05 Bn | 4.82 Bn | 276.40 Mn | 22.22% |
| 7 | Array Digital Infrastructure | 2.97 Bn | 1.87 Bn | 30.57 Mn | 738.42% |
| 8 | IHS Holding | 2.79 Bn | -67.81 Mn | 207.10 Mn | 19.32% |
| 9 | Fermi | 2.57 Bn | 1.71 Bn | - | - |
| 10 | Clear Channel Outdoor Holdings | 1.22 Bn | 503.54 Mn | 241.86 Mn | 20.33% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 46.63% |
| Mar 31, 2026 | 46.04% |
| Dec 31, 2025 | 48.83% |
| Sep 30, 2025 | 48.97% |
| Jun 30, 2025 | 47.74% |
| Mar 31, 2025 | 49.10% |
| Dec 31, 2024 | 50.94% |
| Sep 30, 2024 | 47.50% |
| Jun 30, 2024 | 44.72% |
| Mar 31, 2024 | 46.68% |
| Dec 31, 2023 | 44.30% |
| Sep 30, 2023 | 29.15% |
| Jun 30, 2023 | 35.73% |
| Mar 31, 2023 | 35.42% |
| Dec 31, 2022 | 34.69% |
| Sep 30, 2022 | 34.48% |
| Jun 30, 2022 | 34.20% |
| Mar 31, 2022 | 35.48% |
| Dec 31, 2021 | 31.62% |
| Sep 30, 2021 | 32.51% |
Crown Castle 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=CCI&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "CCI", "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=CCI&period=max&api_key=YOUR_API_KEY");
const data = await res.json();