Earnings Per Share
The computation of earnings per share is as follows:
Year Ended December 31,
202520242023
Numerator
Net income (loss)
$1,641 $(20,390)$(63,197)
Denominator
Weighted average shares, basic
122,670 120,385 117,389 
Dilutive impact of:
Stock options
1,239 — — 
RSUs and PSUs
1,101 — — 
ESPP purchase rights90 — — 
Weighted average shares, diluted
125,100 120,385 117,389 
Earnings (loss) per share
Basic$0.01 $(0.17)$(0.54)
Diluted$0.01 $(0.17)$(0.54)
The following potentially dilutive shares were excluded from the computation of diluted earnings per share because including them would have been antidilutive:
Year Ended December 31,
202520242023
Stock options
— 1,697 2,156 
Unvested RSUs681 2,740 3,050 
Unvested PSUs4,633 4,398 4,398 
ESPP purchase rights— 286 502 

About Earnings Per Share Disclosures

The earnings per share disclosure breaks down the calculation from net income to both basic and diluted EPS, revealing the full impact of a company's capital structure on per-share economics. The reconciliation between basic and diluted share counts exposes how many stock options, RSUs, convertible securities, and warrants are potentially dilutive to existing shareholders.

Key signals: a widening gap between basic and diluted shares indicates growing dilution from equity compensation or convertible instruments. Anti-dilutive securities excluded from the diluted calculation deserve attention — they represent latent dilution that will materialize if the stock price rises. Watch for the effect of share buybacks on per-share metrics: EPS growth driven primarily by repurchases rather than income growth signals weakening fundamentals. Compare year-over-year changes in the diluted share count against equity compensation expense to assess whether management is effectively managing dilution.