XML 36 R13.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 5 - Stock-based Compensation | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes to Financial Statements |
Share-Based Payment Arrangement [Text Block] | (5) Stock-Based Compensation Stock-based compensation includes expense charges for all stock-based awards to employees and directors. These awards include restricted stock awards, restricted stock units, and performance restricted stock units. Stock-based compensation expense related to internal labor is capitalized to software and patent costs based on direct labor hours charged to capitalized software and patent costs. Determining Fair Value Restricted Stock Awards The fair value of restricted stock awards (“RSA”) that vest upon meeting a service condition is based on the fair market value of the Company’s common stock on the date of the grant (measurement date) and is recognized on a straight-line basis over the service period of the award, which is generally three to four years for employee grants and one to three years for director grants. Restricted Stock Units The fair value of restricted stock unit (“RSU”) awards that vest upon meeting a service condition is based on the fair market value of the Company’s common stock on the date of the grant (measurement date) and is recognized on a straight-line basis over the service period of the award, which is generally three to four years for employee grants. Performance Restricted Stock Units The fair value of performance restricted stock unit (“PRSU”) awards that vest upon meeting a service condition and a performance condition, such as the Company exceeding a future annual recurring revenue target, is determined based on the fair market value of the Company’s common stock on the date of the grant (measurement date), adjusted for probability of achievement of the performance criteria as of each reporting date, and is recognized on a straight-line basis over the service period of the award, which is generally three years for employee grants. The probability of achievement is subject to judgment, and could change from period to period, impacting the amount of expense to be recognized. The fair value of performance restricted stock units awards that vest upon meeting a service condition and a market condition, such as the Company exceeding shareholder returns as compared to an index of peer companies, is determined on the date of grant (measurement date) using the Monte Carlo valuation model. The Company recognizes the fair value of the award on a straight-line basis over the service period of the award, which is generally three years for employee grants. The following inputs are used in the Monte Carlo valuation model to estimate the fair value: Stock Price. The stock price represents the fair market value of the Company’s common stock on the date of the grant. Expected Volatility. The Company estimates the volatility of its common stock at the date of grant based on the historical volatility of its common stock based on historical prices over the most recent period commensurate with the term of the award. Risk-Free Interest Rate. The Company determines the risk-free interest rate using current U.S. treasury yields for bonds with a maturity commensurate with the term of the award. Monte Carlo Valuation Inputs:
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |
Stock price |  | $ | 36.64 |  |  | $ | 22.37 |
Expected volatility |  |  | 66.3 | % |  |  | 74.7 | %
Risk-free interest rate |  |  | 4.3 | % |  |  | 4.3 | %
Stock-based Compensation
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |
Stock-based compensation: |  |  |  |  |  |  |  |
Cost of revenue |  | $ | 706 |  |  | $ | 1,126 |
Sales and marketing |  |  | 2,788 |  |  |  | 2,640 |
Research, development and engineering |  |  | 2,522 |  |  |  | 2,962 |
General and administrative |  |  | 4,013 |  |  |  | 4,430 |
Stock-based compensation expense |  |  | 10,029 |  |  |  | 11,158 |
Capitalized to software and patent costs |  |  | 30 |  |  |  | 63 |
Total stock-based compensation |  | $ | 10,059 |  |  | $ | 11,221 |
The following table sets forth total unrecognized compensation costs related to non-vested stock-based awards granted under the Company’s stock incentive plans:
|  | December 31, |  |  | December 31, |
|  | 2024 |  |  | 2023 |
Total unrecognized compensation costs |  | $ | 16,226 |  |  | $ | 15,370 |
Total unrecognized compensation costs will be adjusted for any future forfeitures if and when they occur. The Company expects to recognize the total unrecognized compensation costs as of December 31, 2024 for all non-vested stock-based awards over weighted average periods through December 31, 2028 as follows:
|  | RSAs |  |  | RSUs |  |  | PRSUs |
Weighted average period (in years) |  |  | 1.01 |  |  |  | 1.33 |  |  |  | 1.32 |
As of December 31, 2024, under the Company’s stock incentive plan, an additional 1,274 shares remained available for future grants. The Company issues new shares upon grants of RSAs and vesting of RSU and PRSU awards. Restricted Stock Awards Activity The following table presents the unvested balance of RSA activity:
|  |  |  |  |  | Weighted |
|  |  |  |  |  | Average |
|  | Number of |  |  | Grant Date |
|  | Shares |  |  | Fair Value |
Unvested balance, December 31, 2022 |  |  | 196 |  |  | $ | 32.06 |
Granted |  |  | 45 |  |  | $ | 22.10 |
Vested |  |  | (130 | ) |  | $ | 30.18 |
Forfeited |  |  | (6 | ) |  | $ | 34.89 |
Unvested balance, December 31, 2023 |  |  | 105 |  |  | $ | 29.89 |
Granted |  |  | 45 |  |  | $ | 28.37 |
Vested |  |  | (84 | ) |  | $ | 29.20 |
Forfeited |  |  | (7 | ) |  | $ | 27.57 |
Unvested balance, December 31, 2024 |  |  | 59 |  |  | $ | 29.98 |
The fair value of RSAs vested is as follows:
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |
Fair value of RSAs vested |  | $ | 2,234 |  |  | $ | 3,273 |
Restricted Stock Units Activity The following table presents the unvested balance of RSU awards activity:
|  |  |  |  |  | Weighted |
|  |  |  |  |  | Average |
|  | Number of |  |  | Grant Date |
|  | Units |  |  | Fair Value |
Unvested balance, December 31, 2022 |  |  | 370 |  |  | $ | 24.77 |
Granted |  |  | 298 |  |  | $ | 23.20 |
Vested |  |  | (161 | ) |  | $ | 24.46 |
Forfeited |  |  | (65 | ) |  | $ | 25.17 |
Unvested balance, December 31, 2023 |  |  | 442 |  |  | $ | 23.77 |
Granted |  |  | 228 |  |  | $ | 35.29 |
Vested |  |  | (197 | ) |  | $ | 26.86 |
Forfeited |  |  | (67 | ) |  | $ | 26.58 |
Unvested balance, December 31, 2024 |  |  | 406 |  |  | $ | 28.27 |
The fair value of RSU awards vested is as follows:
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |
Fair value of RSU awards vested |  | $ | 5,747 |  |  | $ | 4,893 |
Performance Restricted Stock Units Activity The following table presents the unvested balance of PRSU awards activity:
|  |  |  |  |  | Weighted |
|  |  |  |  |  | Average |
|  | Number of |  |  | Grant Date |
|  | Units |  |  | Fair Value |
Unvested balance, December 31, 2021 |  |  | — |  |  | $ | — |
Granted |  |  | 73 |  |  | $ | 31.93 |
Vested |  |  | — |  |  | $ | — |
Forfeited |  |  | (6 | ) |  | $ | 32.02 |
Unvested balance, December 31, 2022 |  |  | 67 |  |  | $ | 31.92 |
Change in units based on performance expectations |  |  | (6 | ) |  | $ | 32.02 |
Granted |  |  | 134 |  |  | $ | 27.75 |
Vested |  |  | (2 | ) |  | $ | 32.02 |
Forfeited |  |  | (1 | ) |  | $ | 32.02 |
Unvested balance, December 31, 2023 |  |  | 192 |  |  | $ | 29.01 |
Change in units based on performance expectations |  |  | 30 |  |  | $ | 22.37 |
Granted |  |  | 73 |  |  | $ | 36.77 |
Vested |  |  | (60 | ) |  | $ | 22.37 |
Forfeited |  |  | (20 | ) |  | $ | 34.17 |
Unvested balance, December 31, 2024 |  |  | 215 |  |  | $ | 32.08 |
The fair value of PRSU awards vested is as follows:
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |
Fair value of PRSU awards vested |  | $ | 2,370 |  |  | $ | 54 |

X
- Definition The entire disclosure for share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/718/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(2)(i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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