Compare sales with the profit left after direct costs and the profit left after all expenses and taxes.Formula: Gross profit = revenue − cost of revenue
Net income = total income − total expenses
Latest period 2025. Revenue 475.68M. Gross profit 400.5M. Net profit 78.33M.
RevenueGross profitNet profit
See which business lines, products, or regions generate the company’s sales.Formula: Company revenue = Σ(segment revenues) + reconciliation adjustments
Latest period 2025. Professional Services 30.89M. Subscription Services 330.77M. Term Licenses 96.25M. Other Non Recurring 17.77M.
Perpetual Licenses And OtherProfessional ServicesSubscription ServicesTerm LicensesOther Non Recurring
See how much of each dollar of sales remains after direct costs, after running the business, and after all expenses and taxes.Formula: Gross margin = gross profit ÷ revenue × 100%
Operating margin = operating income ÷ revenue × 100%
Net margin = net income ÷ revenue × 100%
Latest period 2025. Gross margin 84.2%. Operating margin 14%. Net profit margin 16.5%.
Gross marginOperating marginNet profit margin
Revenue the company expects from promised goods or services it still needs to deliver under customer contracts.
Latest period 2025. Remaining performance obligations 405.7M.
Remaining performance obligations
See the amounts the company has committed to pay that its balance sheet does not record yet: leases it has signed that have not started, unconditional purchase and other contractual commitments, and the most it could have to pay under guarantees and credit backstops. Amounts are as the filing reports them at each balance-sheet date.Formula: Commitments = leases not yet commenced + purchase & other commitments + maximum guarantee exposure
Latest period 2022. Leases not yet commenced 4.9M.
Leases not yet commencedPurchase & other commitmentsGuarantees & contingent commitments
Compare cash generated by the business, spending on long-lived assets, and what remains afterward.Formula: Free cash flow = operating cash flow − capital expenditures
Compare the company’s cash cushion with its borrowings. Negative net cash means debt is greater than cash.Formula: Net cash = cash − debt
Latest period 2026. Cash 141.3M. Debt 24.6M.
CashDebtNet cash
See how the number of shares changes over time. More shares can mean each existing share owns a smaller slice of the company.Formula: Outstanding shares = issued shares − treasury shares
Share-count growth = (current shares ÷ previous shares − 1) × 100%
Latest period 2026. Shares outstanding 250.8M. Class detail unavailable 250.8M.