XML 72 R39.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Stock-Based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Share-Based Payment Arrangement [Abstract] |
Summary of Awards Outstanding by Each Award Type | The following table sets forth the number of awards outstanding for each award type as of:
| Outstanding at December 31,
Award type | 2024 |  | 2023
Restricted stock awards | 814,336 |  | 1,101,702 |
Time-based restricted stock units | 616,035 |  | 607,100 |
Performance-based restricted stock units | 1,029,214 |  | 1,209,515 |
Summary of Stock-Based Compensation Expense | The following table summarizes stock-based compensation expense:
| Years ended December 31,
(in thousands) | 2024 | 2023 | 2022
Included in cost of revenue: |  |  |
Cost of recurring | $ | 12,606 |  | $ | 14,052 |  | $ | 11,258 |
Cost of one-time services and other | 1,486 |  | 2,606 |  | 3,178 |
Total included in cost of revenue | 14,092 |  | 16,658 |  | 14,436 |
Included in operating expenses: |  |  |
Sales, marketing and customer success | 17,946 |  | 24,892 |  | 21,409 |
Research and development | 26,488 |  | 30,780 |  | 24,207 |
General and administrative | 46,442 |  | 55,432 |  | 50,242 |
Total included in operating expenses | 90,876 |  | 111,104 |  | 95,858 |
Total stock-based compensation expense | $ | 104,968 |  | $ | 127,762 |  | $ | 110,294 |
Summary of Unvested Restricted Stock Awards, Activity | The following table summarizes our unvested restricted stock awards as of December 31, 2024, and changes during the year then ended:
| Restricted stock awards | Weighted average grant-date fair value |  | Aggregate intrinsic value(1) (in thousands)
Unvested at January 1, 2024 | 1,101,702 |  | $ | 64.92 |  |  |
Granted | 422,685 |  | 69.86 |  |  |
Forfeited | (77,785) |  | 65.27 |  |  |
Vested | (632,266) |  | 67.47 |  |  |
Unvested at December 31, 2024 | 814,336 |  | 66.27 |  |  | $ | 60,196 |
(1)The intrinsic value is calculated as the market value as of the end of the fiscal period.
Summary of Unvested Restricted Stock Units, Activity | The following table summarizes our unvested, time-based restricted stock units as of December 31, 2024, and changes during the year then ended:
| Time-based restricted stock units | Weighted average grant-date fair value |  | Aggregate intrinsic value(1) (in thousands)
Unvested at January 1, 2024 | 607,100 |  | $ | 64.01 |  |  |
Granted | 330,913 |  | 67.73 |  |  |
Forfeited | (30,834) |  | 70.03 |  |  |
Vested | (291,144) |  | 66.54 |  |  |
Unvested at December 31, 2024 | 616,035 |  | 65.08 |  |  | $ | 45,537 |
(1)The intrinsic value is calculated as the market value as of the end of the fiscal period. The following table summarizes our unvested, performance-based restricted stock units as of December 31, 2024, and changes during the year then ended:
| Performance-based restricted stock units | Weighted average grant-date fair value |  | Aggregate intrinsic value(1) (in thousands)
Unvested at January 1, 2024 | 1,209,515 |  | $ | 61.29 |  |  |
Granted | 778,467 |  | 67.90 |  |  |
Forfeited | (51,271) |  | 66.66 |  |  |
Vested(2) | (907,497) |  | 61.17 |  |  |
Unvested at December 31, 2024 | 1,029,214 |  | 66.92 |  |  | $ | 76,079 |
(1)The intrinsic value is calculated as the market value as of the end of the fiscal period. (2)This amount represents the target number of shares that were eligible to be earned and vested. The number of shares earned and vested based on actual results when compared to the performance conditions was 1,119,025 and those shares had a weighted average grant date fair value of $61.17.

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

X
- Definition Tabular disclosure of share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the changes in outstanding nonvested restricted stock shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Subparagraph (c) -Paragraph 2 -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the changes in outstanding nonvested restricted stock units. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration