2. NET INCOME (LOSS) PER SHARE

Basic net income (loss) per share is computed by dividing net income (loss) by the weighted-average number of shares of common stock outstanding during the period. Diluted net income (loss) per share is computed by dividing net income (loss) by the weighted-average number of shares of common stock outstanding during the period and the number of additional shares of common stock that would have been outstanding if potentially dilutive securities had been issued. Potentially dilutive securities include stock options, RSUs and shares issuable under our Employee Stock Purchase Plan (Purchase Plan). The dilutive effect of these potentially dilutive securities is reflected in diluted earnings per share using the treasury stock method. Under the treasury stock method, an increase in the fair market value of our common stock can result in a greater dilutive effect from potentially dilutive securities.

The following table sets forth the computation of basic and diluted earnings per share (in thousands except per share amounts):

Year Ended December 31,

    

2024

    

2023

    

2022

EPS Numerator:

Net income (loss)

$

17,485

$

(25,091)

$

(58,573)

EPS Denominator—Basic:

Weighted-average common shares outstanding

 

17,579

 

17,401

 

17,049

EPS Denominator—Diluted:

Weighted-average common shares outstanding

 

17,579

 

17,401

 

17,049

Dilutive effect of stock options, RSUs and shares under Purchase Plan

 

108

 

 

Weighted-average shares outstanding and common stock equivalents

 

17,687

 

17,401

 

17,049

Net income (loss) per share

Basic

$

0.99

$

(1.44)

$

(3.44)

Diluted

$

0.99

$

(1.44)

$

(3.44)

The potential shares of common stock that were excluded from the computation of diluted net loss per share for the periods presented because including them would have been antidilutive are as follows (in thousands):

Year Ended December 31,

2024

    

2023

    

2022

Stock options

3,391

 

3,411

 

3,469

RSUs

108

 

186

 

110

Total

3,499

3,597

3,579

Historical Timeline

Fiscal YearFiled
2024Mar 4, 2025Showing above
2023Mar 5, 2024
2022Mar 7, 2023
2021Mar 1, 2022

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.