v3.25.2
Net Income Per Share (Tables)
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
Schedule of Reconciliation of Net Income and Number of Shares in the Calculation of Basic and Diluted Net Income per Share
A reconciliation of net income and the number of shares in the calculation of basic and diluted net income per share is as follows (in thousands, except share and per share amounts):
Three Months Ended
June 30
Six Months Ended
June 30,
2025202420252024
Basic net income per common share:
Numerator:
Net income $17,112$16,485$32,171$33,383
Denominator:
Weighted-average shares used in computing basic net income per share85,766,25493,868,40985,644,09195,160,085
Basic net income per share $0.20$0.18$0.38$0.35
Diluted net income per common share:
Numerator:
Net income$17,112$16,485$32,171$33,383
Denominator:
Weighted-average shares used in computing basic net income per share85,766,25493,868,40985,644,09195,160,085
Effect of dilutive securities
  Options to purchase common stock3,174,8433,558,8533,173,6873,748,342
  Shares issuable under ESPP1,3843,0404,523
  Warrants to purchase common stock288,081290,035
  Restricted stock units 696,196121,193690,128253,350
Total effect of dilutive securities3,872,4233,971,1673,863,8154,296,250
Weighted-average shares used in computing diluted net income per share89,638,67797,839,57689,507,90699,456,335
Diluted net income per share $0.19$0.17$0.36$0.34
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share
The following weighted-average outstanding shares of potentially dilutive securities were excluded from the computation of diluted income per share for the period presented because including them would have been antidilutive:
Three Months Ended
June 30,
Six Months Ended
June 30,
2025202420252024
Options to purchase common stock15,199,88413,667,01915,207,45013,111,238
Shares issuable under ESPP933
Restricted stock units1,759,9282,442,9201,810,4381,558,562
Total 16,959,81216,109,93917,018,82114,669,800