GeneDx Holdings [WGS]
Task 2 · WGS_Model.xlsx · six tabs, live formulas · FY2019A–FY2035E
Built 2026-07-27 · notes written 2026-07-29 · investment-memo v1.4.2
Scope note. These notes were written on 2026-07-29 from the workbook and WGS_Valuation.md as they stood on
2026-07-27. No assumption was changed, added or re-run to produce them. Every figure below was re-derived by
independent formula evaluation of the workbook (Python formulas package, which re-parses and re-evaluates every
formula from scratch rather than reading back cached values) and reconciled against the valuation note. All
sixty-odd checked outputs tie exactly. Where a number here is more precise than the valuation note's rounding,
both are stated.
| Tab | Contents | Cells |
|---|---|---|
| Assumptions | Spot, share count, net-cash bridge, WACC build, FY2025A exome/genome base. The single source for every downstream link | A1:B23 |
| Historicals | Filed income statement FY2019A–FY2025A plus Q1-25 and Q1-26, with the discontinuity stated on the tab itself | A1:J20 |
| KPI_ASP | The quarterly volume × ASP bridge and the FY2026 guidance decomposition. The whole thesis lives here | A1:K34 |
| Scenarios | Bull / Base / Bear, each driven off volume × ASP, five forecast years, exit-multiple target | A1:F72 |
| DCF | Ten-year explicit FCF, SBC charged as a real cost, perpetuity terminal | A1:K26 |
| FactorScorecard | Accruals, gross profitability, asset growth — with the distortion warnings carried in-cell | A1:D15 |
The model is deliberately small. It is not a three-statement build: there is no forecast balance sheet, no forecast cash-flow roll and therefore no balance check. That is a design choice with a reason, stated in §7.
Formatting follows the standing convention: the top line of each statement block carries the dollar sign; rows
beneath are plain numbers. Per-share and price cells always carry $.
Per the v1.4.2 rule — a zero balance check verifies internal consistency, not input accuracy — the actual-year
lines are tied to the filed statement, not to internal coherence. The tie-out is asserted on the Historicals
tab itself (rows 19 and 20), not only in prose.
| Line ($000s) | FY2025 filed (10-K, 2026-02-23) | Model Historicals |
FY2024 filed | Model |
|---|---|---|---|---|
| Total revenue | 427,539 | 427,539 ✓ | 305,450 | 305,450 ✓ |
| Cost of services | 129,366 | 129,366 ✓ | 111,053 | 111,053 ✓ |
| Gross profit | 298,173 | 298,173 ✓ | 194,397 | 194,397 ✓ |
| Research and development | 72,026 | 72,026 ✓ | 45,722 | 45,722 ✓ |
| Selling and marketing | 88,405 | 88,405 ✓ | 67,371 | 67,371 ✓ |
| General and administrative | 150,819 | 150,819 ✓ | 104,517 | 104,517 ✓ |
| Loss from operations | (13,077) | (13,077) ✓ | (23,213) | (23,213) ✓ |
| Net loss | (21,021) | (21,021) ✓ | (52,286) | (52,286) ✓ |
Q1-2026 (10-Q, 2026-05-04): Revenue 102,254 ✓ · Gross profit 68,211 ✓ · R&D 19,804 ✓ · SG&A 74,591 ✓ · Impairment 31,287 ✓ · Loss from operations (57,471) ✓ · Net loss (63,316) ✓.
Historicals row 2 carries the instruction in the workbook: "FY2019–FY2022 = Sema4 … FY2023 = transition year …
FY2024–FY2025 = GeneDx continuing operations only. DO NOT TREND ACROSS 2022/2023."
This is enforced, not merely noted. No forecast driver anywhere in the workbook links to a pre-FY2024 cell.
Every Scenarios growth path anchors on Assumptions!$B$20 (FY2025A volume) and Assumptions!$B$23 (FY2025A
revenue) — both FY2025 figures. The FY2019–FY2023 columns exist to be read, and to make the break visible, and
for nothing else. The apparent revenue "decline" from $234.7m (FY2022) to $202.6m (FY2023) is the legacy Sema4
wind-down and the apparent gross-margin "explosion" from −11.4% to +44.4% is a mix change; neither is allowed to
touch a forecast.
Note the FY2019–FY2022 columns carry combined General and administrative (row 10) while FY2023–FY2025 also carry
a separate Selling and marketing (row 9) and an SG&A combined line (row 11). The company's line-item
presentation changed; the model reproduces both presentations rather than forcing one onto the other.
This is the single most important design decision in the model, and it follows directly from what happened.
A conventional model carries a blended revenue growth rate. That model cannot represent 2026Q1, in which exome/genome volume grew +34% while revenue grew +27% — a decoupling that a single growth rate collapses into one number and hides. So every scenario is built as:
E&G revenue = E&G volume × E&G ASP (Scenarios rows 7-8, 29-30, 51-52)
Total revenue = E&G revenue + Other revenue (rows 10, 32, 54)
with volume growth and ASP forecast independently, year by year. The consequence is that the bear case is not "growth is slower"; it is "volume compounds and price does not", which is the actual mechanism.
Other revenue — the shrinking residual of legacy hereditary-cancer and other panels, the Fabric software
business, and episodic biopharma data deals — is entered as a hard dollar figure per year rather than grown off a
rate. It fell from $17.0m (25Q4) to $11.7m (26Q1). Modelling it as a percentage of a growing total would have
made a decaying line grow.
KPI_ASP bridge — the derived series the company does not discloseASP is computed, not disclosed. The company reports E&G revenue and E&G test-result volume every quarter in
the 8-K Item 2.02 exhibit; it has never used the words ASP, average selling price, pricing, denial or
collections in seventeen quarters of releases. Row 8 does the division the company does not do:
| 24Q1 | 24Q4 | 25Q1 | 25Q2 | 25Q3 | 25Q4 | 26Q1 | 26Q2G | |
|---|---|---|---|---|---|---|---|---|
| E&G revenue ($m) | 44.0 | 78.8 | 71.4 | 85.9 | 98.9 | 104.0 | 90.6 | 100 |
| E&G volume (tests) | 16,592 | 20,676 | 20,562 | 23,102 | 25,702 | 27,761 | 27,488 | 30,000 |
| ASP ($/test), row 8 | 2,652 | 3,811 | 3,472 | 3,718 | 3,848 | 3,746 | 3,296 | 3,333 |
| DSO (days), row 10 | — | 36.2 | 47.5 | 42.6 | 48.0 | 56.6 | 67.7 | — |
Re-derived: H8 = $3,847.95, J8 = $3,295.98, J10 = 67.71 days. Peak-to-trough −14.3% in two
quarters.
DSO is computed with actual day-counts per quarter, not a flat 90. Row 10 uses 91 / 91 / 92 / 92 / 90 / 91 /
92 / 92 / 90 days for 24Q1 through 26Q1 respectively (= AR × days ÷ total revenue). On a flat-90 convention the
26Q1 reading would be unchanged at 67.7 but 24Q4's would move; the actual-day convention is used so the trend is
not a calendar artifact. This is the one earnings-quality metric in the whole file untouched by the
discontinuity, the impairment or purchase accounting, which is why it carries the weight it does in Gate 1.
This is the arithmetic the memo turns on, and it uses only company-stated inputs:
| Cell | Line | Value | Input source |
|---|---|---|---|
| B17/B18 | FY2025A E&G revenue / volume | $360.3m / 97,271 | Filed |
| B19 | FY2025A ASP | $3,704.08 | Derived |
| B20/B21 | OLD guide (Feb-26): volume +34%, E&G revenue +34% | 0.34 / 0.34 | Company-stated |
| B22 | OLD implied FY2026 ASP | $3,704.08 — exactly flat | Derived |
| B23/B24 | NEW guide (May-26): volume "at least 30%", E&G revenue "at least 20%" | 0.30 / 0.20 | Company-stated |
| B25 | NEW implied FY2026 ASP | $3,419.15 (−7.7%) | Derived |
| B26/B27 | H1-2026 = Q1 actual + Q2 guided | $190.6m / 57,488 | Actual + company guide |
| B28 | H1-2026 ASP | $3,315.47 | Derived |
| B29/B30 | H2-2026 required to hit the guide | $241.76m / 68,964 | Derived |
| B31 | H2-2026 REQUIRED ASP | $3,505.58 | Derived |
| B32 | Required H2 step-up vs H1 | +5.73% | Derived |
The whole variant is B32. The −12% guidance cut moved volume by 4pp (34% → "at least 30%") and E&G revenue by 14pp (34% → "at least 20%") — essentially the entire cut is price — and the reset guide still embeds a +5.7% H2 ASP recovery for which no mechanism has been stated in the release, the 10-Q, or any subsequent 8-K. If H2 ASP simply equals H1 ASP, FY2026 revenue lands near $467m, below the $475m guidance floor — which is exactly where the Base case lands, by construction rather than by coincidence.
Two conservatisms in this decomposition, stated against my own interest. The company guided "at least" 30% and "at least" 20%; the model takes both at the floor, which maximises the implied step-up. And Q2's $100m E&G revenue and ~30,000 tests are the company's own guide, not actuals — if Q2 beats on ASP, B28 rises and B32 shrinks. The variant is therefore at its widest as modelled, and 3 August narrows or widens it with real data.
Bull 25% / Base 45% / Bear 30%. Weights are a judgement, and the bull weight is the one the trade note says it cannot independently defend.
| Driver | Bear (30%) | Base (45%) | Bull (25%) | Basis |
|---|---|---|---|---|
| What it assumes about ASP | Mix shift into Medicaid / outpatient / reflex deepens; ASP grinds down and stays down | ASP stabilises at the H1-2026 level and creeps up with inflation. NO H2 recovery | Payer contracting improves under the new President; AAP first-line + FDA BDD convert into rate | The four §3.4 drivers in the research note are structural mix, not a one-quarter true-up |
| E&G volume growth FY26/27/28/29/30 | 28 / 19 / 15 / 12 / 9% | 30 / 23 / 19 / 16 / 13% | 32 / 28 / 24 / 20 / 16% | Base FY26 = the company's own "at least 30%". Decay thereafter is the reference-class prior, not an override |
| E&G ASP FY26/27/28/29/30 ($) | 3,260 / 3,180 / 3,140 / 3,130 / 3,130 | 3,320 / 3,340 / 3,370 / 3,400 / 3,430 | 3,480 / 3,620 / 3,720 / 3,800 / 3,870 | Base FY26 $3,320 ≈ the H1-2026 actual+guided $3,315 — i.e. the Base case is literally "H1 repeats" |
| Other revenue FY26/27/30 ($m) | 45 / 39 / 35 | 47 / 43 / 41 | 50 / 50 / 58 | Continues the observed decay from $17.0m/qtr (25Q4) to $11.7m (26Q1) |
| Gross margin FY26/27/30 | 67.5 / 67.3 / 68.8% | 68.5 / 69.5 / 71.3% | 70.0 / 71.5 / 73.5% | Q1-2026 actual 66.7% (68,211/102,254). All three start above it; Base assumes modest scale recovery |
| Adj. opex FY26/27/30 ($m) | 332 / 380 / 512 | 328 / 372 / 506 | 318 / 368 / 516 | Entered as dollars, not a % of revenue — see §4.1 |
| FY2026 revenue ($m) | 450.89 | 466.82 | 496.82 | Derived |
| FY2027 revenue ($m) | 510.16 | 562.49 | 644.94 | Derived |
| FY2027 adj. EBIT ($m) | (36.66) | 18.93 | 93.13 | Derived |
| Exit EV / FY2027 sales | 2.20x | 3.40x | 4.75x | See §4.2 |
| Target price | $39.15 | $65.06 | $102.79 | Derived |
| Return from spot $60.54 | −35.3% | +7.5% | +69.8% |
Probability-weighted target $66.71 (+10.2%) = 0.30 × 39.15 + 0.45 × 65.06 + 0.25 × 102.79.
The target price in every scenario is FY2027 revenue × exit EV/Sales + net cash ÷ 30.5m shares. The exit
multiple is therefore doing enormous work, and the memo says so: 74% of the disagreement with the Street's
$81.78 target is multiple, not numbers. The anchors:
The comps bracket the answer without deciding it, and the honest reading is that this row is an opinion with a range around it, not a measurement.
Anchored on Chan, Karceski & Lakonishok (2003): growth persistence beyond chance is close to nonexistent, and the modal modelling error is extrapolating the recent rate.
| Input | Value | Cell | Source |
|---|---|---|---|
| Risk-free (10Y UST) | 4.70% | B12 | Consistent with the book's 4.7% cash hurdle |
| Equity risk premium | 5.00% | B13 | Assumption, stated |
| Beta | 1.95 | B14 | 1.98 computed from 252 daily returns vs SPY (Alpaca); 1.91 5-yr per stockanalysis.com. Blended |
| Cost of equity | 14.45% | B15 | = 4.70% + 1.95 × 5.00% |
| Pre-tax cost of debt | 10.0% | B16 | Estimate. Blackstone Life Sciences term-loan terms are not disclosed. Flagged, not sourced |
| WACC | 14.22% | B17 | Re-derived: 0.142211 |
Two structural notes on the WACC build, stated because they matter more than the inputs.
B9 market cap —
giving weights of 94.9% equity / 5.1% debt. At this leverage the WACC is ~99% a cost-of-equity number; the
10.0% cost-of-debt estimate moves it by roughly 1bp per percentage point. The unsourced input is
immaterial, which is worth knowing before worrying about it.Net cash bridge (Assumptions B6:B10): cash + securities + restricted $171.7m (31-Mar-26, company-stated)
less the $100.0m Blackstone term-loan face = net cash $71.7m. Market cap $1,846.5m (60.54 × 30.5m
diluted FY2027E shares). Enterprise value $1,774.8m.
Note the share-count convention: market cap uses the FY2027E diluted 30.5m, not the 29,666,318 basic shares outstanding at 31-Mar-26. Using the forecast diluted count consistently in both the market cap and the target-price divisor is internally consistent and is the conservative choice on the target — but it does mean the stated $1,846m market cap is ~2.8% above the spot-basic figure. Stated so the reconciliation is not left to the reader.
Ten-year explicit forecast, perpetuity terminal, SBC deducted as a real cash-equivalent cost (it was $9.0m in Q1-2026 alone, ~8.8% of revenue), no cash tax until FY2030 on the NOL carryforwards.
| $m | FY26E | FY27E | FY28E | FY29E | FY30E | FY31E | FY32E | FY33E | FY34E | FY35E |
|---|---|---|---|---|---|---|---|---|---|---|
| Adj. EBIT | (8.2) | 18.9 | 48.7 | 83.9 | 116.6 | 151.2 | 180.0 | 210.2 | 238.0 | 263.8 |
| Cash tax rate | 0% | 0% | 0% | 0% | 10% | 15% | 21% | 21% | 21% | 21% |
| Less: SBC | 38 | 42 | 46 | 50 | 54 | 57 | 60 | 62 | 64 | 66 |
| Plus: D&A | 28 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 |
| Less: capex | 26 | 29 | 32 | 35 | 38 | 40 | 42 | 44 | 46 | 48 |
| Change in NWC | (14) | (12) | (11) | (10) | (10) | (9) | (9) | (8) | (8) | (8) |
| Free cash flow | (58.2) | (34.1) | (8.3) | 22.9 | 38.9 | 60.5 | 71.2 | 94.1 | 114.0 | 132.4 |
Note the working-capital line is negative in every year — a use of cash. That is the DSO problem carried into the forecast rather than assumed away: a business collecting more slowly funds its own growth, and the model makes it pay for it.
Re-derived output:
| US$m | |
|---|---|
PV of explicit FY2026–35 FCF (B20) |
108.09 |
Terminal value, g = 3.0% (B18) |
1,215.31 |
PV of terminal value (B19) |
321.52 |
Enterprise value (B21) |
429.62 |
| Plus: net cash | 71.70 |
Equity value (B23) |
501.32 |
DCF value per share (B24) |
$16.44 (−72.8% vs spot) |
| Terminal method | Value per share |
|---|---|
| Perpetuity, WACC 14.22%, g 3.0% | $16.44 |
| Perpetuity, WACC 12.0%, g 3.0% | $22.81 |
| Perpetuity, WACC 16.0%, g 3.0% | $13.07 |
| Exit 2.5x / 3.0x / 3.5x FY2035 sales | $34.76 / $40.53 / $46.31 |
Why it is reported and weighted 5%, not used. Terminal value is 74.8% of enterprise value, and the first
three explicit years contribute −$82.7m of negative PV — so the value net of the loss-making years is
effectively all terminal, which is the sense in which the valuation note calls it ~100% terminal. A $13-to-$46
spread on an identical cash-flow stream cannot discriminate, and a method that cannot discriminate must not
carry the price target. The workbook says so in-cell (DCF A26). This is the same archetype already logged in
CALIBRATION_WATCH.md for TXG / TWST / NTRA / GH. Handling it by disclosure rather than by quietly dropping it
is the required treatment.
The one genuinely useful DCF output is the inversion. Solving for the discount rate at which each scenario's
stream equals today's $1,775m EV: the house base case implies 7.3%, the house bull case implies 15.0%. A
7.3% cost of capital is implausible for a ~96%-realised-vol, loss-making, single-product small cap. The stock is
priced for the bull case, correctly discounted — a valuation-negative observation which, per
references/trade-construction.md, is on its own not a thesis.
| Excluded | Why |
|---|---|
| A forecast balance sheet and cash-flow statement | The decision turns on one line — realised ASP — and a three-statement build would have added forecast precision the underlying disclosure cannot support while adding no discriminating power. The cost is real and is stated: there is no balance check in this workbook, so the v1.4.2 tie-out obligation is discharged entirely by the actual-year reconciliation in §2, not by any internal-consistency test. |
| Any revenue for "GeneDx Infinity™" | Investigated and rejected: a re-brand of an existing dataset. No separate revenue line, no segment, no capitalised value in the FY2025 10-K. Marketing, not economics. |
| Any revenue for genomic newborn screening (gNBS) | ClinicalTrials.gov query.spons=GeneDx returns zero GeneDx-sponsored studies. The four publicised programmes are third-party-sponsored with GeneDx as testing vendor. Revenue timing is on someone else's grant timetable, and sizing it would be narrative dressed as analysis. |
Any contribution from Fabric Genomics beyond the residual in Other revenue |
The entire goodwill balance was written off in Q1-2026 ($11.9m) plus $10.2m developed technology, $5.0m customer relationships, $4.2m tradenames = $31.3m, ~11 months after close. Goodwill $13.5m → $1.6m. |
| A separate line for the reflex product | Announced 2026Q1; whether the second test is separately reimbursed, bundled, or partially paid is not disclosed anywhere. It is left inside the ASP path as an unquantified dilution risk rather than given a fabricated economics. Monitoring item W-U1 in the catalyst calendar. |
| Any uplift from the AAP first-line recommendation or the FDA Breakthrough Device Designation | Both are genuine and durable payer-side inputs. Neither has yet shown up in realised price — the realised price went the other way. They are expressed as the bull case ASP path, not added on top of it. Adding them separately would double-count. |
| Equity issuance from the ATM / S-3ASR shelf | Available and cheap to execute (TD Cowen ATM 2024; S-3ASR filed 2025-10-28). No draw is assumed, so the 30.5m diluted share count is the optimistic end of the range. Shares already grew +5.6% YoY. |
| M&A | None assumed. The one deal in the window was written off in eleven months. |
| Any Sema4-era figure as a forecast anchor | See §2.1. |
KPI_ASP column K are the company's guide, not actuals — labelled
26Q2G. Half of the H1 ASP that the entire variant is measured against is therefore a forecast. 3 August
replaces it with a fact.formulas package, which re-parses the workbook
from scratch rather than reading cached values. All checked outputs across Assumptions, KPI_ASP, Scenarios,
DCF and FactorScorecard reproduce the figures published in WGS_Valuation.md exactly — including
WACC 14.22%, H2-required ASP $3,505.58, the +5.73% step-up, all three target prices ($39.15 / $65.06 / $102.79)
and the $16.44 DCF.WGS_Valuation.md): an
H1-2026 aggregation pointing at the FY2024 columns, and an implied-EV formula multiplying the revenue-growth
row instead of the revenue row. Both would have passed a zero balance check. They were caught only because
the outputs were re-derived rather than read back from the string that wrote them.KPI_ASP input set), guidance, and the mention-frequency corpus.EARNINGS_ESTIMATES — one call, cached at
data/av_earnings_estimates_WGS_2026-07-27.json. The shared 25/day cap was respected; a 17-quarter
EARNINGS_CALL_TRANSCRIPT sweep was not available, which is why the mention-frequency corpus is press
releases and carries no prepared-remarks vs. Q&A split.