| Net Income Per Share The components and computation of basic and diluted net income per share were as follows: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | (in thousands, except per share amounts) | 2026 | | 2025 | | 2026 | | 2025 | | Numerator | | | | | | | | | Net income | $ | 6,864 | | | $ | 19,733 | | | $ | 26,593 | | | $ | 41,929 | | | Denominator | | | | | | | | | Weighted average common shares outstanding, basic | 36,533 | | | 37,965 | | | 36,953 | | | 37,978 | | | Options to purchase common stock and ESPP | — | | | 73 | | | 5 | | | 86 | | | PSUs, RSUs, RSAs, and DSUs | 44 | | | 61 | | | 68 | | | 68 | | | Weighted average common shares outstanding, diluted | 36,577 | | | 38,099 | | | 37,026 | | | 38,132 | | | Net income per share | | | | | | | | | Basic | $ | 0.19 | | | $ | 0.52 | | | $ | 0.72 | | | $ | 1.10 | | | Diluted | $ | 0.19 | | | $ | 0.52 | | | $ | 0.72 | | | $ | 1.10 | |
The number of outstanding potential common shares that were excluded from the calculation of diluted net income per share as they were anti-dilutive was as follows: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | (in thousands) | 2026 | | 2025 | | 2026 | | 2025 | | Anti-dilutive shares | 1,038 | | | 307 | | | 880 | | | 319 | |
|