XML 53 R34.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Share-Based Payment Arrangement, Cost by Plan [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2022

  

2021

  

2020

 
             

Stock options and other

 $16,103  $17,553  $13,327 

Employee stock purchase plan

  1,442   1,542   1,346 

Total stock-based compensation expense

 $17,545  $19,095  $14,673 
             

Cost of revenue

 $2,172  $2,595  $2,451 

Operating expenses:

            

Marketing and sales

  3,295   3,736   3,121 

Research and development

  2,189   2,833   2,440 

General and administrative

  9,889   9,931   6,661 

Total stock-based compensation expense

 $17,545  $19,095  $14,673 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2022

  

2021

  

2020

 
             

Risk-free interest rate

  1.94 - 3.40%   0.80 - 1.12%   0.50 - 1.47% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  45.95 - 46.03%   45.28 - 45.53%   42.40 - 43.83% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

  $23.11   $128.14   $45.32 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2020

  276,266  $72.38 

Granted

  60,065   105.79 

Exercised

  (68,958)  57.00 

Cancelled

  (37,842)  67.92 

Options outstanding at December 31, 2020

  229,531   86.46 

Granted

  57,901   128.14 

Exercised

  (28,991)  58.78 

Cancelled

  (25,057)  109.31 

Options outstanding at December 31, 2021

  233,384   97.78 

Granted

  118,434   48.24 

Exercised

  (3,114)  30.58 

Cancelled

  (84,712)  89.32 

Options outstanding at December 31, 2022

  263,992  $79.07 
         

Exercisable at December 31, 2022

  102,692  $90.22 
Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]
  

Options Outstanding, Vested and Expected to Vest

  

Options Exercisable

 

Range of Exercise Prices

 Number Outstanding  Weighted Average Remaining Contractual Life  

Weighted Average Exercise Price ($)

  Number Exercisable  

Weighted Average Exercise Price ($)

 
                  

$39.11 to $66.87

 137,829  7.63  

49.84

  32,808  

56.53

 

$66.88 to $96.20

 37,608  6.72  

89.37

  17,016  

82.08

 

$96.21 to $180.46

 88,555  6.81  

120.17

  52,868  

113.74

 
Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Restricted stock at January 1, 2020

  314,973  $89.55 

Granted

  108,179   111.76 

Restrictions lapsed

  (101,941)  84.70 

Forfeited

  (14,012)  94.24 

Restricted stock at December 31, 2020

  307,199   98.87 

Granted

  205,996   123.61 

Restrictions lapsed

  (115,908)  91.26 

Forfeited

  (53,505)  128.05 

Restricted stock at December 31, 2021

  343,782   111.79 

Granted

  315,432   42.03 

Restrictions lapsed

  (130,452)  101.32 

Forfeited

  (50,166)  96.48 

Restricted stock at December 31, 2022

  478,596  $70.36 
Schedule of Nonvested Performance-Based Units Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Performance stock at January 1, 2020

  9,383  $58.35 

Granted

  19,956   118.66 

Restrictions lapsed

  (7,113)  58.35 

Performance change

  -   - 

Forfeited

  (2,270)  58.35 

Performance stock at December 31, 2020

  19,956   118.66 

Granted

  15,078   203.64 

Restrictions lapsed

  -   - 

Performance change

  (10,366)  192.95 

Forfeited

  (7,829)  113.91 

Performance stock at December 31, 2021

  16,839   115.56 

Granted

  35,697   96.71 

Restrictions lapsed

  -   - 

Performance change

  (13,156)  99.59 

Forfeited

  (3,578)  121.79 

Performance stock at December 31, 2022

  35,802  $77.91 
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2022

  

2021

  

2020

 
          

Risk-free interest rate

 0.17 - 4.60%  0.06 - 0.17%  0.12 - 0.17% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 47.05 - 67.84%  53.44 - 65.53%  50.85 - 59.99% 

Expected dividend yield

 0%  0%  0%