XML 42 R32.htm IDEA: XBRL DOCUMENT
v3.22.2.2

Stockholders' Equity (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2022
Equity [Abstract] |
Components of Stockholders' Equity | The components of stockholders’ equity are as follows (in thousands):
| Three Months Ended September 30, 2022 |
| Common Stock |  |  |  |  |  |  |  |  | Treasury Stock |  |  | Accumulated |  |  |  |
| Number of Shares |  |  | $0.01ParValue |  |  | Additional Paid-in Capital |  |  | Retained Earnings |  |  | Number of Shares |  |  | Cost |  |  | Other Comprehensive Income (Loss) |  |  | Total Stockholders' Equity |
Balance at June 30, 2022 |  | 24,159 |  |  | $ | 242 |  |  | $ | 254,937 |  |  | $ | 170,847 |  |  |  | 5,305 |  |  | $ | (207,067 | ) |  | $ | (8,860 | ) |  | $ | 210,099 |
Issuance of common stock under stock plans, including tax effects |  | 193 |  |  |  | 2 |  |  |  | (501 | ) |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (499 | )
Stock-based compensation expense |  | — |  |  |  | — |  |  |  | 3,905 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 3,905 |
Net income |  | — |  |  |  | — |  |  |  | — |  |  |  | 5,414 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 5,414 |
Net change in interest rate swap, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (5 | ) |  |  | (5 | )
Net change in marketable investments, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (54 | ) |  |  | (54 | )
Foreign currency translation |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (4,971 | ) |  |  | (4,971 | )
Balance at September 30, 2022 |  | 24,352 |  |  | $ | 244 |  |  | $ | 258,341 |  |  | $ | 176,261 |  |  |  | 5,305 |  |  | $ | (207,067 | ) |  | $ | (13,890 | ) |  | $ | 213,889 |
| Three Months Ended September 30, 2021 |
| Common Stock |  |  |  |  |  |  |  |  | Treasury Stock |  |  | Accumulated |  |  |  |
| Number of Shares |  |  | $0.01 Par Value |  |  | Additional Paid-in Capital |  |  | Retained Earnings |  |  | Number of Shares |  |  | Cost |  |  | Other Comprehensive Income (Loss) |  |  | Total Stockholders' Equity |
Balance at June 30, 2021 |  | 23,780 |  |  | $ | 238 |  |  | $ | 237,485 |  |  | $ | 140,280 |  |  |  | 4,694 |  |  | $ | (174,562 | ) |  | $ | (1,939 | ) |  | $ | 201,502 |
Issuance of common stock under stock plans, including tax effects |  | 262 |  |  |  | 2 |  |  |  | 2,021 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 2,023 |
Repurchases of common stock |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 170 |  |  |  | (7,973 | ) |  |  | — |  |  |  | (7,973 | )
Stock-based compensation expense |  | — |  |  |  | — |  |  |  | 2,462 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 2,462 |
Net income |  | — |  |  |  | — |  |  |  | — |  |  |  | 4,522 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 4,522 |
Net change in interest rate swap, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 128 |  |  |  | 128 |
Net change in marketable investments, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (4 | ) |  |  | (4 | )
Foreign currency translation |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (1,508 | ) |  |  | (1,508 | )
Balance at September 30, 2021 |  | 24,042 |  |  | $ | 240 |  |  | $ | 241,968 |  |  | $ | 144,802 |  |  |  | 4,864 |  |  | $ | (182,535 | ) |  | $ | (3,323 | ) |  | $ | 201,152 |
| Nine Months Ended September 30, 2022 |
| Common Stock |  |  |  |  |  |  |  |  | Treasury Stock |  |  | Accumulated |  |  |  |
| Number of Shares |  |  | $0.01 Par Value |  |  | Additional Paid-in Capital |  |  | Retained Earnings |  |  | Number of Shares |  |  | Cost |  |  | Other Comprehensive Income (Loss) |  |  | Total Stockholders' Equity |
Balance at December 31, 2021 |  | 24,085 |  |  | $ | 241 |  |  | $ | 245,985 |  |  | $ | 152,825 |  |  |  | 5,027 |  |  | $ | (191,955 | ) |  | $ | (3,189 | ) |  | $ | 203,907 |
Issuance of common stock under stock plans, including tax effects |  | 267 |  |  |  | 3 |  |  |  | 1,320 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 1,323 |
Repurchases of common stock |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 278 |  |  |  | (15,112 | ) |  |  | — |  |  |  | (15,112 | )
Stock-based compensation expense |  | — |  |  |  | — |  |  |  | 11,036 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 11,036 |
Net income |  | — |  |  |  | — |  |  |  | — |  |  |  | 23,436 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 23,436 |
Net change in interest rate swap, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 259 |  |  |  | 259 |
Net change in marketable investments, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (147 | ) |  |  | (147 | )
Foreign currency translation |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (10,813 | ) |  |  | (10,813 | )
Balance at September 30, 2022 |  | 24,352 |  |  | $ | 244 |  |  | $ | 258,341 |  |  | $ | 176,261 |  |  |  | 5,305 |  |  | $ | (207,067 | ) |  | $ | (13,890 | ) |  | $ | 213,889 |
| Nine Months Ended September 30, 2021 |
| Common Stock |  |  |  |  |  |  |  |  | Treasury Stock |  |  | Accumulated |  |  |  |
| Number of Shares |  |  | $0.01 Par Value |  |  | Additional Paid-in Capital |  |  | Retained Earnings |  |  | Number of Shares |  |  | Cost |  |  | Other Comprehensive Income (Loss) |  |  | Total Stockholders' Equity |
Balance at December 31, 2020 |  | 23,648 |  |  | $ | 236 |  |  | $ | 230,128 |  |  | $ | 127,981 |  |  |  | 4,631 |  |  | $ | (171,889 | ) |  | $ | (690 | ) |  | $ | 185,766 |
Issuance of common stock under stock plans, including tax effects |  | 394 |  |  |  | 4 |  |  |  | 4,489 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 4,493 |
Repurchases of common stock |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 233 |  |  |  | (10,646 | ) |  |  | — |  |  |  | (10,646 | )
Stock-based compensation expense |  | — |  |  |  | — |  |  |  | 7,351 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 7,351 |
Net income |  | — |  |  |  | — |  |  |  | — |  |  |  | 16,821 |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 16,821 |
Net change in interest rate swap, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | 457 |  |  |  | 457 |
Net change in marketable investments, net of tax |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (4 | ) |  |  | (4 | )
Foreign currency translation |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |  |  |  | (3,086 | ) |  |  | (3,086 | )
Balance at September 30, 2021 |  | 24,042 |  |  | $ | 240 |  |  | $ | 241,968 |  |  | $ | 144,802 |  |  |  | 4,864 |  |  | $ | (182,535 | ) |  | $ | (3,323 | ) |  | $ | 201,152 |
Schedule of Restricted Stock Unit Activity | Restricted stock unit activity for the nine months ended September 30, 2022 is presented below (in thousands, except per share data):
|  |  |  |  | Weighted- |
|  |  |  |  | Average |
|  | Number of |  |  | Grant Date |
|  | Shares |  |  | Fair Value |
Unvested at December 31, 2021 |  |  | 634 |  |  | $ | 42.45 |
Granted |  |  | 348 |  |  |  | 50.58 |
Vested |  |  | (213 | ) |  |  | 41.77 |
Forfeited |  |  | (70 | ) |  |  | 44.94 |
Unvested at September 30, 2022 |  |  | 699 |  |  | $ | 46.45 |
Schedule of Stock Option Activity | Stock option activity for the nine months ended September 30, 2022 is presented below (in thousands, except per share data and contractual term):
|  |  |  |  | Weighted - |  |  | Weighted - |  |  |  |
|  |  |  |  | Average |  |  | Average |  |  |  |
|  |  |  |  | Exercise |  |  | Remaining |  |  | Aggregate |
|  | Number |  |  | Price Per |  |  | Contractual |  |  | Intrinsic |
|  | of Shares |  |  | Share |  |  | Term (in years) |  |  | Value |
Outstanding at December 31, 2021 |  |  | 114 |  |  | $ | 35.52 |  |  |  |  |  |  |
Exercised |  |  | (21 | ) |  |  | 35.29 |  |  |  |  |  |  |
Forfeited |  |  | (3 | ) |  |  | 34.91 |  |  |  |  |  |  |
Outstanding at September 30, 2022 |  |  | 90 |  |  | $ | 35.59 |  |  |  | 2.28 |  |  | $ | 126 |
Vested and Exercisable at September 30, 2022 |  |  | 90 |  |  | $ | 35.59 |  |  |  | 2.28 |  |  | $ | 126 |
Summary of Stock-Based Compensation Recorded in Expense Categories in Consolidated Statements of Operations | Stock-based compensation was recorded in the following expense categories on the Consolidated Statements of Income (in thousands):
|  | Three Months Ended |  |  | Nine Months Ended |
|  | September 30, |  |  | September 30, |
|  | 2022 |  |  | 2021 |  |  | 2022 |  |  | 2021 |
Cost of services and fulfillment |  | $ | 2,268 |  |  | $ | 1,554 |  |  | $ | 6,397 |  |  | $ | 4,389 |
Selling and marketing |  |  | 743 |  |  |  | 372 |  |  |  | 2,128 |  |  |  | 1,220 |
General and administrative |  |  | 894 |  |  |  | 536 |  |  |  | 2,511 |  |  |  | 1,742 |
Total |  | $ | 3,905 |  |  | $ | 2,462 |  |  | $ | 11,036 |  |  | $ | 7,351 |
Shares Subject to Employee Stock Purchase Plan Valuation Assumptions | Forrester utilizes the Black-Scholes valuation model for estimating the fair value of shares subject to purchase under the employee stock purchase plan, which were valued using the following assumptions:
|  | Three Months Ended |  |  | Nine Months Ended |
|  | September 30, |  |  | September 30, |
|  | 2022 |  |  | 2021 |  |  | 2022 |  |  | 2021 |
Average risk-free interest rate |  |  | 3.71 | % |  |  | 0.05 | % |  |  | 3.71 | % |  |  | 0.05 | %
Expected dividend yield |  |  | 0.0 | % |  |  | 0.0 | % |  |  | 0.0 | % |  |  | 0.0 | %
Expected life |  | 0.5 Years |  |  | 0.5 Years |  |  | 0.5 Years |  |  | 0.5 Years |
Expected volatility |  |  | 33 | % |  |  | 30 | % |  |  | 33 | % |  |  | 30 | %
Weighted average fair value |  | $ | 10.22 |  |  | $ | 11.20 |  |  | $ | 10.22 |  |  | $ | 11.20 |

X
- References No definition available. + Details
Name: | us-gaap_EquityAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of changes in the separate accounts comprising stockholders' equity (in addition to retained earnings) and of the changes in the number of shares of equity securities during at least the most recent annual fiscal period and any subsequent interim period presented is required to make the financial statements sufficiently informative if both financial position and results of operations are presented. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644 + Details
Name: | us-gaap_ScheduleOfStockholdersEquityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration