Phase Space AI

Financial Model Notes

iRhythm Technologies [IRTC]

iRhythm [IRTC] — Financial Model Notes & Data Provenance

No .xlsx is produced. Per §1–§3 of known-silent-failures.md, an openpyxl-written workbook never opened by Excel contains formula strings rather than values and cannot be verified by read-back, and defined names matching ^[A-Za-z]{1,3}\d{1,7}$ silently resolve as cell addresses. The build is stated as reproducible arithmetic.

1. Source hierarchy used

Quantity Source Note
Quarterly revenue, COGS, gross profit, EBIT, SBC, D&A, OCF, capex EDGAR companyfacts (us-gaap, newest-filed-wins on a shared period end) 46 quarters available
Q1-2026 statement detail (R&D, SG&A, interest) Filed 10-Q irtc-20260331.htm companyfacts returns ResearchAndDevelopmentExpense as MISSING for recent quarters — see Defects
Net cash / net debt Filed 10-Q balance sheet companyfacts missed the $650.3m converts entirely
Share count Filed 10-Q: 32,854k outstanding; 32,507k WA diluted
Reimbursement rate Two independent third-party fee-schedule aggregators + arithmetic reconciliation, corroborated for direction by the 10-K CMS primary file not fetched — an acknowledged gap
Legal/regulatory inventory 10-K Note 8 and 10-Q Note 7, verbatim The core of the risk section
Prices, realised vol Alpaca daily bars, adjustment=split, explicit start= (§4)
Transcripts Alpha Vantage EARNINGS_CALL_TRANSCRIPT with speaker/title Six quarters
Consensus estimates UNAVAILABLE — AV EARNINGS_ESTIMATES returned a burst-limit body Consensus Criteria = INDETERMINATE

Alpha Vantage INCOME_STATEMENT and BALANCE_SHEET DID work for IRTC (46 quarters each), unlike DOCS. That asymmetry is itself the defect finding — the same account, the same minute, different symbols.

2. Reimbursement rate verification — the one number the thesis turns on

The brief requires a source. Chain of evidence for CPT 93247, CY2026 = $253.18 national average:

  1. Aggregator A: $253.18 non-facility and facility; 7.58 total RVUs; conversion factor $33.4009.
  2. Aggregator B (independent): $253.17, and CY2025 = $234.84 (+7.81% YoY).
  3. Arithmetic reconciliation: 7.58 × $33.4009 = $253.18 ✓. RVU composition 7.57 practice expense / 0.00 work / 0.01 malpractice — correct for a technical-component-only code billed by an IDTF (no physician work, because the physician bills the professional component separately under 93248).
  4. Primary-source corroboration of direction: FY2025 10-K — "New rates were published effective January 1, 2026, which reflect an increase in the national payment amount for CPT codes 93247, 93243, and 93229 as compared to calendar year 2025."

What is NOT verified, and is therefore not asserted: the CY2024 rate (omitted rather than interpolated); the 2021–2023 series (single-sourced trade press, and the pre-2022 period was contractor-priced so no single national rate existed); and the reported CY2027 proposal (internally inconsistent — see Catalyst Calendar). The CMS PFS relative-value file itself was not fetched. Two independent aggregators plus an exact arithmetic reconciliation plus primary-source directional confirmation is strong, but it is not the primary file, and that gap is stated rather than papered over.

3. The quarterly series underwriting the memo (USD m, period ends)

Q end Revenue COGS Gross GM% SG&A EBIT Net inc SBC AR DSO
2024-03-31 131.93 44.41 87.52 66.3% 108.66 −38.14 −45.67 20.99 89.71 61.2
2024-06-30 148.05 44.58 103.47 69.9% 106.76 −22.98 −20.11 21.82 85.51 52.0
2024-09-30 147.54 46.06 101.48 68.8% 103.38 −50.30 −46.18 17.16 77.43 47.8
2024-12-31 164.32 49.26 115.07 70.0% 99.77 −4.08 −1.04 16.01 79.94 44.8
2025-03-31 158.68 49.46 109.22 68.8% 119.96 −32.56 −30.70 23.34 80.64 45.2
2025-06-30 186.69 53.83 132.86 71.2% 126.38 −18.71 −14.22 22.83 82.15 39.6
2025-09-30 192.88 55.76 137.12 71.1% 124.22 −8.43 −5.21 21.01 76.16 35.9
2025-12-31 208.89 60.84 148.06 70.9% 122.00 +2.29 +5.13 21.11 75.71 33.3
2026-03-31 199.39 58.04 141.35 70.9% 135.88 −16.19 −13.93 21.49 80.86 36.1

TTM (Jun-25 → Mar-26): revenue $787.85m, gross profit $559.39m (71.0%), EBIT −$41.03m (−5.2%), SBC $86.44m (11.0%). Fiscal years: FY2021 $322.82m · FY2022 $410.93m · FY2023 $492.68m · FY2024 $591.84m · FY2025 $747.14m.

Q1-2026 opex from the filed 10-Q (companfacts could not supply R&D): R&D $21.358m, acquired IPR&D $0.296m, SG&A $135.884m, total opex $157.538m. Cross-check: gross profit 141.353 − opex 157.538 = −16.185 = filed loss from operations ✓.

No Q4 synthesis was needed — IRTC files a discrete Q4 in XBRL, so the §9.2 trap does not apply here (it did apply to DOCS).

4. Net cash / net debt — resolved on BOTH sides, per the §9.6 fail-closed rule

LIQUID ASSETS
  Cash and cash equivalents                    240.146
  Marketable securities (AFS, current)         309.474
                                               -------
                                               549.620
DEBT
  Long-term senior convertible notes (carrying) 650.313
                                               -------
NET DEBT                                      (100.693)

EXCLUDED, with reasons stated:
  Long-term strategic investments   72.860  — illiquid private stakes, not cash equivalents
  Restricted cash                    8.358  — restricted
  Operating lease liabilities       78.978  — lease convention stated per §9.7

Both sides are resolved, so a number is emitted. Had either side been unresolved, the rule is to emit no number and mark the name INDETERMINATE.

5. Reverse-DCF inputs, reproducible

spot            122.23
shares          32.854 m       (filed 10-Q, 31-Mar-2026)
net cash       -100.70 m       (NET DEBT)
revenue (TTM)   787.90 m
years           5
wacc            0.10
terminal margin 0.19           (built; bridge in Valuation §2)
exit multiple   10.53 x EV/EBIT (DERIVED: (1-.21)(1-.04/.20)/(.10-.04))
basis           ebit
=> required revenue CAGR 33.3%

python3 ~/.claude/skills/investment-memo/assets/reverse_dcf.py --spot 122.23 --shares 32.854 --net-cash -100.7 --revenue 787.9 --years 5 --wacc 0.10 --terminal-margin 0.19 --exit-multiple 10.53 --basis ebit

The solved value is returned under implied_value, not required_cagr; a consumer keying on the latter gets None and silently reports "no solution."

6. Own-multiple history construction

work/docs_irtc/mult_hist.py. Daily EV/Sales from Alpaca closes against TTM revenue as known at that date (45-day filing lag). Share count and net debt held at current verified values, since the series is used only for a multiple percentile.

Window n median current percentile
2021-06-01+ 1,296 7.87x 5.22x 10.6th
2023-01-01+ (used) 895 7.25x 5.22x 14.7th
2024-01-01+ 645 6.56x 5.22x 20.5th

Declared IDENTIFIED because the conclusion is robust to the window (10.6 / 14.7 / 20.5) and the level is stationary (annual medians span ~2.5x). Contrast DOCS, where annual medians span ~8.5x and the anchor was declared UNIDENTIFIED. The 2023+ window is used because CMS national pricing arrived in 2022; it is also the more conservative of the two defensible windows.

7. Checks run