Ouster [OUST]
Every figure used in this memo, with its filing provenance and its derivation. Nothing here is estimated unless the row says so.
Source hierarchy: XBRL companyfacts for CIK 0001816581 (fetched 2026-07-29) for all statement lines; the
primary HTML documents for narrative, concentration and pro-forma tables; Alpaca SIP daily bars for prices
and volume; Alpaca options snapshots for the chain.
us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax, USD.
| Period | Filed cumulative | Derived quarter | Form / filed |
|---|---|---|---|
| FY2022 | 41,029,000 | 10-K 2023-03-24 | |
| FY2023 | 83,279,000 | 10-K 2024-03-28 | |
| FY2024 | 111,101,000 | 10-K 2025-03-21 | |
| Q1-2025 | 32,632,000 | 32,632,000 | 10-Q 2025-05-09 |
| H1-2025 | 67,681,000 | 35,049,000 | 10-Q 2025-08-11 |
| 9M-2025 | 107,206,000 | 39,525,000 | 10-Q 2025-11-05 |
| FY2025 | 169,384,000 | 62,178,000 (= FY − 9M) | 10-K 2026-03-02 |
| Q1-2026 | 48,578,000 | 48,578,000 | 10-Q 2026-05-05 |
TTM to 2026-03-31 = 35,049 + 39,525 + 62,178 + 48,578 = $185,330,000. Matches the screen exactly. No quarter-skip defect — the Q4 figure is derived as FY minus 9M, which is the correct treatment, and it reconciles.
From the FY2025 10-K MD&A: $22.8m of royalty revenue on long-term IP licence contracts recognised in FY2025, of which $16.1m in Q4-2025 was previously deferred and released when performance-obligation uncertainty was resolved. Quarterly royalty from the 10-Qs: Q1-2025 $1.5m, Q1-2026 $0.3m.
Royalty inside the TTM window (Q2-25 … Q1-26)
= FY2025 royalty − Q1-2025 royalty + Q1-2026 royalty
= 22.8 − 1.5 + 0.3 = $21.6m
Clean TTM revenue = 185.330 − 21.6 = $163.730m
Clean FY2025 = 169.384 − 22.8 = $146.584m
Clean Q4-2025 = 62.178 − 16.1 = $46.078m
Note the residual $6.7m ($22.8m − $16.1m) recognised across Q1–Q3 2025, of which $1.5m is identified in Q1-2025. The remaining ~$5.2m across Q2–Q3 2025 is inside the TTM window and is included in the $21.6m above. This is the least precise number in the memo and it is flagged as such: the quarterly royalty split for Q2 and Q3 2025 is not separately disclosed, so $21.6m is a derived figure with roughly ±$1m of imprecision. It does not change any conclusion (a $1m move shifts the required CAGR by under 0.2pp).
| Measure | Calculation | Result |
|---|---|---|
| Screen's "demonstrated CAGR" | $41.029m (FY2022) → $185.330m over ~3.19y | 60.4% — rejected: crosses the Velodyne merger |
| FY2023 → FY2024 | 83.279 → 111.101 | +33.4% |
| FY2024 → FY2025, as reported | 111.101 → 169.384 | +52.5% |
| FY2024 → FY2025, clean | 111.101 → 146.584 | +31.9% ← used as demonstrated |
| Q1-2026 YoY, as reported | 32.632 → 48.578 | +48.9% |
| Q1-2026 YoY, pro forma for Stereolabs | 34.371 → 50.216 (10-Q pro-forma table) | +46.1% ← corroboration |
| Q4-2025 YoY, as reported | 30.092 → 62.178 | +106.6% |
| Q4-2025 YoY, clean | 30.092 → 46.078 | +53.1% |
| $000 | FY2024 | FY2025 | Q1-2025 | Q4-2025 (derived) | Q1-2026 |
|---|---|---|---|---|---|
| Revenue | 111,101 | 169,384 | 32,632 | 62,178 | 48,578 |
| Gross profit | 40,460 | 83,436 | 13,483 | 37,452 | 20,838 |
| Gross margin | 36.4% | 49.3% | 41.3% | 60.2% | 42.9% |
| Gross margin, clean | 36.4% | 41.4%¹ | 38.5% | 46.3% | 42.5%² |
| Operating income | (104,177) | (73,999) | (23,830) | +904 | (19,212) |
| Operating margin | −93.8% | −43.7% | −73.0% | +1.5% | −39.6% |
| Operating margin, clean | −93.8% | −66.0% | — | −33.0% | — |
| Net loss | (97,045) | (60,377) | (22,017) | +3,985 | (17,465) |
| SBC | 40,459 | 40,824 | 8,498 | 7,271 | 7,494 |
¹ (83,436 − 22,800) / (169,384 − 22,800) = 60,636 / 146,584 = 41.4%. Royalty revenue carries no cost of
revenue, so the full $22.8m comes out of both numerator and denominator. An earlier draft of this memo carried
46.9% here, which implicitly assumed the royalty earned the corporate average margin — it does not. The
error and its correction are recorded in §10 rather than silently overwritten.
² Clean Q1-2026 gross margin = (20,838 − 300) / (48,578 − 300) = 20,538 / 48,278 = 42.5%.
Clean Q1-2025 = (13,483 − 1,500) / (32,632 − 1,500) = 11,983 / 31,132 = 38.5%.
Clean Q4-2025 = (37,452 − 16,100) / (62,178 − 16,100) = 21,352 / 46,078 = 46.3%.
Restated cleanly, because this correction matters:
| FY2024 | FY2025 as reported | FY2025 clean | Q1-2026 clean | |
|---|---|---|---|---|
| Gross margin | 36.4% | 49.3% | 41.4% | 42.5% |
This strengthens the memo's finding. The screen's 49.3% is not merely stale, it is 7.9pp above the clean FY2025 level. And the clean series is 36.4% → 41.4% → 42.5%: gross margin is in fact rising, by about 5pp FY2024→FY2025 and a further 1.1pp into Q1-2026. That is a genuine improvement, and it is the strongest fact available for the bull case — it is stated here against the memo's own direction of travel. What it does not do is reach the screen's 49.3%, and the level is still 6.8pp below where the screen placed it.
The OUST_Research.md §6 statement that the clean gross margin is "flat" is therefore too harsh on the annual
series and correct on the quarterly one: the clean quarterly sequence is 41.3% (Q1-25) → 45.2% → 42.1% →
46.3% (Q4-25 clean) → 42.5% (Q1-26), which is noisy and range-bound at 41–46% with no trend inside the last
five quarters. Both readings are given so the reader can choose; the Quality Criteria call is unchanged, because
neither reading shows a level consistent with the screen's input or a rising quarterly trend.
Derivation of Q4-2025: FY2025 − 9M-2025 on each line. Gross profit 83,436 − 45,984 = 37,452. Operating
income (73,999) − (74,903) = +904. Net income (60,377) − (64,362) = +3,985.
| $000, at | 2024-12-31 | 2025-12-31 | 2026-03-31 |
|---|---|---|---|
| Cash and cash equivalents | 45,542 | 67,413 | 78,720 |
Short-term investments (distinct balance-sheet line; tagged also as DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent) |
126,480 | 141,172 | 94,398 |
| Cash + short-term investments | 172,022 | 208,585 | 173,118 |
| Total debt | 0 | 0 | 0 |
| Operating lease liability — current | — | — | 4,561 |
| Operating lease liability — non-current | — | — | 12,824 |
| Accounts receivable, net | 17,941 | 27,753 | 26,195 |
| Inventory, net | 16,417 | 23,566 | 29,878 |
| Stockholders' equity | 180,911 | 261,738 | 275,621 |
Debt verification, as instructed. Checked LongTermDebt, LongTermDebtCurrent, LongTermDebtNoncurrent,
ConvertibleDebtNoncurrent, ConvertibleNotesPayable, NotesPayableCurrent, SecuredDebtCurrent,
ShortTermBorrowings. All are either absent at 2026-03-31 or zero. The last real borrowing was a $40.0m
facility carried at $40.422m at 2023-09-30 and repaid in FY2023 (RepaymentsOfDebt $43,975,000, FY2023 10-K).
InterestExpenseDebt is 0 for FY2024. Ouster is debt-free. The screen's empty debt list is correct — the
only omission is the $17.385m of operating-lease liabilities, which the same scanner did include for other
names, so the treatment is inconsistent across the universe even though it is defensible here.
Pro-forma net cash used in the valuation:
173,118 cash + short-term investments, 2026-03-31 (filed)
+191,900 net proceeds, 3,621,876 shares, 2026-07-06 (8-K)
−~10,000 estimated Q2-2026 and part-Q3 operating burn at the Q1-2026 rate of $7.3m/qtr [ESTIMATE]
=~355,000 pro-forma net cash
337,615 the same figure net of the $17.385m of operating-lease liabilities
The $10m burn deduction is the only estimate in the net-cash build and it is labelled. ATM proceeds since 2026-05-08 are excluded because they are undisclosed — which biases net cash down and the EV up, i.e. against the name. Stated so the direction of the conservatism is visible.
| $000 | FY2024 | FY2025 | Q1-2025 | Q1-2026 | TTM |
|---|---|---|---|---|---|
| Operating cash flow | (33,694) | (39,956) | (4,879) | (7,281) | (42,358) |
| SBC (non-cash addback) | 40,459 | 40,824 | 8,498 | 7,494 | 39,820 |
TTM OCF = FY2025 (39,956) + Q1-2026 (7,281) − Q1-2025 (4,879) = (42,358).
Runway: $355.0m ÷ $42.4m = 8.4 years at the current burn, before the undrawn ATM and an unlimited S-3ASR.
This is the fact that removes the going-concern case (OUST_Trade_Construction.md §4).
| Date | Cover / outstanding | Weighted-average basic | Source |
|---|---|---|---|
| 2022-11-07 | 184,531,202 (pre-reverse-split) | 181,361,354 (Q3-22) | Q3-2022 10-Q |
| 2023-03-23 | 386,269,049 (pre-split, immediately post-Velodyne) | FY2022 10-K | |
| 2023-05-10 | 38,814,621 (post 1-for-10 reverse split) | 29,411,612 (Q1-23) | Q1-2023 10-Q |
| 2024-03-21 | 40,671,374 | 46,584,479 (FY24) | FY2023 10-K |
| 2025-03-17 | 53,765,990 | FY2024 10-K | |
| 2025-10-29 | 60,005,219 | 57,976,375 (Q3-25) | Q3-2025 10-Q |
| 2026-02-25 | 62,803,991 | 56,334,911 (FY25) | FY2025 10-K |
| 2026-05-01 | 63,672,949 | 61,824,843 (Q1-26) | Q1-2026 10-Q |
| 2026-07-06 | ≥67,294,825 | +3,621,876 per 8-K | |
| authorised | 200,000,000 (was 100,000,000 until 2026-06-17) | 8-K 2026-06-18 |
EPS cross-checks (the instructed control):
Q1-2026: (17,465) / 61,824.843 = (0.2825) vs filed basic (0.28) ✓ match
FY2025: (60,377) / 56,334.911 = (1.0717) vs filed basic (1.07) ✓ match
FY2024: (97,045) / 46,584.479 = (2.0832) vs filed basic (2.08) ✓ match
FY2025 using the screen's 63,672,949: (0.9482) vs filed (1.07) ✗ 11.4% low
Single class of common stock; no dimensional-tagging problem, no dual-class aggregation loss.
Stereolabs SAS — France, vision systems. Closed in Q1-2026.
| Item | $000 |
|---|---|
| Cash consideration | 32,400 |
| Shares issued (1,847,677 at $19.18 on the closing date, of which 1,187,672 in the purchase price) | 22,780 |
Cash acquired, netted in the cash-flow statement (Acquisition of Stereolabs, net of cash acquired) |
(27,493) |
| Goodwill recognised | 38,525 |
| Contract liabilities acquired | 2,279 |
| Indemnified specific tax-loss liabilities (capped at $1.9m) | 6,300 |
Developed-technology intangible valued by relief-from-royalty. Key-employee share awards treated as post-combination compensation, not consideration.
Contribution, from the 10-Q pro-forma table: pro-forma Q1-2026 revenue $50,216 vs reported $48,578 → the acquisition contributed roughly $1.6m of the reported quarter and runs at about $1.7m/quarter. Pro-forma Q1-2025 was $34,371 vs reported $32,632.
Velodyne Lidar — all-stock merger, February 2023. Not separately quantifiable from the filings available here; its footprint is visible in the share count (§5) and in the assumed Amazon warrant for up to 3,263,898 shares, whose vesting is charged as a reduction of revenue.
Implementation identical to assets/reverse_dcf.py:
EV_target = spot × shares − net_cash
EV_model(g) = revenue0 × (1+g)^5 × terminal_margin × exit_multiple / (1 + wacc)^5
solve g by bisection on [−0.50, +2.00]
Terminal value is 100% of modelled EV — Ouster generates no interim free cash flow, so there is no interim
stream to discount. Per criteria.md this makes the reverse DCF mandatory as the primary long-horizon output.
EV_target = 31.30 × 67.294825 − 355.0 = 2,106.3 − 355.0 = $1,751.3m
Central cell, clean revenue base:
g such that 163.730 × (1+g)^5 × 0.15 × 18.0 / 1.12^5 = 1,751.3
(1+g)^5 = 1,751.3 × 1.7623 / (163.730 × 2.70) = 3,086.2 / 442.07 = 6.982
1+g = 6.982^0.2 = 1.4749 → g = 47.5%
Year-5 revenue = 163.730 × 6.982 = $1,143m; year-5 EBIT at 15% = $171m; exit EV at 18x = $3,086m; discounted = $1,751m ✓. Implied year-5 EV/sales = 3,086/1,143 = 2.7x, against 10.7x today — a 4.0x compression.
| Value | Feed | |
|---|---|---|
| Close 2026-07-29 | $31.30 | Alpaca SIP |
| Close 2026-07-28 | $33.91 SIP / $33.88 IEX | the screen used the IEX figure |
| ADV 20-day | 4,286,292 sh · $181.4m | SIP |
| ADV 20-day | 119,282 sh · $5.0m | IEX — 35.9x understated |
| 252-day realised volatility | 104.9% | SIP |
| 52-week high / low | $62.52 / $16.63 | SIP |
| 50-day / 200-day MA | $41.67 / $28.55 | SIP |
| 12-1 momentum | +132.9% | SIP |
| 1-month return | −42.1% | SIP |
Bars from 2021-01-04 (1,398 SIP sessions), split-adjusted.
OUST_Valuation.md §4.OUST_Research.md §5.OUST_Model.xlsx was built. Every derivation that a workbook would contain is written out above and is
reproducible from the filed figures by hand.Recorded rather than silently overwritten, because a caught inconsistency is a first-class output.
| # | Error in the draft | Correct value | Where it propagated | Effect on conclusions |
|---|---|---|---|---|
| 1 | Clean FY2025 gross margin stated as 46.9%, computed by deducting royalty revenue from the numerator only and leaving it in the denominator — i.e. implicitly assuming the $22.8m royalty carried Ouster's corporate average gross margin | 41.4% — royalty revenue has no cost of revenue, so the full $22.8m must come out of both sides | OUST_Research.md §2.5 and §6; OUST_Valuation.md §2 and §3.6; this file §2 |
Material and it cut both ways. The corrected level is 5.5pp lower, which is worse for the name. But computing it correctly across all five quarters revealed a rising clean series — 36.4% → 41.4% FY, 38.5% → 42.5% in the latest quarter, +4–5pp a year — where the draft had asserted the clean margin was "flat at ~43%". That assertion was wrong and is retracted. Consequences: (a) the Quality Criteria gross-margin sub-test is re-scored FAIL on level / PASS on trend rather than a flat "INDETERMINATE-to-weak"; (b) the Valuation Criteria gains a genuine evidenced argument for a higher terminal margin, which narrows the implied-path failure from −15.6pp at a 15% terminal margin to −7.4pp at 20% — the verdict stays FAIL, but by half as much |
| 2 | Probability-weighted 12-month target stated as $25.10 | $23.28 (0.30 × 12.20 + 0.45 × 22.10 + 0.25 × 38.75) |
OUST_Valuation.md §5 header, table and §5.5 |
Arithmetic slip in the weighting, not a change of view. Target moves from −19.8% to −25.6% versus spot |
| 3 | Bear-case multiple of 2.7x described as the 25th percentile of the own-multiple history | 30th percentile (3 of 10 observations below it) | OUST_Valuation.md §5.3 |
Presentational only |
| 4 | TTM operating loss stated as −$66.9m | −$69.4m (−73,999 − 19,212 + 23,830) |
OUST_Research.md §6 accruals row |
Immaterial to the accruals conclusion — operating cash burn of $42.4m is still well below the accounting loss |
The general lesson from error 1, for the framework: when a one-off revenue item is stripped out, it must be stripped from every line it touched, at its own margin — not at the company's average margin. A zero-cost revenue item removed from the numerator alone flatters the cleaned gross margin, and does so in the direction that makes the cleaning look less consequential than it is. This is the same class of failure as reading acquisition growth as organic: an adjustment applied to one line and not to its counterpart.