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 66.4M. Gross profit 16.61M. Net profit -4.49M.
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 Q2 '27. Largest Customer 11%. One Customer 11%. Other customers 78%.
Largest CustomerOne 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 Q2 '27. Gross margin 25%. Operating margin -11.5%. Net profit margin -6.8%.
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 2027. Cash 66.1M.
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-03-31: four consecutive quarters unavailable
2025-06-30: four consecutive quarters unavailable
Q1 2026: four consecutive quarters unavailable
Q2 2027: four consecutive quarters unavailable
Earnings period 2025-01-01 to 2025-03-31. Shares as of 2025-03-31: unavailable source shares.
Earnings period 2025-04-01 to 2025-06-30. Shares as of 2025-06-30: unavailable source shares.
Earnings period 2026-01-01 to 2026-04-03. Shares as of 2026-04-03: unavailable source shares.
Earnings period 2026-04-04 to 2026-07-03. Shares as of 2026-07-03: unavailable source shares.
Latest period Q2 2027. .
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-03-31: Security type not verified
2025-06-30: Security type not verified
Q1 2026: Security type not verified
Q2 2027: Security type not verified
Earnings period 2025-01-01 to 2025-03-31. Shares as of 2025-03-31: unavailable source shares.
Earnings period 2025-04-01 to 2025-06-30. Shares as of 2025-06-30: unavailable source shares.
Earnings period 2026-01-01 to 2026-04-03. Shares as of 2026-04-03: unavailable source shares.
Earnings period 2026-04-04 to 2026-07-03. Shares as of 2026-07-03: unavailable source shares.
Latest period Q2 2027. 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 2027. Shares outstanding 30.5M. Class detail unavailable 30.5M.