Futu Holdings (FUTU) Return on Sales [ROS] (2018 - 2026)
Futu Holdings' Return on Sales [ROS] came in at 61.99% for Q2 2026, down 0.97 percentage points from 62.96% a year earlier but up 1.71 percentage points from the prior quarter.
Futu Holdings (FUTU) Return on Sales [ROS] (2018 - 2026) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Futu Holdings reported Return on Sales [ROS] of 61.96%, up 6.16 percentage points year-over-year; for FY2025, it came in at 61.63%, up 12.91 percentage points from FY2024.
- Return on Sales [ROS] carries a five-year change of +17.30 percentage points (FY2020 to FY2025).
- Going back by year, Return on Sales [ROS] was 48.72% in FY2024 (-1.31 pp), 50.03% in FY2023 (+3.33 pp), 46.70% in FY2022 (+1.81 pp) and 44.89% in FY2021 (+0.55 pp).
- The five-year range for quarterly Return on Sales [ROS] is 34.97% (Q4 2021) to 64.41% (Q4 2025).
- Year-over-year, Return on Sales [ROS] increased in seven of the last eight quarters, with an average year-over-year change of +7.67 percentage points.
- The fastest year-over-year change in Return on Sales [ROS] over five years came in Q1 2023 (a gain of 15.79 percentage points), and the weakest in Q1 2022 (a drop of 17.17 percentage points).
- Business Quant data shows FUTU's Return on Sales [ROS] at 60.28% (Q1 2026), 64.41% (Q4 2025) and 60.98% (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Cme | 109.59 Bn | 97.93 Bn | - | 65.70% |
| 2 | Bank of New York Mellon | 100.46 Bn | 34.08 Bn | - | 113.77% |
| 3 | Intercontinental Exchange | 97.18 Bn | 90.07 Bn | - | 38.84% |
| 4 | Robinhood Markets | 72.63 Bn | 52.17 Bn | - | 58.57% |
| 5 | Nasdaq | 59.89 Bn | 57.32 Bn | 1.48 Bn | 30.59% |
| 6 | State Street | 45.42 Bn | 45.42 Bn | - | 85.91% |
| 7 | Cboe Global Markets | 36.91 Bn | 27.39 Bn | 712.20 Mn | 39.32% |
| 8 | Interactive Brokers | 34.30 Bn | 10.61 Bn | - | 144.98% |
| 9 | Northern Trust | 31.46 Bn | 31.46 Bn | - | 160.10% |
| 10 | Futu Holdings | 13.68 Bn | 3.38 Bn | 792.50 Mn | 61.99% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 61.99% |
| Mar 31, 2026 | 60.28% |
| Dec 31, 2025 | 64.41% |
| Sep 30, 2025 | 60.98% |
| Jun 30, 2025 | 62.96% |
| Mar 31, 2025 | 57.20% |
| Dec 31, 2024 | 50.02% |
| Sep 30, 2024 | 50.39% |
| Jun 30, 2024 | 47.31% |
| Mar 31, 2024 | 46.01% |
| Dec 31, 2023 | 43.14% |
| Sep 30, 2023 | 49.81% |
| Jun 30, 2023 | 50.63% |
| Mar 31, 2023 | 56.29% |
| Dec 31, 2022 | 49.14% |
| Sep 30, 2022 | 49.68% |
| Jun 30, 2022 | 46.79% |
| Mar 31, 2022 | 40.51% |
| Dec 31, 2021 | 34.97% |
| Sep 30, 2021 | 40.44% |
Futu Holdings 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=FUTU&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "FUTU", "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=FUTU&period=max&api_key=YOUR_API_KEY");
const data = await res.json();