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 380.4M. Gross profit 310.1M. Net profit 49.77M.
RevenueGross profitNet profit
See which business lines, products, or regions generate the company’s sales.Formula: Company revenue = Σ(segment revenues) + reconciliation adjustments
Enterprise ServicesFinancial Literacy Courses Self OperatedOtherRecreation And Leisure CoursesSkills Upgrading CoursesConsumer Business
See how much of the company’s revenue comes from each customer it reports as 10% or more of revenue. Filings often name these customers only as Customer A, Customer B, and so on.Formula: Customer share = customer revenue ÷ total revenue × 100%
Other customers = 100% − Σ(major customer shares)
Latest period 2021. Customer 10%. Other customers 90%.
CustomerOther customers
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 81.5%. Operating margin 14.6%. Net profit margin 13.1%.
Gross marginOperating marginNet profit margin
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 2025. Cash 115.9M. Debt 1.5M.
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%
Stock split history unavailable.
Latest period Shares as of 2025-06-30. Shares outstanding 164M. Class detail unavailable 164M.