Phase Space AI

02 Financial Model Notes

Intuitive Surgical [ISRG]

Intuitive Surgical [ISRG] — Task 2: Financial Model Documentation

ISRG_Underwriting_Model_2026-07-27.xlsx — 8 tabs, live formulas throughout | revised under investment-memo v1.4.0

v1.4.0 changes — read this first

1 · A deliberate, disclosed inconsistency has been resolved — and its stated impact was itself wrong. The prior build ran Assumptions!C26 (FY2027 revenue growth) at 14.5% while Task 5's the dissolved variant-vs-consensus test (old Gate 2) used the revised house build of +11.5% ($13,270m). That was not an oversight — the previous version of this very document flagged it explicitly as "a deliberate, disclosed inconsistency," on the reasonable argument that retaining the higher number meant "the DCF cannot be accused of being tuned to fit the decision." Credit where due: it was disclosed, and the direction was called correctly. But two things were wrong with it. First, the estimated impact was stated as "lowers the base value from $334 to roughly $310–315" — the actual recompute is $326.53, so the disclosed estimate overstated the effect by ~$13–16. Second, and more importantly, the practice leaves the memo's published headline DCF number corresponding to no forecast the memo actually holds, and Income Statement!H19 computing +2.9% versus consensus while every narrative section claimed +0.2%. The better discipline is to run the DCF on the house forecast and then state plainly that it moves against the conclusion — which is more honest than retaining a number you do not believe. Resolved in v1.4.0: C26 set to 11.5%. FY2027E revenue now computes to $13,268m, +0.22% vs consensus — what the dissolved variant-vs-consensus test (old Gate 2) always claimed — and the DCF base is $326.53, a more negative reading than the $334.38 it replaces. The Bear and Bull DCF runs used their own FY2027 growth rates and are unaffected.

2 · New tab: TAM & Vectors — bottom-up TAM for all four pipeline vectors (units × penetration × price × attach), the penetration-path sensitivity, the required implied-penetration statement, the pipeline cross-check, and EV/TAM with its denominator's elasticity. Every input is colour-coded orange = assumption/estimate, blue = disclosed.

3 · Scenarios revised — probabilities 30/45/25 → 25/48/27 (sole justification: the XiR/ASC evidence de-risks one named bear driver — see Scenarios!F14); Base DCF value 334.38 → 326.53; base target midpoint $367 → $360 and range $340–395 → $330–390, forced mechanically by the DCF correction; the entry-price solver ladder re-centred on the new $310 conversion trigger; and a new the dissolved duration-variant test (old Gate 2B) four-leg evidence table at rows 60–67.

4 · The workbook was rebuilt. An openpyxl save aborted mid-write and truncated the zip archive. Because openpyxl had written all strings inline, every cell value and formula was recoverable from the surviving sheet XML and the workbook was reconstructed with formatting re-applied. Two bugs introduced during that rebuild were caught by the Excel read-back and fixed: four column-A labels beginning with = (e.g. "= Addressable US ASC systems") were being written as invalid formulas, which caused Excel to reject the file silently; and the international-value-tier TAM formula referenced B12 (I&A per procedure) where it needed B11 (procedures per system), overstating that leg by 3x. Both were found only by opening the file in Excel and reading back computed cells — which is the entire reason that step is mandatory.

Every hardcoded input is shaded yellow. Every other cell is a live formula. The workbook was built with openpyxl, then opened in Microsoft Excel via AppleScript, recalculated, and read back cell by cell — openpyxl writes formula strings without evaluating them, so a wrong reference fails silently. Verification results below.

Tabs

Tab Contents
Assumptions Market data, WACC build, base-case operating drivers FY2026–35, consensus estimates
Income Statement FY2021–25 actuals from EDGAR XBRL; FY2026–35 projections driven off Assumptions
Free Cash Flow Unlevered FCF build: NOPAT + D&A − capex − ΔNWC
DCF Ten-year mid-year-convention DCF, terminal value, equity bridge
Scenarios Bull/Base/Bear, entry-price solver, base-rate check. (v1.6.0: the scenario-weighted E[R]-vs-cash-hurdle output and the variant-vs-consensus test on this tab are retired; the tab is retained for its scenario inputs.)
Comps Eight medtech peers, FY2025 actuals from EDGAR, live prices from Alpaca
TAM & Vectors NEW (v1.4.0) — bottom-up TAM for Vectors A–D, penetration-path sensitivity, implied-penetration statement, pipeline cross-check, EV/TAM with elasticity
Placement Share The tab that matters — installed-base roll-forward driven by share of new placements, plus the two-way share × market-growth sensitivity

Verification — values read back from a live Excel session

Cell Excel value Independent check
Assumptions!B11 market cap 127,613.27 357.16 × 357.3 = 127,613.27 ✓
Assumptions!B22 WACC 8.70% 4.20% + 1.00 × 4.50% ✓
Income Statement!G4 FY26E revenue 11,900 seeded input ✓
Income Statement!H4 FY27E revenue 13,268.50 11,900 × 1.115 ✓ — and +0.2% vs the $13,240m consensus, matching the the dissolved variant-vs-consensus test (old Gate 2) table for the first time
Income Statement!H19 house vs consensus +0.22% was +2.91% before the C26 correction ✓
DCF!B18 value per share 326.53 was 334.38 on the superseded 14.5% ✓
DCF!B12 terminal value share of EV 67.4%
Scenarios!B19 gross E[R] −0.311% 0.25×(−38.40%) + 0.48×(+0.80%) + 0.27×(+32.99%) ✓
Scenarios!B21 net E[R] −0.411% less 10bp slippage ✓
Scenarios!B23 vs cash hurdle −5.11% (v1.6.0: retired. The cash hurdle no longer exists. The Valuation Criteria is the implied-path test — required 26.0% vs 17.4% demonstrated, margin −8.6pp, or +0.7pp on ISRG's own terminal margin. See 03_Valuation_and_Factor_Scorecard.md §0.1.)
Scenarios!B36 E[R] at $310 +14.00% at $312, +14.75% at $310 conversion trigger confirmed ✓
TAM!B9 addressable US ASC systems 1,247 ROUND(6,300 × 0.30 × 0.66) ✓
TAM!B20 US ASC TAM ($m/yr) 685.85 467.6 I&A + 124.7 service + 93.5 capital ✓
TAM!B24 international value TAM ($m/yr) 757.50 (1,500×300×1,100 + 1,500×100k + 1,500×750k/10)/1e6 ✓ (caught and fixed — see note 4)
TAM!B25 combined Vector D TAM 1,443.35
TAM!B47 incremental cardiac ($m/yr) 429.00 (160,000 − 17,000) × $3,000 ✓
TAM!B63 implied Ion US penetration 81.55% 179,400 ÷ 220,000 ✓
TAM!B78 revenue per procedure 3,102.56 $10,065m ÷ 3,244,100 ✓
TAM!C85 implied procedures at 5.0x 7,669,162 ($118,970m ÷ 5.0) ÷ $3,102.56 ✓
TAM!B100 pipeline share of required growth 35.21% 1,558,000 ÷ 4,425,062 ✓
TAM!B107 EV / TAM 4.26x $118,970m ÷ $27,923m ✓
Income Statement!P4 FY35E revenue 28,245.43 Python: 28,245.43 ✓
Income Statement!P10 FY35E EBIT 10,592.04 Python: 10,592.04 ✓
Free Cash Flow!B11 FY26E UFCF 2,959.79 Python: 2,959.79 ✓
Free Cash Flow!K11 FY35E UFCF 8,304.36 Python: 8,304.36 ✓
DCF!B9 sum of PV 36,015.59 Python: 36,015.59 ✓
DCF!B10 terminal value 165,288.62 Python: 165,288.62 ✓
DCF!B11 PV of terminal value 74,827.68 Python: 74,827.68 ✓
DCF!B13 enterprise value 110,843.27 Python: 110,843.27 ✓
(superseded) DCF!B18 on the old 14.5% spine 334.38 Python: 334.38 ✓ — retained here for audit trail only
Placement Share!C12 retirement rate 5.2212% (9,902 + 1,721 − 11,106) / 9,902 ✓
Placement Share!B31 Base FY26 IB growth 12.0% matches the disclosed actual +12% ✓

Errors found and fixed during verification (the first pass found two; v1.4.0 found three more — all recorded, because a verification step that never catches anything is theatre): 1. The first Excel read returned WACC = 0.00% and market cap = 0 — the read was pointed at the wrong rows (B18/B10 rather than B22/B11), not the formulas. Caught by dumping the sheet layout and re-reading. 2. A real modelling error: the fleet retirement rate was initially assumed at 3.5%, which produced FY2026 installed-base growth of 13.7% against a disclosed actual of 12.0%. Calibrating to the disclosed 2025 roll-forward gave 5.22%, which independently cross-checks to 5.31% annualised on H1 2026 and brings the model to 12.0%. The assumption was replaced with an observation. 3. (v1.4.0) Excel silently refused to open the rebuilt workbook. Four column-A text labels beginning with = — e.g. "= Addressable US ASC systems" — were written by openpyxl as invalid formulas. open returned no AppleScript error and no workbook appeared. Relabelled. This was caught only because the read-back step is mandatory; a script that trusted the save would have shipped an unopenable model. 4. (v1.4.0) A live formula bug on the new TAM tab. The international-value-tier TAM referenced B12 (I&A per procedure, $1,250) where it needed B11 (procedures per system, 300), returning $2,325m instead of $757.5m — a 3x overstatement. Caught by reading the computed cell back against a hand calculation. This is exactly the failure mode the skill warns about: openpyxl wrote the formula string without complaint. 5. (v1.4.0) Workbook recovery. An openpyxl save aborted mid-write and truncated the zip archive ([Content_Types].xml and the workbook part were missing). Because openpyxl writes strings inline, every cell value and formula was recoverable from the surviving sheet XML; the workbook was reconstructed and formatting re-applied. No content was lost, and both bugs above were introduced and then caught during that reconstruction.

Base-case operating assumptions and the base-rate check

Driver FY26E FY27E FY30E FY35E
Revenue growth 18.2% 11.5%* 11.0% 6.5%
GAAP operating margin 33.0% 34.5% 37.0% 37.5%
D&A % revenue 5.2% 5.2% 5.2% 5.2%
Capex % revenue 6.0% 6.0% 6.0% 6.0%
Incremental NWC % Δrevenue 9.0% 9.0% 9.0% 9.0%

* Changed in v1.4.0 from 14.5% to 11.5%. The prior build deliberately retained 14.5% on the DCF spine while the dissolved variant-vs-consensus test (old Gate 2) and the scenario targets used 11.5%, and disclosed that inconsistency openly, arguing the higher number kept the DCF from looking tuned to fit the decision. That argument has real merit and the disclosure was honest — but it left the published headline DCF value describing a forecast the memo did not hold, and it left Income Statement!H19 computing +2.9% versus consensus while every narrative section said +0.2%. The whole spine now runs the house forecast. The result moves against the conclusion — the DCF base falls from $334.38 to $326.53 — which is the point: a model tuned to fit a decision would not have been allowed to do that. Note also that the prior build's own estimate of this effect ("roughly $310–315") was too low by $13–16; the actual figure is only available by running it. The base-case valuation range of $330–390 remains driven by the comps/multiple work rather than the DCF, for the reasons given in Section 3.3.

Base-rate check (Chan, Karceski & Lakonishok 2003), on the Scenarios tab: Base case is an 8.2% revenue CAGR FY2027–35 off a $13bn base — below the top-decile persistence bar, and it does not extrapolate the recent 18–20% rate. Bull is 11.0%, explicitly named as a top-quartile outcome. Bear is 4.5%, roughly medtech-market growth, which is near the reference-class median for a mature franchise meeting new entrants — hence its 30% weight rather than a tail weight.

Known limitations