v3.22.4

Net Income Per Share Attributable to Common Stockholders | 12 Months Ended
--- | ---
Dec. 31, 2022
Earnings Per Share [Abstract] |
Net Income Per Share Attributable to Common Stockholders | Net Income Per Share Attributable to Common Stockholders The Company has two classes of common stock, Class A and Class B. The rights, including the liquidation and dividend rights, of the holders of Class A and Class B common stock are identical, except with respect to voting. As the liquidation and dividend rights are identical, the undistributed earnings are allocated on a proportionate basis and the resulting net loss per share attributed to common stockholders will, therefore, be the same for both Class A and Class B common stock on an individual or combined basis. The following table sets forth the computation of the Company’s basic and diluted net income per share (in thousands, except share and per share data):
| Year Ended December 31,
| 2022 |  | 2021 |  | 2020
| (in thousands, except share and per share data)
Numerator: |  |  |  |  |
Net income | $ | 28,705 |  |  | $ | 56,604 |  |  | $ | 26,613 |
Less: Undistributed earnings allocated to participating securities | — |  |  | — |  |  | (20,187) |
Net income attributable to common stockholders – basic | $ | 28,705 |  |  | $ | 56,604 |  |  | $ | 6,426 |
Denominator: |  |  |  |  |
Weighted average common shares outstanding – basic | 52,278,009 |  |  | 50,184,455 |  |  | 12,642,293 |
Net income per share attributable to common stockholders – basic: | $ | 0.55 |  |  | $ | 1.13 |  |  | $ | 0.51 |
Numerator: |  |  |  |  |
Net income attributable to common stockholders - diluted | $ | 28,705 |  |  | $ | 56,604 |  |  | $ | 7,929 |
Denominator: |  |  |  |  |
Weighted average shares outstanding – basic | 52,278,009 |  |  | 50,184,455 |  |  | 12,642,293 |
Options to purchase common stock | 4,605,927 |  |  | 6,353,779 |  |  | 4,483,589 |
Restricted stock | 12,647 |  |  | 29,662 |  |  | — |
Employee stock purchase plan shares | 11,614 |  |  | 60,678 |  |  | — |
Weighted average shares outstanding – diluted | 56,908,197 |  |  | 56,628,574 |  |  | 17,125,882 |
Net income per share attributable to common stockholders – diluted | $ | 0.50 |  |  | $ | 1.00 |  |  | $ | 0.46 |
The following weighted-average outstanding shares of common stock equivalents were excluded from the computation of diluted net income per share attributable to common stockholders for the periods presented because including them would have been anti-dilutive:
| Year Ended December 31,
| 2022 |  | 2021 |  | 2020
Options to purchase common stock | 1,016,449 |  | 671,244 |  | 846,481
Unvested restricted stock units | 1,164,817 |  | — |  | —
ESPP | 72,522 |  | — |  | —
Total common stock equivalents excluded from net income per share attributable to common stockholders – diluted | 2,253,788 |  | 671,244 |  | 846,481

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 3 -URI https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -URI https://asc.fasb.org/topic&trid=2144383 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration