Earning per Share
Earnings per Share
The Company calculates earnings per share in accordance with ASC Topic 260 - Earnings Per Share (“EPS”). Basic earnings per share of the Company's common stock applicable to common stockholders is computed by dividing earnings applicable to common stockholders by the weighted-average number of shares of the Company's common stock outstanding and assumed to be outstanding. Diluted EPS assumes the dilutive effect of outstanding common stock warrants and shares issued in conjunction with the Company’s ESPP and RSUs, all using the treasury stock method.
The following table sets forth the computation of the basic and diluted earnings per share attributable to the Company's common stockholders for the years ended December 31, 2025, 2024 and 2023:
| | | | | | | | | | | | | | | | | | | |
| For the Years Ended December 31, |
| (in thousands, except per share amounts) | 2025 | | 2024 | | 2023 | | |
| EPS numerator: | | | | | | | |
| Net income | $ | 39,064 | | | $ | 30,875 | | | $ | 20,754 | | | |
| | | | | | | |
| EPS denominator: | | | | | | | |
| Weighted average shares outstanding – basic | 11,575 | | | 11,244 | | | 10,773 | | | |
| In-the-money warrants | — | | | — | | | 249 | | | |
| Nonvested restricted stock units | 504 | | | 783 | | | 789 | | | |
| Employee stock purchase plan | 1 | | | — | | | 1 | | | |
| Weighted average shares outstanding – diluted | 12,080 | | | 12,027 | | | 11,812 | | | |
| | | | | | | |
| EPS: | | | | | | | |
| Basic | $ | 3.37 | | | $ | 2.75 | | | $ | 1.93 | | | |
| Diluted | $ | 3.23 | | | $ | 2.57 | | | $ | 1.76 | | | |
The following table summarizes the securities that were antidilutive, and therefore, were not included in the computations of diluted income per share of the Company's common stock:
| | | | | | | | | | | | | | | | | | | |
| For the Years Ended December 31, |
| 2025 | | 2024 | | 2023 | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| Performance-based RSUs | — | | | — | | | 95 | | | |
| Market-based RSUs | 8,862 | | | — | | | — | | | |
| Employee stock purchase plan | 332 | | | 351 | | | 1,044 | | | |
| | | | | | | |
| | | | | | | |
| Total | 9,194 | | | 351 | | | 1,139 | | | |
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.