Phase Space AI

Financial Model Notes

Booking Holdings [BKNG]

Booking Holdings [BKNG] — Financial Model Notes

Share count and the split — the highest-risk item on this name, cleared

Source Figure
SPLITS endpoint 25.0000 effective 2026-04-06; 0.1667 on 2003-06-16
Q1'26 10-Q, weighted basic 790m (post-split)
Q1'26 10-Q, weighted diluted 794m (post-split)
AV commonStockSharesOutstanding 794m
Screen record shares 774,878,436
Screen spot $191.565

The screen's share count and price are both on the post-split basis and are mutually consistent. Pre-split, FY2025's diluted weighted count was 32,639 thousand — 32.6m shares — and a pre/post mismatch would have understated market cap by 96%. That is the KLAC failure exactly (10-for-1 on 2026-06-12, market cap 89% understated, required CAGR wrong by 37pp), and it did not happen here.

netIncome / shares ≈ EPS: $1,083m / 794m = $1.364 against a filed diluted $1.36. Clean — but DATA_DEFECTS records that this check does not catch split-basis errors (CRWD passed it at $0.108 vs $0.11 while being 4.0x and $137bn wrong). The SPLITS query is what actually cleared this name, not the EPS check. Recorded because the distinction is the lesson.

TTM revenue — verified

5,532 + 6,349 + 9,008 + 6,798 = $27,687m, matching the screen exactly. FY2025 sum 4,762 + 6,798 + 9,008 + 6,349 = $26,917m, tying to the dollar against the 10-K's $26,917m.

Operating income — a NEW Alpha Vantage defect

Period AV operatingIncome Filed Difference
Q3 2025 $3,940m $3,483m (10-Q) $457m, 13.1%
FY2025 (quarterly sum) $9,282m $8,825m (10-K) $457m, 5.2%
FY2025 operating margin 34.5% 32.79% 1.70pp
TTM to 2026-03-31 9,491 $9,034m 1.66pp of margin

The $457m is exactly the FY2025 Impairment line, which AV's operatingIncome silently excludes. This is not in DATA_DEFECTS and is a new instance: AV appears to normalise out an impairment charge that the filer presents within total operating expenses. On any name with a material impairment, AV's operating margin is overstated by the impairment as a share of revenue.

The consequence here is unusual and worth stating plainly: the screen's 32.8% operating margin was correct and my own first-pass AV-derived 34.3% was wrong. The defect ran against the analyst, not against the screen. All operating margins in this memo are on the filed basis.

AV's ebit field was not used (documented as pretax + interest expense). AV's ebitda field was not used. D&A was taken from the income statement's own line, which BKNG presents separately, and cross-checked: FY2025 $623m, Q1'26 $131m.

AV OVERVIEW.OperatingMarginTTM returns 25.0% against a true TTM of 32.63%. Q1'26 alone was 23.0%. Single quarter mislabelled as TTM — the defect confirmed on another name.

Net cash — the construction was defective even though the number was close

Screen: −$2,712m, built from CashAndCashEquivalentsAtCarryingValue@2026-03-31 minus LongTermDebt@2025-12-31. Two faults in one field: it pairs a Q1'26 asset with a Q4'25 liability, and it uses long-term debt alone.

Rebuilt at 2026-03-31:

Cash and cash equivalents                16,024
+ Long-term investments                     473
- Total debt (shortLongTermDebtTotal)   (18,943)   of which long-term 15,398, other 3,545
                                        --------
NET DEBT                                  2,446

Screen error: $266m, or 0.2% of EV. Immaterial in size. Recorded anyway because the construction was wrong and happened to land close — the ORCL ($133.9bn), BSX ($9,576m) and IRTC ($650.3m sign flip) cases came from the same field built the same way. A method that is right by luck on one name is not a method.

EV used: market cap $152,111m (794m × $191.565) + net debt $2,446m = $154,557m, lease-exclusive and stated as such.

Sector misclassification — not used, but recorded

The screen assigns sic: 4700, sic2: 47, sector: TRANSPORT, and from it peer_median_op_margin_pct: 8.0 and industry_p75_op_margin_pct: 21.1 — wait, 11.1. BKNG's own operating margin is 32.63%, i.e. 24.6pp above the "peer" median the screen computed, and 21.5pp above the industry p75. Under State A those figures are a sanity band and never an override (valuation.md), so neither was used to set anything in this memo. Had an industry-p75 cap been applied — the mechanism that clamped AVGO's real 43.4% to 15.6% — BKNG's terminal margin would have been cut from 33.0% to 11.1%, a 21.9pp error.

FY2025 opex reconciliation ($m, from the 10-K)

FY2023 FY2024 FY2025 % of FY2025 revenue
Merchant revenues 10,936 14,142 17,755 66.0%
Agency revenues 9,414 8,524 7,968 29.6%
Advertising and other 1,015 1,073 1,194 4.4%
Total revenues 21,365 23,739 26,917 100.0%
Marketing 6,773 7,278 8,186 30.41%
Sales and other 2,744 3,120 3,453 12.83%
Personnel (incl. SBC $530/$599/$613) 3,294 3,354 3,403 12.64%
General & administrative 1,560 1,036 857 3.18%
Information technology 655 771 908 3.37%
Depreciation & amortisation 504 591 623 2.31%
Impairment 457 1.70%
Transformation costs 34 205 0.76%
Total operating expenses 15,530 16,184 18,092 67.21%
Operating income 5,835 7,555 8,825 32.79%

Ties exactly. Agency revenues have fallen in absolute dollars for two consecutive years (9,414 → 8,524 → 7,968, −15.4% cumulatively) while merchant revenues grew 62.4%. That is the mix shift, visible on the face of the income statement.

FCF — the one name where the interim-FCF correction barely matters

normalized_fcf.py --ticker BKNG --revenue-growth 0.11: trailing FCF margin 33.8%, steady state 31.0%, gap −2.7pp. Cumulative growth capex over the window was $120m against $25,794m of revenue added — 215.65 dollars of revenue per dollar of growth capex, roughly 15x MELI's 14.50 and RBA's 14.02. BKNG is close to capital-free at the margin.

Consequence for the reverse DCF: across an 8.8pp band of FCF margin (25.0% to 33.8%) the required CAGR at a 16x exit moves only from 4.86% to 3.26% — 1.6pp. The sign-dependent interim-FCF defect that dominates ORCL, NBIS and MELI is nearly inert on this name, and that is worth recording as a counter-example: the correction's importance scales with capital intensity, and BKNG has none.

normalized_fcf.py crashed on its default invocation (no --revenue-growth) here as on the other two tickers — see BKNG_analysis.json tool_defects_found.