| EUR millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 426.4 | 470.6 | 513.5 | 534.4 | 540.3 | 601.6 | +11.3% | |
| Cost of revenue | 381.7 | 417.4 | 456.5 | 474.5 | 486.0 | 541.2 | +11.4% | |
| Gross profit | 44.7 | 53.2 | 57.1 | 59.9 | 54.3 | 60.4 | +11.2% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 0.2 | 1.5 | 1.6 | 1.3 | 0.7 | 1.8 | +148.4% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 3.5 | 3.3 | 3.9 | 4.2 | 4.7 | 7.4 | +57.2% | |
| Operating income | 41.2 | 49.9 | 53.2 | 47.4 | 49.6 | 53.0 | +6.8% | |
| Interest expense | 0.6 | 0.5 | 0.5 | 0.8 | 0.9 | 1.6 | +81.8% | |
| Interest income | 0.6 | 0.5 | 0.5 | 0.0 | 0.0 | 0.0 | — | |
| Other income / expense | (0.4) | 0.1 | (0.7) | (4.0) | (0.9) | (2.4) | −171.6% | |
| Pre-tax income | 38.2 | 47.4 | 49.4 | 43.4 | 48.7 | 50.6 | +3.8% | |
| Income tax | 12.0 | 12.9 | 13.8 | 10.0 | 11.1 | 12.4 | +12.4% | |
| Net income | 26.1 | 34.4 | 35.6 | 33.4 | 37.6 | 38.1 | +1.3% | |
| Discontinued operations | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Other net income adjustments | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| EPS, basic (per share) | 1.98 | 2.60 | 2.69 | 2.56 | 2.94 | 3.00 | +2.0% | |
| EPS, diluted (per share) | 1.97 | 2.59 | 2.67 | 2.54 | 2.93 | 2.95 | +0.7% | |
| EBITDA | 46.4 | 55.5 | 57.7 | 48.2 | 57.3 | 61.1 | +6.5% | |
| Depreciation & amortization | 7.6 | 7.6 | 7.8 | 8.0 | 7.7 | 8.1 | +4.6% | |
| Weighted average shares (shares) | 13,193,994 | 13,209,435 | 13,250,487 | 13,055,712 | 12,788,180 | 12,713,548 | −0.6% | |
| Weighted average diluted shares (shares) | 13,246,494 | 13,283,935 | 13,330,487 | 13,129,462 | 12,864,680 | 12,916,048 | +0.4% | |
| Gross margin | 10.5% | 11.3% | 11.1% | 11.2% | 10.1% | 10.0% | −0.0 pts | |
| Operating margin | 9.7% | 10.6% | 10.4% | 8.9% | 9.2% | 8.8% | −0.4 pts | |
| Net margin | 6.1% | 7.3% | 6.9% | 6.3% | 7.0% | 6.3% | −0.6 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.