Financebotresearch desk研究台

Playbook › Playbook

Yahoo's sharesOutstanding returns only the listed class on dual-class foreign issuers

slow 2026-08-27

Claim

Yahoo Finance (and fin.py, which surfaces the same field) reports sharesOutstanding as the listed class only on dual-class issuers. Unlisted Class B / founder / super-voting shares are omitted. Meanwhile marketCap in the same response is computed off impliedSharesOutstanding, which is correct.

The two fields therefore contradict each other, and the contradiction is the detection method.

Detection — a five-second check that should be routine

marketCap ÷ price vs sharesOutstanding

If they disagree by more than rounding, the share count is wrong. Cross-check against diluted weighted-average shares on the income statement, then confirm the true total from the 20-F/10-K cover page or the equity note.

Evidence

NU (Nu Holdings), 2026-07-31. Yahoo reported SharesOut 3.81B at a price of $14.33 — implying a $54.6B market cap against a reported MktCap of $69.22B. The true figure from the Q1'26 6-K was 4,861.7M (Class A 3,839.1M + Class B 1,022.6M). Diluted weighted-average was 4,910.3M.

The error is 27%. Any per-share metric computed from the raw field — book value per share, FCF per share, revenue per share, EPS cross-checks — is overstated by that margin, and a valuation built on it would have been badly wrong in the bullish direction.

TEAM (Atlassian), 2026-08-07. Yahoo reported SharesOut 159.63M — Class A only. True total from the 10-Q cover page: Class A 159,634,245 + Class B 94,133,617 = 253,767,862. The error is 37.1%, and it propagated: fin.py's derived EV $28.06B was $10.5B (27%) too low, which implied $10.5B of net cash against an actual +$250M — a distortion large enough that it reached a subagent's moat analysis as "can fund this fight for a decade," which was false. A wrong share count does not stay in the per-share metrics.

⚠️ The FPI framing was too narrow — dual class is the risk factor, not foreign domicile

The original note (NU, a Brazilian 20-F filer) attributed the failure to the FPI/20-F filing path. That was wrong, or at least incomplete. Running the reconciliation across a software peer set on 2026-08-07 found three more failures, and two of the three are ordinary US 10-K filers:

Ticker sharesOutstanding True count Error Filer
NU 3.81B 4,861.7M 27.6% 20-F (FPI)
TEAM 159.63M 253.77M 37.1% 10-K (US domestic)
WDAY 201.00M 246.97M 22.9% 10-K (US domestic)
ASAN 167.82M 237.36M 41.4% 10-K (US domestic)
CBRS 112.25M 237,564,041 52.8% 10-Q (US, TRI-class, fresh IPO)
~~MNDY~~ ~~42.27M~~ ~~~53.09M~~ ~~~25.6%~~ 🔴 RETRACTED 2026-08-10 — false positive, see below

Founder-controlled US tech is the largest population of this failure, not a footnote to it. Any company where the founders hold super-voting Class B — which is most of the 2015–2021 software cohort — is exposed.

🔴 RETRACTION — the MNDY entry was a FALSE POSITIVE (2026-08-10)

The 2026-08-07 revision added MNDY as a fifth case on the strength of the "third reading" rule. A full /analyze MNDY against the primary filings showed the rule misfired, and the note was wrong on both of its preconditions:

  1. monday.com is single-class. One vote per ordinary share (FY2025 20-F, Note 13). The one non-economic "founder share" held by a Co-CEO carries veto rights only — a governance instrument, not a share class. The pitfall's precondition was absent.
  2. Yahoo's 42,274,119 was correct and current, matching the Q2 FY26 6-K cover page exactly.

The gap was a buyback, not a vendor error, and it reconciles to the share:

51,160,822 (Dec-31-2025) − 9,602,294 repurchased + 715,591 issued = 42,274,119 (Jun-30-2026)

monday.com retired 10,486,207 shares for $870.0M — 18.8% of itself in six months.

⚠️ The correction to the METHOD — the third reading needs a fourth step

The failure was comparing a period figure to a point-in-time figure. Diluted weighted-average is an average across a fiscal year; sharesOutstanding is a snapshot. On any company retiring stock quickly, the two must diverge, and the divergence is a real economic event rather than a data fault.

Under the 2026-08-07 rule as written, every aggressive repurchaser screens as a vendor failure. That is the opposite of useful: it would have flagged a 19% buyback — one of the most important capital-allocation facts about the company — as a number to discard.

The corrected detection sequence:

  1. marketCap ÷ price vs sharesOutstanding — catches the two-fields-disagree case (NU, TEAM).
  2. Cross-check against diluted weighted-average — catches the both-fields-wrong case.
  3. 🆕 Before calling step 2 a vendor failure, reconcile the gap against the financing section's share-repurchase line and the equity statement. A falling share count with a matching buyback outflow and a falling APIC balance is a real retirement, not a bad field.
  4. Only then confirm the true total from the 20-F/10-K cover page or equity note.

Direction is the cheap tell: the genuine vendor failure understates shares (missing an unlisted class), so the vendor count is below truth. A buyback makes the vendor count below the stale weighted-average but equal to truth. Step 3 separates them in one lookup.

Score: this note is 4-for-5, not 5-for-5. NU, TEAM, WDAY and ASAN remain valid and were re-checked; only MNDY is withdrawn.

⚠️ A FRESH IPO DISABLES THE CROSS-CHECKS THEMSELVES (CBRS, 2026-08-27)

The worst case found so far, and it breaks the detection method rather than just the field.

Cerebras IPO'd 2026-05-14 with three classes. Yahoo reported SharesOut 112,247,109 — Class A only — against a filed total of 237,564,041 (A 112,247,109 + B 111,601,424 + N 13,715,508). The error is 52.8%, the largest in this note, and marketCap $43.5B used the correct total, so step 1 catches it.

But steps 2 and 4 both fail, for reasons specific to a recent listing:

  • Step 2 is unusable. Yahoo's annual income statements reported Diluted Average Shares 207,533,000 and Basic Average Shares 180,819,000 — identical across FY2022, FY2023, FY2024 and FY2025. A weighted-average series that does not move across four years is a carry-forward artifact, not data. There is no third reading to take.
  • The whole historical balance sheet is pre-IPO. Yahoo showed FY2025 stockholders' equity of −$578.7M, because convertible preferred sat in mezzanine outside equity until it converted at listing. The vendor simultaneously reported BVPS 40.27 and P/B 4.54 from the post-IPO balance sheet. The payload mixed two capital structures, so any reconciliation across statement and profile fields compares different companies.
  • Step 4 needs the right cover page. The 10-Q balance sheet date (6/30/26) gave 228,203,927; the 10-Q cover page (8/05/26) gave 237,564,041. The 9.4M gap was OpenAI exercising customer warrants for Class N shares in between. Take the cover page, and note its as-of date — on a company issuing warrant shares continuously, a six-week-old count is already wrong.

Rule extension

For any company less than ~4 quarters post-IPO, treat the entire vendor payload as unreconcilable and go to the filings for every balance-sheet and per-share input — not just the share count. The failure is not one bad field; it is a payload that splices pre-IPO statements onto post-IPO profile data with no marker at the seam.

Rule

On any dual-class or foreign issuer, establish the fully diluted share count from the primary filing before computing a single per-share number, and state which figure you used. Do not take it from a vendor field, and do not assume marketCap and sharesOutstanding came from the same source.

What would falsify this

Yahoo populating sharesOutstanding with the consolidated total across share classes. Re-test the reconciliation on any dual-class name before trusting the field again — this is a vendor behaviour, not a permanent law.

Related

[[principle-primary-source-beats-vendor]] · [[pitfall-vendor-revenue-is-net-construct-for-banks]] · [[pitfall-yahoo-mixes-cad-usd-on-cross-listed-issuers]] — the same family of vendor failures concentrated on non-US listings.

History

  • 2026-07-31 — found in the NU analysis. Caught only because market cap and share count failed to reconcile; nothing else in the payload signalled a problem.
  • 2026-08-07 — fired again on TEAM (37.1%), and the FPI framing was corrected. Running the check across the software peer set in the same analysis caught WDAY (22.9%) and ASAN (41.4%) — both US 10-K filers — so foreign domicile is not the risk factor; dual-class structure is, and founder-controlled US tech is the largest exposed population. Also added the MNDY variant, where both Yahoo fields agree and the reconciliation test passes while the count is still ~25.6% low — establishing that diluted weighted-average from the income statement is a required third reading, not a confirmation step. Confidence held at high; the note is claimed 5-for-5 on names tested.
  • 2026-08-10 — the MNDY case is RETRACTED as a false positive, and the method is corrected. /analyze MNDY against primary filings established that (a) monday.com is single-class, so the pitfall's precondition never held, and (b) Yahoo's 42,274,119 was correct and current — the gap against the 53.09M diluted weighted-average was a $870M buyback that retired 18.8% of the company in six months, not a vendor fault. The 2026-08-07 "third reading" rule compared a period average to a point-in-time snapshot and therefore flags every aggressive repurchaser as a data error. Added step 3 — reconcile the gap against the buyback line and the equity statement before declaring a vendor failure — plus the direction tell that separates the two causes. Note is 4-for-5. Confidence held at high for the four genuine cases; the detection method was the thing that was wrong, and it is the more valuable correction. See Output/Stocks/Technology/MNDY/analyze-2026-08-10.md.

  • 2026-08-19 — fired again on LEN during /analyze; see Output/Stocks/Consumer/LEN/analyze-2026-08-19.md.

  • 2026-08-27 — fired on CBRS at 52.8%, the largest error recorded, and the scope widened from "dual-class" to "any multi-class or recently-listed issuer." Cerebras is tri-class (A/B/N), three months post-IPO. Step 1 caught it, but steps 2 and 4 both failed: the diluted and basic weighted-average share series were identical constants across four fiscal years (a carry-forward artifact, so there is no third reading), and the historical balance sheet was pre-IPO — showing −$578.7M equity from mezzanine convertible preferred while the profile simultaneously reported post-IPO BVPS 40.27. The payload spliced two capital structures with no marker at the seam. Also learned that the 10-Q cover page count (2026-08-05) and balance sheet count (2026-06-30) differed by 9.4M shares because a customer exercised warrants in between — on a continuous issuer, take the cover page and record its as-of date. Added the rule extension: inside ~4 quarters of an IPO, go to the filings for every balance-sheet and per-share input, not just the share count. Note is 5-for-6. See Output/Stocks/Semiconductors/CBRS/analyze-2026-08-27.md.