J & Friends Holdings (JF) Gross Margin (2017 - 2022)
J & Friends Holdings (JF) recorded Gross Margin of 71.53% in the year ended Dec 31, 2025, up 8.06 percentage points from 63.47% a year earlier.
J & Friends Holdings (JF) Gross Margin (2017 - 2022) Analysis & Trends
Starting with the year ended Dec 31, 2016, J & Friends Holdings' Gross Margin history includes 10 years.
- Annual Gross Margin has a five-year change of +47.08 percentage points (years ended Dec 2020 to Dec 2025).
- The figure for the year ended Dec 31, 2025 is the highest annual Gross Margin in data going back to the year ended Dec 31, 2016.
- Per Business Quant data, JF's Gross Margin was 63.47% in the year ended Dec 31, 2024 (+62.85 pp), 0.62% in the year ended Dec 31, 2023 (-50.88 pp), 51.50% in the year ended Dec 23, 2022 (+3.29 pp) and 48.21% in the year ended Dec 31, 2021 (+23.76 pp).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Gross Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Bryn | 945.00 Bn | 945.00 Bn | - | - |
| 2 | Veeva Systems | 50.88 Bn | 23.12 Bn | 695.95 Mn | 75.00% |
| 3 | Samsara | 24.86 Bn | 21.63 Bn | 392.58 Mn | 77.21% |
| 4 | Ptc | 22.16 Bn | 20.97 Bn | 490.47 Mn | 81.74% |
| 5 | Toast | 18.93 Bn | 11.60 Bn | 516.00 Mn | 27.04% |
| 6 | Trimble | 14.47 Bn | 13.53 Bn | 674.90 Mn | 69.43% |
| 7 | Manhattan Associates | 13.59 Bn | 12.59 Bn | 168.33 Mn | 56.53% |
| 8 | Costar | 13.31 Bn | 7.26 Bn | 728.00 Mn | 78.70% |
| 9 | Bentley Systems | 11.92 Bn | 11.38 Bn | 336.74 Mn | 81.99% |
| 10 | J & Friends Holdings | 15.30 Mn | -204,583.58 | - | - |
Historic Data
| Date | Value |
|---|---|
| Dec 23, 2022 | 51.50% |
| Dec 31, 2019 | 14.08% |
| Sep 30, 2019 | 65.91% |
| Dec 31, 2018 | 59.97% |
| Sep 30, 2018 | 50.99% |
| Dec 31, 2017 | 36.50% |
| Sep 30, 2017 | 33.11% |
J & Friends Holdings Gross Margin 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=gross-margin&ticker=JF&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-margin", "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=gross-margin&ticker=JF&period=max&api_key=YOUR_API_KEY");
const data = await res.json();