Equity Incentive Plans (Tables)
|
12 Months Ended |
Dec. 31, 2021 |
Share Based Compensation Arrangement By Share Based Payment Award [Line Items] |
|
Schedule of Fair Value of Stock Option Grants Valuation Assumptions by Block-Scholes Option Pricing Model |
The fair value of stock option grants is set forth below and was determined using the Black-Scholes option pricing model with the following assumptions:
|
|
|
|
|
|
|
|
|
Year Ended December 31, |
|
|
2021 |
|
2020 |
|
2019 |
Fair value of common stock |
|
$31.12-$48.05 |
|
$23.49-$34.07 |
|
$20.07-$44.95 |
Expected term (in years) |
|
6 |
|
6 |
|
6 |
Risk-free interest rate |
|
0.45%-1.62% |
|
0.36%-0.83% |
|
1.71%-2.49% |
Expected volatility |
|
65%-67% |
|
64%-68% |
|
64%-67% |
Expected dividend yield |
|
— |
|
— |
|
— |
|
Schedule of Stock Option Activity |
A summary of stock option activities during 2021, 2020 and 2019 is as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number of Options Outstanding |
|
|
Weighted Average Exercise Price |
|
|
Weighted Average Grant Date Fair Value per Option |
|
|
Aggregate Intrinsic Value Exercised (in thousands) |
|
Outstanding at December 31, 2018 |
|
|
820,186 |
|
|
$ |
8.44 |
|
|
|
|
|
|
|
Granted |
|
|
138,200 |
|
|
$ |
35.76 |
|
|
$ |
21.86 |
|
|
|
|
Exercised |
|
|
(307,365 |
) |
|
$ |
1.47 |
|
|
|
|
|
$ |
12,117 |
|
Canceled |
|
|
(33,528 |
) |
|
$ |
24.80 |
|
|
|
|
|
|
|
Outstanding at December 31, 2019 |
|
|
617,493 |
|
|
$ |
17.13 |
|
|
|
|
|
|
|
Granted |
|
|
347,095 |
|
|
$ |
32.14 |
|
|
$ |
19.15 |
|
|
|
|
Exercised |
|
|
(96,456 |
) |
|
$ |
3.25 |
|
|
|
|
|
$ |
2,257 |
|
Canceled |
|
|
(54,890 |
) |
|
$ |
26.07 |
|
|
|
|
|
|
|
Outstanding at December 31, 2020 |
|
|
813,242 |
|
|
$ |
24.58 |
|
|
|
|
|
|
|
Granted |
|
|
111,489 |
|
|
$ |
39.00 |
|
|
$ |
23.32 |
|
|
|
|
Exercised |
|
|
(97,702 |
) |
|
$ |
9.20 |
|
|
|
|
|
$ |
3,064 |
|
Canceled |
|
|
(43,101 |
) |
|
$ |
35.84 |
|
|
|
|
|
|
|
Outstanding at December 31, 2021 |
|
|
783,928 |
|
|
$ |
28.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schedule of Additional Information for Stock Options |
Additional information for stock options at December 31, 2021 were as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number of Options |
|
|
Weighted Average Exercise Price |
|
|
Aggregate Intrinsic Value (in thousands) |
|
|
Weighted Average Remaining Contractual term (in years) |
|
Outstanding at December 31, 2021 |
|
783,928 |
|
|
|
28.00 |
|
|
$ |
4,524 |
|
|
|
7.30 |
|
Exercisable at December 31, 2021 |
|
453,000 |
|
|
|
23.17 |
|
|
$ |
4,362 |
|
|
|
6.37 |
|
|
Schedule of Unvested Restricted Stock Units Awards Activity |
The following table summarizes the activity of RSU awards:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number of RSUs |
|
|
Weighted Average Grant Date Fair Value per RSU |
|
|
Aggregate Fair Value of RSUs Vested (in thousands) |
|
Unvested RSUs at December 31, 2018 |
|
|
110,764 |
|
|
$ |
19.58 |
|
|
|
|
Granted |
|
|
62,382 |
|
|
$ |
44.05 |
|
|
|
|
Vested |
|
|
(58,150 |
) |
|
$ |
24.75 |
|
|
$ |
2,610 |
|
Unvested RSUs at December 31, 2019 |
|
|
114,996 |
|
|
$ |
30.24 |
|
|
|
|
Granted |
|
|
91,759 |
|
|
$ |
31.75 |
|
|
|
|
Vested |
|
|
(54,970 |
) |
|
$ |
32.12 |
|
|
$ |
1,766 |
|
Forfeited |
|
|
(10,277 |
) |
|
$ |
41.50 |
|
|
|
|
Unvested RSUs at December 31, 2020 |
|
|
141,508 |
|
|
$ |
29.67 |
|
|
|
|
Granted |
|
|
84,035 |
|
|
$ |
37.86 |
|
|
|
|
Vested |
|
|
(80,972 |
) |
|
$ |
29.22 |
|
|
$ |
3,078 |
|
Forfeited |
|
|
(15,761 |
) |
|
$ |
31.38 |
|
|
|
|
Unvested RSUs at December 31, 2021 |
|
|
128,810 |
|
|
$ |
35.09 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schedule of Stock-Based Compensation Expense Recorded in Consolidated Statements of Operations |
Total stock-based compensation expense is recorded in the consolidated statements of operations and was allocated as follows (in thousands):
|
|
|
|
|
|
|
|
|
|
|
|
|
Year Ended December 31, |
|
|
2021 |
|
|
2020 |
|
|
2019 |
|
Cost of revenues |
$ |
1,567 |
|
|
$ |
1,093 |
|
|
$ |
670 |
|
Sales and marketing |
|
1,612 |
|
|
|
1,268 |
|
|
|
955 |
|
Research and development |
|
734 |
|
|
|
580 |
|
|
|
365 |
|
General and administrative |
|
1,959 |
|
|
|
1,521 |
|
|
|
1,067 |
|
Total |
$ |
5,872 |
|
|
$ |
4,462 |
|
|
$ |
3,057 |
|
|
2017 Equity Incentive Plan |
|
Share Based Compensation Arrangement By Share Based Payment Award [Line Items] |
|
Schedule of Activity of Shares Available for Grant |
The following table summarizes the activity of shares available for grant under the 2017 Equity Incentive Plan:
|
|
|
|
|
|
|
Shares available for grant at December 31, 2020 |
|
|
1,814,379 |
|
Increase in accordance with the evergreen provision |
|
|
— |
|
Options issued during the year |
|
|
(111,489 |
) |
Canceled during the year |
|
|
43,101 |
|
RSUs granted |
|
|
(84,035 |
) |
Shares available for grant at December 31, 2021 |
|
|
1,661,956 |
|
|
|
|
|
|
2017 Employee Stock Purchase Plan |
|
Share Based Compensation Arrangement By Share Based Payment Award [Line Items] |
|
Schedule of Activity of Shares Available for Grant |
The following table summarizes the activity of shares available under the 2017 ESPP:
|
|
|
|
|
Shares available for grant at December 31, 2020 |
|
|
429,521 |
|
Increase in accordance with the evergreen provision |
|
|
— |
|
Issued during the year |
|
|
(30,193 |
) |
Shares available for grant at December 31, 2021 |
|
|
399,328 |
|
|