1.86
-6.53%
Close of 6 Nov 2026, in SGD
Search any instrument
Reference data, closing prices and charts across 45,000 companies, plus crypto, commodities and currencies.
At a glance
Figures in USD, from our data supplier.
Revenue
$576.9m
FY2016FY2025
Net income
$36.0m
FY2016FY2025
Free cash flow
$61.1m
FY2016FY2025
Shareholders' equity
$368.0m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $576.9m | $476.3m | $425.7m | $398.4m | $320.1m | $273.0m | $288.6m | $284.3m | $269.4m | $242.2m |
| Gross profit | $193.5m | $144.4m | $141.5m | $118.8m | $93.7m | $104.6m | $111.8m | $110.9m | $103.2m | $87.5m |
| Operating income | $95.0m | $63.6m | $71.4m | $52.8m | $26.1m | $33.5m | $30.4m | $21.3m | $25.4m | $14.5m |
| Net income | $36.0m | $52.5m | $56.5m | $60.1m | $19.5m | $26.8m | $26.1m | $18.1m | $14.1m | $14.5m |
| Diluted earnings per share | 0.07 | 0.10 | 0.11 | 0.11 | 0.04 | 0.05 | 0.05 | 0.05 | 0.04 | 0.04 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $566.3m | $460.1m | $402.9m | $381.5m | $340.0m | $312.6m | $307.6m | $244.7m | $247.2m | $228.7m |
| Cash and short-term investments | — | — | — | — | — | $69.0m | $54.7m | $42.2m | — | $28.6m |
| Total liabilities | $196.0m | $164.0m | $108.4m | $105.9m | $113.5m | $94.6m | $100.7m | $68.4m | $79.8m | $74.9m |
| Debt | $58.5m | $48.7m | $21.4m | $24.8m | $27.4m | $37.9m | $54.8m | $34.1m | $36.3m | $38.9m |
| Shareholders' equity | $368.0m | $293.8m | $295.6m | $276.7m | $227.7m | $218.0m | $206.9m | $176.3m | $167.9m | $153.7m |
| Shares outstanding | 538m | 538m | 538m | 538m | 538m | 537m | 536m | 393m | 393m | 379m |
Cash flow
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $87.1m | $25.5m | $50.6m | $72.8m | $14.7m | $33.4m | $39.3m | $15.1m | $29.8m | $17.7m |
| Capital spending | −$26.0m | −$24.4m | −$13.2m | −$13.8m | −$6.6m | −$9.1m | −$38.1m | −$10.2m | −$6.0m | −$3.8m |
| Free cash flow | $61.1m | $1.1m | $37.4m | $59.0m | $8.1m | $24.2m | $1.2m | $4.9m | $23.9m | $13.9m |
| Dividends paid | −$45.1m | −$39.2m | −$17.3m | −$6.4m | −$8.9m | −$3.8m | −$2.6m | −$2.4m | −$2.3m | −$1,000 |
Latest quarters
By quarter end
| Jun 2025 | Dec 2024 | Jun 2024 | Dec 2023 | Dec 2020 | Jun 2020 | Dec 2019 | Sept 2019 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $274.1m | $251.1m | $225.2m | $227.5m | $140.0m | $132.9m | $73.3m | $76.8m |
| Gross profit | $90.2m | $76.8m | $67.6m | $71.9m | $51.6m | $53.0m | $27.2m | $30.5m |
| Operating income | $42.8m | $35.0m | $28.5m | $36.5m | $16.8m | $16.7m | $5.8m | $9.2m |
| Net income | −$1.5m | $28.9m | $23.6m | $29.8m | $13.4m | $13.4m | $5.0m | $7.9m |
| Diluted earnings per share | -0.00 | 0.05 | 0.04 | 0.06 | 0.02 | 0.02 | 0.01 | 0.01 |
| Cash from operations | — | — | — | — | $9.0m | $7.0m | $14.0m | $10.0m |
| Capital spending | — | — | — | — | −$1.0m | −$2.0m | −$38.0m | −$35.0m |
| Free cash flow | — | — | — | — | $8.0m | $5.0m | −$24.0m | −$25.0m |
| Total assets | $494.2m | $460.1m | $396.4m | $402.9m | $312.6m | $295.1m | $307.6m | $293.3m |
| Cash and short-term investments | — | — | — | — | $69.0m | $46.6m | $54.7m | $44.6m |
| Debt | $56.5m | $48.7m | $15.6m | $21.4m | $37.9m | $37.1m | $54.8m | $51.8m |
| Shareholders' equity | $311.0m | $293.8m | $277.7m | $295.6m | $218.0m | $205.6m | $206.9m | $199.4m |
Financial ratios
Data as of 4 Nov 2026
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 33.5% | 30.3% | 33.2% | 29.8% | 29.3% | 38.3% | — | — | — | — |
| Operating margin | 11.4% | 14.6% | 17.9% | 13.2% | 7.9% | 12.4% | — | — | — | — |
| Net margin | 6.2% | 11.0% | 13.3% | 15.1% | 6.1% | 9.8% | — | — | — | — |
| Return on equity | 9.8% | 17.9% | 19.1% | 21.7% | 8.6% | 12.3% | — | — | — | — |
| Return on assets | 6.4% | 11.4% | 14.0% | 15.8% | 5.7% | 8.6% | — | — | — | — |
| Free cash flow yield | — | — | — | — | 2.0% | 3.9% | 7.2% | 3.2% | 4.5% | 2.8% |
| Revenue growth | 21.1% | 11.9% | 6.9% | 24.5% | 17.3% | -5.4% | — | — | — | — |
| Earnings growth | -31.5% | -7.0% | -6.0% | 208.2% | -27.2% | 2.6% | — | — | — | — |
| Current ratio | 3.23x | 3.08x | 3.36x | 3.40x | 2.36x | 2.89x | — | — | — | — |
| Debt to equity | 0.16x | 0.17x | 0.07x | 0.09x | 0.12x | 0.16x | — | — | — | — |
| Equity ratio | 65.0% | 63.9% | 73.4% | 72.5% | 67.0% | 69.7% | — | — | — | — |
| Interest coverage | 11.16x | 16.38x | 21.49x | 24.42x | 17.59x | 36.53x | — | — | — | — |
| Buybacks as a share of market value | — | — | — | — | -0.2% | -0.0% | -36.3% | -0.2% | -3.8% | — |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 13.1% | 16.1% | 9.5% |
| Operating income | 21.6% | 23.2% | — |
| Net income | -15.7% | 6.1% | 67.3% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 32.1% | 31.9% | 32.2% | 34.1% |
| Operating margin | 15.1% | 15.1% | 13.9% | 11.4% |
| Net margin | 8.4% | 10.9% | 10.2% | 8.6% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | |
|---|---|---|---|---|---|---|
| Price to earnings | 28.2 | 8.0 | 8.5 | 4.5 | 16.7 | 10.2 |
| Price to sales | 1.8 | 0.9 | 1.1 | 0.7 | 1.0 | 1.0 |
Dividends and splits
Per share, in the currency the company pays
Paid for 9 years. Last went ex-dividend on 1 Sept 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.09 | 0.09 | 0.05 | 0.044 | 0.016 | 0.022 | 0.01 | 0.007 |
- 6-for-5 split · 3 Jun 2008
Sources and methodology
- Data on this tab
- Our data supplier
- Chart on the Overview
- TradingView
Nothing here is investment advice. Prices can be delayed or wrong, so check with the exchange before relying on them. Data for this page. How we cover markets.