Net Income (Loss) Per Share
Basic net income (loss) per share is computed based on the weighted average number of shares of common stock outstanding during the period. Diluted net income (loss) per share is computed based on the weighted average number of common shares outstanding plus the effect of potentially dilutive common shares outstanding during the
period using the applicable methods. The potentially dilutive common shares during the years ended December 31, 2024, 2023 and 2022 include unexercised stock options, unvested time-based restricted stock units and unvested performance-based restricted stock units whose performance conditions have been satisfied. The potentially dilutive common shares during the same periods did not include performance-based restricted stock units if the performance conditions of these awards have not been satisfied. The potentially dilutive common shares are included in the calculation of diluted net income (loss) per share only when their effect is dilutive.
The following table sets forth the computation of basic and diluted net income (loss) per share attributable to common stockholders for the years ended December 31, 2024, 2023 and 2022:
 Year Ended December 31,
 202420232022
(in thousands, except share and per share data)
Basic net income (loss) per share:
Numerator
Net income (loss)$(135,010)$22,070 $66,620 
Net income (loss) attributable to common stockholders$(135,010)$22,070 $66,620 
Denominator
Weighted average common shares outstanding119,179,766 120,826,644 126,108,329 
Basic net income (loss) per share attributable to common stockholders$(1.13)$0.18 $0.53 
Diluted net income (loss) per share:
Numerator
Net income (loss) attributable to common stockholders$(135,010)$22,070 $66,620 
Denominator
Basic weighted average common shares outstanding119,179,766 120,826,644 126,108,329 
Dilutive effect of time-based and performance-based restricted stock units outstanding— 648,236 153,285 
Diluted weighted average common shares outstanding119,179,766 121,474,880 126,261,614 
Diluted net income (loss) per share attributable to common stockholders$(1.13)$0.18 $0.53 
The following potentially dilutive outstanding securities for the years ended December 31, 2024, 2023 and 2022 were excluded from the computation of diluted net income (loss) per share because their effect would have been anti-dilutive for the periods presented, or the issuance of such shares is contingent upon the satisfaction of certain conditions which were not satisfied by the end of the periods:
 Year Ended December 31,
 202420232022
Stock options122,965 140,049 172,461 
Time-based restricted stock units2,798,939 280,702 411,349 
Performance-based restricted stock units697,238 424,675 159,965 
Total3,619,142 845,426 743,775 

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.