Financial Statement Analysis & Equity Valuation (ASC 260)
Treasury Stock & If-Converted Diluted EPS Formula
Calculate Basic EPS, Treasury-Stock-Method Incremental Option Shares MAX(0, N_opt*(1 - Strike/Avg_Price)), and ASC 260 / IAS 33 Antidilution-Guarded Diluted EPS across Convertible Debt.
Sequence options before convertible bonds—and exclude antidilutive securities from Diluted EPS!
Equity research models routinely misstate GAAP/IFRS Diluted Earnings Per Share (ASC 260 / IAS 33) by blindly adding every option and convertible bond into the share count! Under the Treasury Stock Method, employee options/warrants are dilutive ONLY when Average_Market_Price > Strike_Price—assuming exercise proceeds (N_opt * Strike) repurchase shares at Average_Market_Price, leaving Net Incremental Shares = MAX(0, N_opt * (1 - Strike / Avg_Market_Price)) (which carry $0 numerator adjustment, so in-the-money options ALWAYS dilute before debt!). Next, the If-Converted Method tests convertible bonds (adding Net_Interest_Saved to Net Income and Conv_Shares to the denominator) AGAINST Option-Diluted EPS: if Incremental Bond EPS (Net_Interest_Saved / Conv_Shares) exceeds Option-Diluted EPS, conversion would RAISE EPS (antidilutive!) and GAAP strictly EXCLUDES the bond via MIN(Option_Diluted_EPS, If_Converted_EPS)!
Verify on a Tech Issuer—Net_Income = $10,000,000 (B2), Weighted_Basic_Shares = 2,000,000 (B3 -> Basic EPS = $5.00 in E2), Employee_Options = 250,000 (B4), Option_Strike = $30.00 (B5), Average_Stock_Price = $50.00 (B6 -> Incremental Option Shares = 250,000 * (1 - 30/50) = 100,000 in E3, pulling Option-Diluted EPS to 10M / 2.1M = $4.7619), and Convertible_Bond_Net_Interest_on_100k_Shares = $600,000 ($6.00/sh incremental > $4.7619!, B7): If-Converted EPS would rise to $10.6M / 2.2M = $4.82, so GAAP Diluted EPS excludes the bond at $4.76 (E4) and flags "Exclude Bond: Antidilutive" (E5)!
| ASC 260 Diluted EPS Metric ($10M NI, 2.0M Sh, 250k Opt@$30 vs $50, 100k Conv@$600k Int) | Formula | Verified Output |
|---|---|---|
| Basic Earnings Per Share ($/sh) | Net_Income / Basic_Shares | $5.00/sh |
| Treasury Stock Option Shares | IF(Price <= Strike, 0, N*(1 - Strike/Price)) | 100,000 sh (0 sh @ Price=$25) |
| GAAP Diluted EPS ($/sh) | MIN(Opt_Diluted_EPS, If_Converted_EPS) | $4.76/sh ($4.64/sh @ $200k Int) |
| Convertible Bond Sequencing Gate | Bond_Inc_EPS < Opt_Diluted_EPS | Exclude Bond: Antidilutive |
ASC 260 Antidilution-Guarded Diluted EPS Formula
Validate positive Net_Income (under net loss all potential common shares are antidilutive!), Basic_Shares > 0, Options >= 0, Strike > 0, Avg_Price > 0, and Net_Coupon_Saved >= 0!
=LET(nt_i, B2, bs_s, B3, op_n, B4, st_k, B5, av_p, B6, cp_s, B7, IF(OR(nt_i <= 0, bs_s <= 0, op_n < 0, st_k <= 0, av_p <= 0, cp_s < 0), "Invalid ASC 260 EPS Input", LET(ts_s, IF(av_p <= st_k, 0, op_n * (1 - st_k / av_p)), ep_o, nt_i / (bs_s + ts_s), ep_c, (nt_i + cp_s) / (bs_s + ts_s + 100000), ROUND(MIN(ep_o, ep_c), 2))))Low-Coupon Dilutive Bond ($200k Interest) & Out-of-the-Money Option ($25 Stock) Checks
Lower Net_Coupon_Saved B7 to $200,000 ($2.00/sh < $4.76): the bond becomes dilutive, dropping GAAP Diluted EPS E4 to $4.64 ("Include Bond: Dilutive")! Or set Stock_Price B6 = $25 (< $30 strike) with B7 = $600k: both options and bonds are antidilutive, keeping Diluted EPS = $5.00!
=IF(ISTEXT(E4), E4, IF((B2 + B7) / (B3 + E3 + 100000) < B2 / (B3 + E3), "Include Bond: Dilutive", "Exclude Bond: Antidilutive"))Try the example
Use the original values or change them to test your understanding.