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 Q2 '27. Revenue 163.3M. Gross profit 127.1M. Net profit 33.9M.
RevenueGross profitNet profit
See which business lines, products, or regions generate the company’s sales.Formula: Company revenue = Σ(segment revenues) + reconciliation adjustments
Latest period Q2 '27. Licensing 22.1M. Secure Communication 60.9M. QNX 80.3M.
EMEANorth AmericaOther RegionsLicensing And OtherSoftware And ServicesBlack Berry Io TCybersecurityIo TLicensingSecure CommunicationQNX
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 Q2 '20. Customer One 15%. Customer Two 10%. Other customers 75%.
Customer OneCustomer TwoOther 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 Q2 '27. Gross margin 77.8%. Operating margin 20.6%. Net profit margin 20.8%.
Gross marginOperating marginNet profit margin
Revenue the company expects from promised goods or services it still needs to deliver under customer contracts.
Latest period Q2 '27. Remaining performance obligations 128.4M.
Remaining performance obligations
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 2027. Cash 266.2M. Debt 197.1M.
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 may be out of date.
Latest period 2027. Shares outstanding 587M. Class detail unavailable 587M.