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 Q1 '26. Revenue 6.9M. Gross profit 5.67M. Net profit 3.65M.
RevenueGross profitNet profit
See which business lines, products, or regions generate the company’s sales.Formula: Company revenue = Σ(segment revenues) + reconciliation adjustments
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 Q1 '26. One Customer 10%. Other customers 90%.
One 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 Q1 '26. Gross margin 82.2%. Operating margin 76.5%. Net profit margin 53%.
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
$
Latest period Q1 '26. Operating cash flow -4M.
Operating cash flowCapexFree cash flow
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 1.5M. Debt 585K.
CashDebtNet cash
Profit for each share over the trailing 12 months, adjusted for stock splits.Formula: Earnings available to common shareholders ÷ weighted-average shares
Using split history cached 2026-09-23; assuming no new splits
2025-06-30: four consecutive quarters unavailable
Q1 2026: four consecutive quarters unavailable
Earnings period 2025-04-01 to 2025-06-30. Shares as of 2025-06-30: unavailable source shares.
Earnings period 2026-04-01 to 2026-06-30. Shares as of 2026-06-30: unavailable source shares.
Latest period Q1 2026. .
EPS (TTM)
How much investors pay for each dollar of the company’s yearly earnings. It is not useful when the company has no profit.Formula: Share price ÷ trailing 12-month EPS
Using split history cached 2026-09-23; assuming no new splits
2025-06-30: four consecutive quarters unavailable
Q1 2026: four consecutive quarters unavailable
Earnings period 2025-04-01 to 2025-06-30. Shares as of 2025-06-30: unavailable source shares.
Earnings period 2026-04-01 to 2026-06-30. Shares as of 2026-06-30: unavailable source shares.
Latest period Q1 2026. P/E ratio Missing.
P/E ratio
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 2026. Shares outstanding 487.1M. Class detail unavailable 487.1M.