v3.22.4

Net Income Per Share Attributable to Common Stockholders (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
Earnings Per Share [Abstract] |
Schedule of Earnings per Share, Basic, by Common Class, Including Two Class Method | 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 |
Schedule of Earnings per Share, Diluted, by Common Class, Including Two Class Method | 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 |
Schedule of Antidilutive Securities Excluded from Computation of Earnings per Share | 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 Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -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 + Details
Name: | us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the effect of income (loss) on basic earnings per share. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 55 -Paragraph 52 -URI https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 3 -URI https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the effect of income (loss) on an entity's diluted earnings per share. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 3 -URI https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 55 -Paragraph 52 -URI https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration