Playbook › Playbook
EPS and share-count CAGRs use the weighted average, which cannot see a step change in shares
Claim
The two share counts in a filing answer different questions and are not interchangeable:
- Weighted-average diluted shares — an income-statement construct. It weights each share by the fraction of the period it existed. It is the correct denominator for EPS for that period and it is the only thing vendors use to build EPS, P/E and share-count CAGRs.
- Ordinary shares outstanding — a balance-sheet line, a point-in-time count. It is what you actually own a fraction of, and it is what market cap is computed from.
In a normal year with steady buybacks or drip issuance the two track each other and nobody notices. After a discrete issuance late in a period they diverge violently, and every vendor ratio silently picks the wrong one.
The case that caught it — TSLA, 2026-08-27
| Quarter end | Ordinary shares outstanding | Weighted-avg diluted |
|---|---|---|
| 2025-06-30 | 3,224M | 3,519M |
| 2025-09-30 | 3,324M | 3,526M |
| 2025-12-31 | 3,751M (+427M) | 3,539M |
| 2026-03-31 | 3,755M | 3,538M |
| 2026-06-30 | 3,949M (+194M) | 3,540M |
The balance-sheet count rose 22.5% in twelve months. The weighted average rose 0.6%.
Two causes, both disclosed in 10-Q Note 9: the 2025 CEO Performance Award (~423.7M shares) ratified 2025-11-06, and Musk's exercise of 303,960,630 options at $23.34 on 2026-06-16 after the Delaware Supreme Court reinstated the 2018 award. The June exercise landed two weeks before quarter-end, so it moved the weighted average by roughly 2/13ths of its true weight.
What broke
| Field | Reported | Truth |
|---|---|---|
fin.py Shares(dil) CAGR (3y) |
0.5% | +22.5% in 12 months |
PE(ttm) |
331.6x | 368x on shares actually outstanding |
| Revenue/share, FCF/share off the vendor count | flattered by ~12% | — |
The P/E error has a specific shape and it is always in the same direction. Yahoo computes
market cap from sharesOutstanding (3.949B — correct) but EPS from the weighted average
(3.54B). Numerator right, denominator wrong, so the multiple is understated. The gap is
exactly the ratio of the two counts: 3,949 ÷ 3,540 = 1.116, and 331.6 × 1.116 = 370. It
reconciles.
Note the asymmetry with a buyback. A large buyback late in a period produces the mirror error — the weighted average overstates the count, so EPS is understated and the P/E reads too high. Same mechanism, opposite sign, and much rarer to matter because buybacks are usually gradual. Issuance is lumpy; that is why this pitfall almost always makes a stock look cheaper.
How to spot it in thirty seconds
- Compare
Ordinary Shares Numberon the quarterly balance sheet againstDiluted Average Shareson the quarterly income statement. If they differ by more than ~3%, stop and find out why. On TSLA the gap was 11.6%. - Never quote a share-count CAGR from a vendor. Read the balance-sheet count at the two
endpoints yourself.
fin.py'sShares(dil)trend row is the weighted average and will report ~0% through a 20%+ dilution event. - Cross-check against a second vendor's balance-sheet field. roic.ai's
bs_sh_outgave 3,216M FY2024 → 3,751M FY2025 (+16.6%), independently confirming the step was real and not a Yahoo artifact. - Look at paid-in capital. TSLA's APIC went $40.4B → $45.9B in twelve months. A jump in APIC without a matching jump in retained earnings is issuance, and it is visible even when the share-count fields disagree.
What triggers it
Any discrete, dated issuance — and all of these are findable in advance:
- A reinstated, ratified or newly granted executive equity award (the TSLA case, twice)
- An acquisition closing with a stock component (watch for this on RKLB — the Iridium deal issues ~42M+ shares at close and the guided count goes 641M → ~700M)
- A PIPE, ATM block, or converted convertible settling near a period end
- A secondary offering
How to apply
- Compute every per-share metric off the balance-sheet count, not the vendor's. This is
analysis_notes.md§1.4 and §1.6 — per-share is what I own — and the vendor cannot do it for you. - When the tripwire fires, restate the trailing P/E before comparing the name to anything.
- The forward P/E is usually less affected, because consensus share counts are built from the post-issuance base — but confirm rather than assume, and check the fiscal year while you are there ([[pitfall-vendor-forward-eps-is-the-wrong-fiscal-year]]).
- Related: [[pitfall-diluted-share-count-toggles-across-profit-loss]] (a different mechanism — the diluted count contracts when a company crosses into a loss, because dilutive securities become antidilutive) · [[pitfall-yahoo-share-count-dual-class-fpi]] (the count is a share class problem rather than a timing problem).
History
- 2026-08-27 — Established from the TSLA analysis. Filed
static: this is permanent GAAP mechanics plus a permanent vendor design choice, not a feature of any market regime.