EARNINGS PER SHARE
The following table sets forth the computation of the basic and diluted earnings per share (in thousands, except per share data): 
Year ended December 31,
202520242023
Numerator for basic and diluted earnings per share:
Net income$51,507 $32,953 $33,413 
Less: Earnings allocated to unvested restricted stock(687)(432)(306)
Income attributable to common stockholders$50,820 $32,521 $33,107 
Denominator:
Denominator for basic earnings per common share – weighted average shares outstanding15,428 14,971 14,803 
Effect of dilutive securities:
Stock options206 56 55 
Performance awards— 416 597 
Denominator for diluted earnings per common share – weighted average shares outstanding15,634 15,443 15,455 
Basic earnings per common share:$3.29 $2.17 $2.24 
Diluted earnings per common share:$3.25 $2.10 $2.14 
Stock options excluded from the computation of diluted earnings per share because the inclusion of such stock options would result in an antidilutive effect are as follows (in thousands):
Year ended December 31,
202520242023
Antidilutive stock options223 1,143 1,208 
Share-based awards that contain non-forfeitable rights to dividends or dividend equivalents, whether paid or unpaid, are participating securities and included in the computation of both basic and diluted earnings per share. Our grants of stock awards to our employees are considered participating securities and we have prepared our earnings per share calculations to exclude earnings allocated to unvested restricted stock awards, using the two-class method, in the basic and diluted weighted average shares outstanding calculation.

Historical Timeline

Fiscal YearFiled
2025Feb 26, 2026Showing above
2024Feb 28, 2025
2023Mar 1, 2024
2022Mar 1, 2023
2021Mar 2, 2022
2020Mar 2, 2021
2019Feb 28, 2020
2018Feb 28, 2019
2017Feb 21, 2018
2016Feb 23, 2017
2015Feb 23, 2016

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.