Cloudflare (NET) Return on Sales [ROS] (2018 - 2026)
Cloudflare (NET) recorded Return on Sales [ROS] of -29.55% in Q2 2026, down 16.42 percentage points from -13.13% a year earlier and down 19.86 percentage points from the prior quarter.
Cloudflare (NET) Return on Sales [ROS] (2018 - 2026) Analysis & Trends
On a TTM basis, Cloudflare's Return on Sales [ROS] came in at -14.11% as of Jun 30, 2026, down 4.22 percentage points year-over-year; for FY2025, it was -9.56%, down 0.29 percentage points from FY2024.
- Annual Return on Sales [ROS] has a five-year change of +15.21 percentage points (FY2020 to FY2025).
- Across earlier years, Return on Sales [ROS] came in at -9.27% in FY2024 (+5.03 pp), -14.30% in FY2023 (+6.33 pp), -20.63% in FY2022 (-1.18 pp) and -19.45% in FY2021 (+5.32 pp).
- The Q2 2026 figure is the lowest quarterly Return on Sales [ROS] since Q1 2020.
- On a year-over-year basis, Return on Sales [ROS] rose in five of the last eight quarters, with an average year-over-year change of -0.92 percentage points.
- Peak year-over-year performance for Return on Sales [ROS] in the last five years was a gain of 9.56 percentage points in Q2 2024, against a drop of 16.42 percentage points in Q2 2026 at the low end.
- Per Business Quant, the preceding three quarters came in at -9.69% (Q1 2026), -8.01% (Q4 2025) and -6.67% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Microsoft | 3,833.59 Bn | 3,756.75 Bn | 60.48 Bn | 45.11% |
| 2 | International Business Machines | 212.47 Bn | 163.37 Bn | 9.91 Bn | 15.24% |
| 3 | Cloudflare | 112.40 Bn | 95.93 Bn | 499.52 Mn | -29.55% |
| 4 | Equinix | 99.47 Bn | 88.02 Bn | 1.40 Bn | 25.33% |
| 5 | Nebius | 60.05 Bn | 33.48 Bn | 448.70 Mn | -30.21% |
| 6 | CoreWeave | 48.26 Bn | 35.35 Bn | 1.70 Bn | -1.90% |
| 7 | Verisign | 25.97 Bn | 23.18 Bn | 384.60 Mn | 68.18% |
| 8 | Nutanix | 18.41 Bn | 10.09 Bn | 651.35 Mn | 9.24% |
| 9 | Akamai Technologies | 16.36 Bn | 9.77 Bn | 613.75 Mn | 7.30% |
| 10 | DigitalOcean Holdings | 14.67 Bn | 12.67 Bn | 154.66 Mn | 10.45% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | -29.55% |
| Mar 31, 2026 | -9.69% |
| Dec 31, 2025 | -8.01% |
| Sep 30, 2025 | -6.67% |
| Jun 30, 2025 | -13.13% |
| Mar 31, 2025 | -11.11% |
| Dec 31, 2024 | -7.55% |
| Sep 30, 2024 | -7.16% |
| Jun 30, 2024 | -8.65% |
| Mar 31, 2024 | -14.41% |
| Dec 31, 2023 | -11.82% |
| Sep 30, 2023 | -11.68% |
| Jun 30, 2023 | -18.21% |
| Mar 31, 2023 | -16.29% |
| Dec 31, 2022 | -18.45% |
| Sep 30, 2022 | -18.10% |
| Jun 30, 2022 | -27.52% |
| Mar 31, 2022 | -18.86% |
| Dec 31, 2021 | -21.21% |
| Sep 30, 2021 | -15.37% |
Cloudflare 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=NET&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "NET", "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=NET&period=max&api_key=YOUR_API_KEY");
const data = await res.json();