J & Friends Holdings (JF) Return on Sales [ROS] (2017 - 2022)
J & Friends Holdings' Return on Sales [ROS] was -96.43% in the year ended Dec 31, 2025, down 55.67 percentage points from -40.76% a year earlier.
J & Friends Holdings (JF) Return on Sales [ROS] (2017 - 2022) Analysis & Trends
From the year ended Dec 31, 2016 onward, J & Friends Holdings has reported Return on Sales [ROS] for 10 years.
- Return on Sales [ROS] shows a five-year change of -41.75 percentage points (years ended Dec 2020 to Dec 2025).
- The figure for the year ended Dec 31, 2025 marks the lowest annual Return on Sales [ROS] since the year ended Dec 31, 2016.
- Per Business Quant data, Return on Sales [ROS] in earlier years was -40.76% in the year ended Dec 31, 2024 (+38.50 pp), -79.26% in the year ended Dec 31, 2023 (-23.71 pp), -55.55% in the year ended Dec 23, 2022 (-14.37 pp) and -41.18% in the year ended Dec 31, 2021 (+13.50 pp).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Bryn | 945.00 Bn | 945.00 Bn | - | - |
| 2 | Veeva Systems | 52.28 Bn | 24.53 Bn | 695.95 Mn | 29.64% |
| 3 | Samsara | 26.29 Bn | 23.06 Bn | 392.58 Mn | 0.96% |
| 4 | Ptc | 21.46 Bn | 20.27 Bn | 490.47 Mn | 27.75% |
| 5 | Toast | 18.88 Bn | 11.55 Bn | 516.00 Mn | 7.97% |
| 6 | Trimble | 14.81 Bn | 13.87 Bn | 674.90 Mn | 13.58% |
| 7 | Manhattan Associates | 13.89 Bn | 12.88 Bn | 168.33 Mn | 22.24% |
| 8 | Costar | 13.74 Bn | 7.71 Bn | 728.00 Mn | 8.22% |
| 9 | Duolingo | 13.38 Bn | 8.55 Bn | 216.74 Mn | 11.37% |
| 10 | J & Friends Holdings | 15.33 Mn | 4.41 Mn | - | - |
Historic Data
| Date | Value |
|---|---|
| Dec 23, 2022 | -58.98% |
| Dec 31, 2019 | -289.13% |
| Sep 30, 2019 | 21.46% |
| Dec 31, 2018 | 36.89% |
| Sep 30, 2018 | 9.73% |
| Dec 31, 2017 | 5.22% |
| Sep 30, 2017 | -5.72% |
J & Friends 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=JF&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "JF", "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=JF&period=max&api_key=YOUR_API_KEY");
const data = await res.json();