XML 25 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Net Cash Provided by (Used in) Operating Activities [Abstract]      
Net income $ 65,824 $ 55,134 $ 44,597
Reconciliation of net income to net cash provided by operating activities      
Deferred income taxes (10,079) (3,732) 3,881
Depreciation and amortization of property and equipment 18,631 16,421 14,788
Amortization of intangible assets 16,116 11,768 10,126
Provision for credit losses 5,707 3,359 4,717
Stock-based compensation 45,508 33,399 27,574
Other, net 2,415 220 323
Changes in assets and liabilities, net of effects of acquisitions      
Accounts receivable (11,949) (6,435) (4,959)
Deferred costs (10,724) (10,646) (9,299)
Other assets and liabilities 1,834 2,632 (6,181)
Accounts payable (3,947) 144 2,259
Accrued compensation 7,143 (3,786) 6,775
Accrued expenses 1,302 (2,829) 1,017
Deferred revenue 6,464 5,965 14,483
Operating leases (1,947) (1,562) 2,792
Net cash provided by operating activities 132,298 100,052 112,893
Cash flows from investing activities      
Purchases of property and equipment (19,761) (19,880) (19,588)
Purchases of investments (133,994) (160,427) (121,242)
Maturities of investments 131,331 158,937 111,193
Acquisition of business, net (70,218) (91,420) (17,066)
Net cash used in investing activities (92,642) (112,790) (46,703)
Cash flows from financing activities      
Repurchases of common stock 0 (43,215) (20,430)
Net proceeds from exercise of options to purchase common stock 9,856 4,908 9,374
Net proceeds from employee stock purchase plan activity 8,114 6,676 4,737
Payments for contingent consideration (2,000) 0 (2,042)
Net cash provided by (used in) financing activities 15,970 (31,631) (8,361)
Effect of foreign currency exchange rate changes 562 (290) 31
Net increase (decrease) in cash and cash equivalents 56,188 (44,659) 57,860
Cash and cash equivalents at beginning of period 162,893 207,552 149,692
Cash and cash equivalents at end of period 219,081 162,893 207,552
Supplemental Cash Flow Information [Abstract]      
Cash paid for income taxes 29,207 16,076 9,979
Non-cash financing activity:      
Contingent consideration related to acquisition $ 0 $ 2,000 $ 0