| Schedule of Calculation of Basic and Diluted Earnings per Share |
The following table presents the calculation of basic and diluted earnings per share:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
|
2026 |
|
|
2025 |
|
|
2026 |
|
|
2025 |
|
|
|
Class A |
|
|
Class B |
|
|
Class A |
|
|
Class B |
|
|
Class A |
|
|
Class B |
|
|
Class A |
|
|
Class B |
|
|
|
(in thousands, except per share data) |
|
Numerator |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Net income |
|
$ |
10,773 |
|
|
$ |
7,850 |
|
|
$ |
5,669 |
|
|
$ |
4,342 |
|
|
$ |
18,709 |
|
|
$ |
13,672 |
|
|
$ |
12,100 |
|
|
$ |
9,317 |
|
Net (income) loss attributable to non-controlling interest |
|
|
(37 |
) |
|
|
(27 |
) |
|
|
85 |
|
|
|
65 |
|
|
|
306 |
|
|
|
224 |
|
|
|
318 |
|
|
|
245 |
|
Net income attributable to common stockholders — basic |
|
|
10,736 |
|
|
|
7,823 |
|
|
|
5,754 |
|
|
|
4,407 |
|
|
|
19,015 |
|
|
|
13,896 |
|
|
|
12,418 |
|
|
|
9,562 |
|
Reallocation of undistributed earnings as a result of conversion of Class B to Class A common stock |
|
|
7,823 |
|
|
|
— |
|
|
|
4,407 |
|
|
|
— |
|
|
|
13,896 |
|
|
|
— |
|
|
|
9,562 |
|
|
|
— |
|
Reallocation of undistributed earnings to Class B common stock |
|
|
— |
|
|
|
102 |
|
|
|
— |
|
|
|
49 |
|
|
|
— |
|
|
|
234 |
|
|
|
— |
|
|
|
140 |
|
Net income attributable to common stockholders — diluted |
|
$ |
18,559 |
|
|
$ |
7,925 |
|
|
$ |
10,161 |
|
|
$ |
4,456 |
|
|
$ |
32,911 |
|
|
$ |
14,130 |
|
|
$ |
21,980 |
|
|
$ |
9,702 |
|
Denominator |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Weighted average shares used to compute earnings per share — basic |
|
|
41,253 |
|
|
|
30,060 |
|
|
|
40,364 |
|
|
|
30,919 |
|
|
|
41,244 |
|
|
|
30,141 |
|
|
|
40,265 |
|
|
|
31,005 |
|
Conversion of Class B to Class A common stock outstanding |
|
|
30,060 |
|
|
|
— |
|
|
|
30,919 |
|
|
|
— |
|
|
|
30,141 |
|
|
|
— |
|
|
|
31,005 |
|
|
|
— |
|
Effect of dilutive stock options and RSUs |
|
|
685 |
|
|
|
685 |
|
|
|
615 |
|
|
|
615 |
|
|
|
789 |
|
|
|
789 |
|
|
|
815 |
|
|
|
815 |
|
Weighted average number of shares used to compute earnings per share — diluted |
|
|
71,998 |
|
|
|
30,745 |
|
|
|
71,898 |
|
|
|
31,534 |
|
|
|
72,174 |
|
|
|
30,930 |
|
|
|
72,085 |
|
|
|
31,820 |
|
Earnings per share: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Basic |
|
$ |
0.26 |
|
|
$ |
0.26 |
|
|
$ |
0.14 |
|
|
$ |
0.14 |
|
|
$ |
0.46 |
|
|
$ |
0.46 |
|
|
$ |
0.31 |
|
|
$ |
0.31 |
|
Diluted |
|
$ |
0.26 |
|
|
$ |
0.26 |
|
|
$ |
0.14 |
|
|
$ |
0.14 |
|
|
$ |
0.46 |
|
|
$ |
0.46 |
|
|
$ |
0.30 |
|
|
$ |
0.30 |
|
|
| Schedule of Antidilutive Securities Excluded from Computation of Basic and Diluted Earnings per Share |
The following have been excluded from the computation of basic and diluted earnings per share as their effect would have been anti-dilutive (in thousands):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
|
2026 |
|
|
2025 |
|
|
2026 |
|
|
2025 |
|
Stock options to purchase Class A and Class B common stock, and RSUs |
|
|
1,347 |
|
|
|
1,470 |
|
|
|
1,299 |
|
|
|
1,224 |
|
|