2024 Q3 Form 10-Q Financial Statement

#000095017024090357 Filed on August 05, 2024

View on sec.gov

Income Statement

Concept 2024 Q3 2024 Q2
Revenue $102.5M $121.8M
YoY Change -9.61% -10.15%
Cost Of Revenue $42.17M $51.16M
YoY Change -9.34% -6.32%
Gross Profit $60.35M $70.66M
YoY Change -9.8% -12.74%
Gross Profit Margin 58.87% 58.0%
Selling, General & Admin $54.01M $54.69M
YoY Change -8.14% -3.88%
% of Gross Profit 89.49% 77.4%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $4.361M $4.575M
YoY Change 92.79% -13.01%
% of Gross Profit 7.23% 6.47%
Operating Expenses $58.37M $59.26M
YoY Change -0.72% -4.65%
Operating Profit $1.981M $11.40M
YoY Change -60.82% -39.45%
Interest Expense -$770.0K -$763.0K
YoY Change -3.75% 4.52%
% of Operating Profit -38.87% -6.7%
Other Income/Expense, Net $427.0K $1.015M
YoY Change -24.82% 97.47%
Pretax Income -$1.074M $11.57M
YoY Change -122.09% 43.29%
Income Tax $4.724M $5.274M
% Of Pretax Income 45.6%
Net Earnings -$5.798M $6.292M
YoY Change -333.41% 18.63%
Net Earnings / Revenue -5.66% 5.16%
Basic Earnings Per Share -$0.30 $0.33
Diluted Earnings Per Share -$0.30 $0.33
COMMON SHARES
Basic Shares Outstanding 19.06M 19.11M
Diluted Shares Outstanding 19.07M 19.12M

Balance Sheet

Concept 2024 Q3 2024 Q2
SHORT-TERM ASSETS
Cash & Short-Term Investments $114.9M $110.8M
YoY Change 3.12% -10.36%
Cash & Equivalents $62.75M $58.85M
Short-Term Investments $52.18M $51.96M
Other Short-Term Assets $39.77M $34.91M
YoY Change 22.37% -13.43%
Inventory
Prepaid Expenses
Receivables $39.17M $47.70M
Other Receivables $0.00 $0.00
Total Short-Term Assets $193.9M $193.4M
YoY Change 4.86% -7.99%
LONG-TERM ASSETS
Property, Plant & Equipment $12.69M $16.61M
YoY Change -35.58% -19.79%
Goodwill $230.2M $242.9M
YoY Change -4.88% -0.15%
Intangibles
YoY Change
Long-Term Investments
YoY Change
Other Assets $9.097M $6.561M
YoY Change 28.98% -21.93%
Total Long-Term Assets $311.4M $330.7M
YoY Change -11.33% -8.24%
TOTAL ASSETS
Total Short-Term Assets $193.9M $193.4M
Total Long-Term Assets $311.4M $330.7M
Total Assets $505.3M $524.2M
YoY Change -5.75% -8.15%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $1.575M $2.329M
YoY Change 106.69% 104.84%
Accrued Expenses $43.27M $45.15M
YoY Change -23.46% -28.08%
Deferred Revenue
YoY Change
Short-Term Debt $0.00 $0.00
YoY Change
Long-Term Debt Due
YoY Change
Total Short-Term Liabilities $198.0M $211.6M
YoY Change -8.18% -13.11%
LONG-TERM LIABILITIES
Long-Term Debt $35.00M $35.00M
YoY Change 0.0% 0.0%
Other Long-Term Liabilities $9.503M $9.181M
YoY Change -18.63% -41.41%
Total Long-Term Liabilities $44.50M $44.18M
YoY Change -4.66% -12.8%
TOTAL LIABILITIES
Total Short-Term Liabilities $198.0M $211.6M
Total Long-Term Liabilities $44.50M $44.18M
Total Liabilities $270.9M $287.1M
YoY Change -10.63% -15.31%
SHAREHOLDERS EQUITY
Retained Earnings $171.5M $177.3M
YoY Change -3.84% 0.82%
Common Stock $289.4M $285.6M
YoY Change 5.62% 5.94%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $234.3M $237.1M
YoY Change
Total Liabilities & Shareholders Equity $505.3M $524.2M
YoY Change -5.75% -8.15%

Cashflow Statement

Concept 2024 Q3 2024 Q2
OPERATING ACTIVITIES
Net Income -$5.798M $6.292M
YoY Change -333.41% 18.63%
Depreciation, Depletion And Amortization $4.361M $4.575M
YoY Change 92.79% -13.01%
Cash From Operating Activities $264.0K -$2.906M
YoY Change -104.4% -182.89%
INVESTING ACTIVITIES
Capital Expenditures $487.0K $830.0K
YoY Change -59.42% -19.57%
Acquisitions
YoY Change
Other Investing Activities $7.937M $5.390M
YoY Change 93.59% 71.98%
Cash From Investing Activities $7.450M $4.560M
YoY Change 156.9% 116.94%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -4.774M -4.001M
YoY Change 59.13% 300.1%
NET CHANGE
Cash From Operating Activities 264.0K -2.906M
Cash From Investing Activities 7.450M 4.560M
Cash From Financing Activities -4.774M -4.001M
Net Change In Cash 2.940M -2.347M
YoY Change -148.2% -150.93%
FREE CASH FLOW
Cash From Operating Activities $264.0K -$2.906M
Capital Expenditures $487.0K $830.0K
Free Cash Flow -$223.0K -$3.736M
YoY Change -96.9% -251.01%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
Q2
dei Entity Central Index Key
EntityCentralIndexKey
0001023313
dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
dei Amendment Flag
AmendmentFlag
false
CY2024Q2 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2023Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2024Q2 us-gaap Restricted Cash Noncurrent Asset Statement Of Financial Position Extensible List
RestrictedCashNoncurrentAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent
CY2023Q2 us-gaap Restricted Cash Noncurrent Asset Statement Of Financial Position Extensible List
RestrictedCashNoncurrentAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent
CY2024Q2 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent
CY2024Q2 us-gaap Accounting Standards Update Extensible List
AccountingStandardsUpdateExtensibleList
http://fasb.org/us-gaap/2024#AccountingStandardsUpdate201613Member
dei Document Type
DocumentType
10-Q
dei Document Quarterly Report
DocumentQuarterlyReport
true
dei Document Period End Date
DocumentPeriodEndDate
2024-06-30
dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2024
dei Document Transition Report
DocumentTransitionReport
false
dei Entity File Number
EntityFileNumber
000-21433
dei Entity Registrant Name
EntityRegistrantName
FORRESTER RESEARCH, INC.
dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
dei Entity Tax Identification Number
EntityTaxIdentificationNumber
04-2797789
dei Entity Address Address Line1
EntityAddressAddressLine1
60 Acorn Park Drive
dei Entity Address City Or Town
EntityAddressCityOrTown
Cambridge
dei Entity Address State Or Province
EntityAddressStateOrProvince
MA
dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
02140
dei City Area Code
CityAreaCode
617
dei Local Phone Number
LocalPhoneNumber
613-6000
dei Security12b Title
Security12bTitle
Common Stock, $.01 Par Value
dei Trading Symbol
TradingSymbol
FORR
dei Security Exchange Name
SecurityExchangeName
NASDAQ
dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
dei Entity Filer Category
EntityFilerCategory
Accelerated Filer
dei Entity Small Business
EntitySmallBusiness
false
dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
dei Entity Shell Company
EntityShellCompany
false
CY2024Q3 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
19060000
CY2024Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
58852000
CY2023Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
72909000
CY2024Q2 us-gaap Marketable Securities
MarketableSecurities
51961000
CY2023Q4 us-gaap Marketable Securities
MarketableSecurities
51580000
CY2024Q2 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
753000
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
574000
CY2024Q2 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
47702000
CY2023Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
58999000
CY2024Q2 us-gaap Capitalized Contract Cost Net
CapitalizedContractCostNet
18159000
CY2023Q4 us-gaap Capitalized Contract Cost Net
CapitalizedContractCostNet
23207000
CY2024Q2 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
16753000
CY2023Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
9305000
CY2024Q2 us-gaap Assets Current
AssetsCurrent
193427000
CY2023Q4 us-gaap Assets Current
AssetsCurrent
216000000
CY2024Q2 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
16610000
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
19401000
CY2024Q2 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
32083000
CY2023Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
39722000
CY2024Q2 us-gaap Goodwill
Goodwill
242924000
CY2023Q4 us-gaap Goodwill
Goodwill
244257000
CY2024Q2 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
32562000
CY2023Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
37637000
CY2024Q2 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
6561000
CY2023Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
7157000
CY2024Q2 us-gaap Assets
Assets
524167000
CY2023Q4 us-gaap Assets
Assets
564174000
CY2024Q2 us-gaap Accounts Payable Current
AccountsPayableCurrent
2329000
CY2023Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
1796000
CY2024Q2 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
45148000
CY2023Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
81482000
CY2024Q2 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
164117000
CY2023Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
156798000
CY2024Q2 us-gaap Liabilities Current
LiabilitiesCurrent
211594000
CY2023Q4 us-gaap Liabilities Current
LiabilitiesCurrent
240076000
CY2024Q2 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
35000000
CY2023Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
35000000
CY2024Q2 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
31338000
CY2023Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
37673000
CY2024Q2 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
9181000
CY2023Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
11160000
CY2024Q2 us-gaap Liabilities
Liabilities
287113000
CY2023Q4 us-gaap Liabilities
Liabilities
323909000
CY2024Q2 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2023Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2024Q2 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2023Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2024Q2 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2023Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2024Q2 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2023Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2024Q2 us-gaap Preferred Stock Value
PreferredStockValue
0
CY2023Q4 us-gaap Preferred Stock Value
PreferredStockValue
0
CY2024Q2 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2023Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2024Q2 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
125000000
CY2023Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
125000000
CY2024Q2 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
24897000
CY2023Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
24684000
CY2024Q2 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
19056000
CY2023Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
19248000
CY2024Q2 us-gaap Common Stock Value
CommonStockValue
249000
CY2023Q4 us-gaap Common Stock Value
CommonStockValue
247000
CY2024Q2 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
285395000
CY2023Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
278057000
CY2024Q2 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
177300000
CY2023Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
177681000
CY2024Q2 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
5841000
CY2023Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
5437000
CY2024Q2 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
219164000
CY2023Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
211149000
CY2024Q2 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-6726000
CY2023Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-4571000
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
237054000
CY2023Q4 us-gaap Stockholders Equity
StockholdersEquity
240265000
CY2024Q2 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
524167000
CY2023Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
564174000
CY2024Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
121825000
CY2023Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
135589000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
221902000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
249259000
CY2024Q2 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
51164000
CY2023Q2 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
54614000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
95854000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
103906000
CY2024Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
40253000
CY2023Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
41581000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
79675000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
83113000
CY2024Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
14437000
CY2023Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
15315000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
28496000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
36542000
CY2024Q2 us-gaap Depreciation
Depreciation
2062000
CY2023Q2 us-gaap Depreciation
Depreciation
2191000
us-gaap Depreciation
Depreciation
4122000
us-gaap Depreciation
Depreciation
4295000
CY2024Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2513000
CY2023Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3068000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
5027000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
6134000
CY2024Q2 us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
82000
CY2023Q2 us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
10532000
us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
6706000
us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
12121000
CY2024Q2 us-gaap Costs And Expenses
CostsAndExpenses
110511000
CY2023Q2 us-gaap Costs And Expenses
CostsAndExpenses
127301000
us-gaap Costs And Expenses
CostsAndExpenses
219880000
us-gaap Costs And Expenses
CostsAndExpenses
246111000
CY2024Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
11314000
CY2023Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
8288000
us-gaap Operating Income Loss
OperatingIncomeLoss
2022000
us-gaap Operating Income Loss
OperatingIncomeLoss
3148000
CY2024Q2 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-763000
CY2023Q2 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-730000
us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-1525000
us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-1523000
CY2024Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1015000
CY2023Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
514000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
2289000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1064000
CY2024Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
11566000
CY2023Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
8072000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
2786000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
2689000
CY2024Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
5274000
CY2023Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2768000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3167000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1460000
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
6292000
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
5304000
us-gaap Net Income Loss
NetIncomeLoss
-381000
us-gaap Net Income Loss
NetIncomeLoss
1229000
CY2024Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.33
CY2023Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.28
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.02
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.06
CY2024Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.33
CY2023Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.28
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.02
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.06
CY2024Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19093000
CY2023Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19193000
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19189000
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19151000
CY2024Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19124000
CY2023Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19258000
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19189000
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19214000
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
6292000
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
5304000
us-gaap Net Income Loss
NetIncomeLoss
-381000
us-gaap Net Income Loss
NetIncomeLoss
1229000
CY2024Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-211000
CY2023Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
746000
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-2179000
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1952000
CY2024Q2 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
18000
CY2023Q2 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
-11000
us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
24000
us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
22000
CY2024Q2 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-193000
CY2023Q2 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
735000
us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-2155000
us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
1974000
CY2024Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
6099000
CY2023Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
6039000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-2536000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
3203000
us-gaap Profit Loss
ProfitLoss
-381000
us-gaap Profit Loss
ProfitLoss
1229000
us-gaap Depreciation
Depreciation
4122000
us-gaap Depreciation
Depreciation
4295000
us-gaap Impairment Of Leasehold
ImpairmentOfLeasehold
646000
us-gaap Impairment Of Leasehold
ImpairmentOfLeasehold
600000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
5027000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
6134000
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1035000
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1479000
us-gaap Share Based Compensation
ShareBasedCompensation
7599000
us-gaap Share Based Compensation
ShareBasedCompensation
7025000
forr Operating Lease Right Of Use Asset Amortization And Impairments
OperatingLeaseRightOfUseAssetAmortizationAndImpairments
7983000
forr Operating Lease Right Of Use Asset Amortization And Impairments
OperatingLeaseRightOfUseAssetAmortizationAndImpairments
6691000
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-79000
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-137000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-10773000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-27391000
us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
-5048000
us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
-6299000
us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
7298000
us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
7122000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
552000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
767000
us-gaap Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
-35100000
us-gaap Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
-28824000
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
6960000
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-535000
forr Increase Decrease Operating Lease Liability
IncreaseDecreaseOperatingLeaseLiability
-7270000
forr Increase Decrease Operating Lease Liability
IncreaseDecreaseOperatingLeaseLiability
-6820000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
-2295000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
15788000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2256000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2664000
us-gaap Payments To Acquire Available For Sale Securities Debt
PaymentsToAcquireAvailableForSaleSecuritiesDebt
51837000
us-gaap Payments To Acquire Available For Sale Securities Debt
PaymentsToAcquireAvailableForSaleSecuritiesDebt
964000
us-gaap Proceeds From Maturities Prepayments And Calls Of Available For Sale Securities
ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
45235000
us-gaap Proceeds From Maturities Prepayments And Calls Of Available For Sale Securities
ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
7138000
us-gaap Proceeds From Sale Of Available For Sale Securities Debt
ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
6168000
us-gaap Proceeds From Sale Of Available For Sale Securities Debt
ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
0
us-gaap Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
-14000
us-gaap Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
66000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-2676000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
3444000
us-gaap Repayments Of Debt
RepaymentsOfDebt
0
us-gaap Repayments Of Debt
RepaymentsOfDebt
15000000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
8015000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
820000
us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
1253000
us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
1840000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
1512000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
1259000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-8274000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-15239000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
-828000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
2424000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-14073000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
6417000
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
75042000
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
105654000
CY2024Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
60969000
CY2023Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
112071000
us-gaap Interest Paid Net
InterestPaidNet
1301000
us-gaap Interest Paid Net
InterestPaidNet
1302000
us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
6978000
us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
9729000
CY2024Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
58852000
CY2023Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
109951000
CY2024Q2 us-gaap Restricted Cash Noncurrent
RestrictedCashNoncurrent
2117000
CY2023Q2 us-gaap Restricted Cash Noncurrent
RestrictedCashNoncurrent
2120000
CY2024Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
60969000
CY2023Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
112071000
CY2024Q2 us-gaap Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
52008000
CY2024Q2 us-gaap Available For Sale Debt Securities Accumulated Gross Unrealized Gain Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
2000
CY2024Q2 us-gaap Available For Sale Debt Securities Accumulated Gross Unrealized Loss Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
49000
CY2024Q2 us-gaap Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
51961000
CY2023Q4 us-gaap Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
51659000
CY2023Q4 us-gaap Available For Sale Debt Securities Accumulated Gross Unrealized Gain Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
0
CY2023Q4 us-gaap Available For Sale Debt Securities Accumulated Gross Unrealized Loss Before Tax
AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
79000
CY2023Q4 us-gaap Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
51580000
CY2023Q2 us-gaap Debt Securities Available For Sale Realized Gain Loss
DebtSecuritiesAvailableForSaleRealizedGainLoss
0
us-gaap Debt Securities Available For Sale Realized Gain Loss
DebtSecuritiesAvailableForSaleRealizedGainLoss
0
us-gaap Debt Securities Available For Sale Realized Gain Loss
DebtSecuritiesAvailableForSaleRealizedGainLoss
0
CY2024Q2 us-gaap Debt Securities Available For Sale Realized Gain Loss
DebtSecuritiesAvailableForSaleRealizedGainLoss
0
CY2024Q2 us-gaap Available For Sale Securities Debt Maturities Next Rolling Twelve Months Amortized Cost Basis
AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsAmortizedCostBasis
41207000
CY2024Q2 forr Available For Sale Securities Debt Maturities Rolling Year Two Amortized Cost Basis
AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoAmortizedCostBasis
5512000
CY2024Q2 forr Available For Sale Securities Debt Maturities Rolling Year Three Amortized Cost Basis
AvailableForSaleSecuritiesDebtMaturitiesRollingYearThreeAmortizedCostBasis
4243000
CY2024Q2 forr Availableforsalesecuritiesdebtmaturitiesrollingyearfouramortizedcostbasis
Availableforsalesecuritiesdebtmaturitiesrollingyearfouramortizedcostbasis
999000
CY2024Q2 us-gaap Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
51961000
CY2024Q2 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position Less Than12 Months
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
8787000
CY2024Q2 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position Less Than12 Months Accumulated Loss
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
13000
CY2024Q2 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position12 Months Or Longer
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
5927000
CY2024Q2 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position12 Months Or Longer Accumulated Loss
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
36000
CY2023Q4 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position Less Than12 Months
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
13098000
CY2023Q4 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position Less Than12 Months Accumulated Loss
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
8000
CY2023Q4 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position12 Months Or Longer
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
6872000
CY2023Q4 us-gaap Debt Securities Available For Sale Continuous Unrealized Loss Position12 Months Or Longer Accumulated Loss
DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
71000
CY2024Q2 us-gaap Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
0
CY2023Q4 us-gaap Goodwill
Goodwill
244257000
us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
-1333000
CY2024Q2 us-gaap Goodwill
Goodwill
242924000
CY2024Q2 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
106406000
CY2024Q2 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
73844000
CY2024Q2 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
32562000
CY2023Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
106683000
CY2023Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
69046000
CY2023Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
37637000
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year
FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
4890000
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
8874000
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
8392000
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
8324000
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
2082000
CY2024Q2 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
32562000
CY2024Q2 us-gaap Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
35000000
CY2023Q4 us-gaap Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
35000000
CY2024Q2 us-gaap Debt Instrument Interest Rate Stated Percentage
DebtInstrumentInterestRateStatedPercentage
0.0669
CY2024Q2 us-gaap Line Of Credit Facility Remaining Borrowing Capacity
LineOfCreditFacilityRemainingBorrowingCapacity
114400000
CY2024Q2 us-gaap Long Term Debt Weighted Average Interest Rate Over Time
LongTermDebtWeightedAverageInterestRateOverTime
0.0668
us-gaap Long Term Debt Weighted Average Interest Rate Over Time
LongTermDebtWeightedAverageInterestRateOverTime
0.0667
forr Debt Instrument Collateral Percentage
DebtInstrumentCollateralPercentage
0.65
CY2024Q1 us-gaap Operating Lease Cost
OperatingLeaseCost
2897000
CY2023Q1 us-gaap Operating Lease Cost
OperatingLeaseCost
3240000
CY2024Q1 us-gaap Short Term Lease Cost
ShortTermLeaseCost
231000
CY2023Q1 us-gaap Short Term Lease Cost
ShortTermLeaseCost
257000
CY2024Q1 us-gaap Variable Lease Cost
VariableLeaseCost
1038000
CY2023Q1 us-gaap Variable Lease Cost
VariableLeaseCost
1072000
CY2024Q1 us-gaap Sublease Income
SubleaseIncome
130000
CY2023Q1 us-gaap Sublease Income
SubleaseIncome
130000
CY2024Q1 us-gaap Lease Cost
LeaseCost
4036000
CY2023Q1 us-gaap Lease Cost
LeaseCost
4439000
us-gaap Operating Lease Cost
OperatingLeaseCost
5991000
us-gaap Operating Lease Cost
OperatingLeaseCost
6554000
us-gaap Short Term Lease Cost
ShortTermLeaseCost
446000
us-gaap Short Term Lease Cost
ShortTermLeaseCost
518000
us-gaap Variable Lease Cost
VariableLeaseCost
2268000
us-gaap Variable Lease Cost
VariableLeaseCost
1857000
us-gaap Sublease Income
SubleaseIncome
261000
us-gaap Sublease Income
SubleaseIncome
261000
us-gaap Lease Cost
LeaseCost
8444000
us-gaap Lease Cost
LeaseCost
8668000
us-gaap Operating Lease Payments
OperatingLeasePayments
7270000
us-gaap Operating Lease Payments
OperatingLeasePayments
6820000
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
408000
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
1110000
CY2024Q2 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P4Y
CY2023Q2 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P4Y8M12D
CY2024Q2 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.042
CY2023Q2 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.043
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
8073000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received Remainder Of Fiscal Year
LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear
316000
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
13943000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received Next Twelve Months
LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
0
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
12333000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received Two Years
LessorOperatingLeasePaymentsToBeReceivedTwoYears
0
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
5711000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received Three Years
LessorOperatingLeasePaymentsToBeReceivedThreeYears
0
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
2878000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received Four Years
LessorOperatingLeasePaymentsToBeReceivedFourYears
0
CY2024Q2 forr Lessee Operating Lease Liability Payments Due After Year Four
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour
6030000
CY2024Q2 forr Lessor Operating Lease Payments To Be Received Due After Year Four
LessorOperatingLeasePaymentsToBeReceivedDueAfterYearFour
0
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
48968000
CY2024Q2 us-gaap Lessor Operating Lease Payments To Be Received
LessorOperatingLeasePaymentsToBeReceived
316000
CY2024Q2 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
4040000
CY2024Q2 us-gaap Operating Lease Liability
OperatingLeaseLiability
44928000
CY2024Q2 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
32083000
CY2024Q2 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
13590000
CY2024Q2 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
31338000
CY2024Q2 us-gaap Operating Lease Liability
OperatingLeaseLiability
44928000
us-gaap Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
3200000
CY2024Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
121825000
CY2023Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
135589000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
221902000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
249259000
CY2024Q2 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
0
CY2023Q2 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
0
CY2024Q2 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
47900000
CY2023Q2 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
53000000
us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
110400000
us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
125900000
CY2024Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
359600000
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
574000
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
368000
us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
189000
CY2024Q2 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
753000
CY2024Q2 us-gaap Amortization Of Deferred Sales Commissions
AmortizationOfDeferredSalesCommissions
9800000
CY2023Q2 us-gaap Amortization Of Deferred Sales Commissions
AmortizationOfDeferredSalesCommissions
10400000
us-gaap Amortization Of Deferred Sales Commissions
AmortizationOfDeferredSalesCommissions
17800000
us-gaap Amortization Of Deferred Sales Commissions
AmortizationOfDeferredSalesCommissions
19000000
us-gaap Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
0
us-gaap Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
0
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3200000
us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
1.137
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1500000
us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.543
CY2024Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
-6000
CY2023Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
4000
CY2024Q1 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
-8000
CY2023Q1 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
-7000
CY2024Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19093000
CY2023Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19193000
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19189000
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
19151000
CY2024Q2 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
31000
CY2023Q2 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
65000
us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
0
us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
63000
CY2024Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19124000
CY2023Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19258000
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19189000
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
19214000
CY2024Q2 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
1620000
CY2023Q2 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
706000
us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
1089000
us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
657000
CY2024Q1 us-gaap Stockholders Equity
StockholdersEquity
230931000
CY2024Q2 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
-83000
CY2024Q2 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
3918000
CY2024Q2 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
4025000
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
6292000
CY2024Q2 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Before Reclassification Adjustments Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
18000
CY2024Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-211000
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
237054000
CY2023Q1 us-gaap Stockholders Equity
StockholdersEquity
222746000
CY2023Q2 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
-180000
CY2023Q2 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
820000
CY2023Q2 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
3860000
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
5304000
CY2023Q2 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Before Reclassification Adjustments Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
-11000
CY2023Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
746000
CY2023Q2 us-gaap Stockholders Equity
StockholdersEquity
231645000
CY2023Q4 us-gaap Stockholders Equity
StockholdersEquity
240265000
us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
-259000
us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
8015000
us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
7599000
us-gaap Net Income Loss
NetIncomeLoss
-381000
us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Before Reclassification Adjustments Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
24000
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-2179000
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
237054000
CY2022Q4 us-gaap Stockholders Equity
StockholdersEquity
221656000
us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
581000
us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
820000
us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
7025000
us-gaap Net Income Loss
NetIncomeLoss
1229000
us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Before Reclassification Adjustments Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
22000
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1952000
CY2023Q2 us-gaap Stockholders Equity
StockholdersEquity
231645000
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
201000
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
33.93
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
18000
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
37.06
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
183000
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
33.62
us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P6Y4M20D
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
0
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
87000
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
34.27
us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P3Y10M9D
CY2024Q2 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
0
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
183000
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
33.62
us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
P6Y4M20D
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Aggregate Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
0
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0
CY2024Q2 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
0
us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
0
CY2024Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
4025000
CY2023Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3860000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
7599000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
7025000
CY2024Q2 srt Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
610000000
CY2024Q2 forr Stock Repurchase Program Additional Authorized Amount
StockRepurchaseProgramAdditionalAuthorizedAmount
25000000
CY2024Q2 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
200000
us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
400000
CY2024Q2 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
3900000
us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
8000000
CY2023Q2 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
27000
us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
27000
CY2023Q2 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
800000
us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
800000
CY2024Q2 forr Cumulative Repurchase Of Common Stock
CumulativeRepurchaseOfCommonStock
17500000
forr Cumulative Common Stock Purchased Program Life To Date Value
CumulativeCommonStockPurchasedProgramLifeToDateValue
522100000
CY2023Q1 us-gaap Restructuring And Related Cost Number Of Positions Eliminated Period Percent
RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent
0.04
CY2022Q4 us-gaap Severance Costs1
SeveranceCosts1
4300000
CY2023Q1 us-gaap Severance Costs1
SeveranceCosts1
600000
CY2022Q4 us-gaap Asset Impairment Charges
AssetImpairmentCharges
5000000
CY2022Q4 us-gaap Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
3700000
CY2022Q4 us-gaap Impairment Of Leasehold
ImpairmentOfLeasehold
1300000
CY2023Q2 us-gaap Restructuring And Related Cost Number Of Positions Eliminated Period Percent
RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent
0.08
CY2023Q2 us-gaap Severance Costs1
SeveranceCosts1
7500000
CY2023Q2 us-gaap Asset Impairment Charges
AssetImpairmentCharges
2300000
CY2023Q2 us-gaap Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
1300000
CY2023Q2 us-gaap Impairment Of Leasehold
ImpairmentOfLeasehold
600000
CY2023Q2 forr Contract Termination Cost
ContractTerminationCost
700000
CY2023Q4 us-gaap Severance Costs1
SeveranceCosts1
700000
CY2024Q1 us-gaap Severance Costs1
SeveranceCosts1
2800000
CY2024Q1 us-gaap Asset Impairment Charges
AssetImpairmentCharges
3800000
CY2024Q1 us-gaap Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
3200000
CY2024Q1 us-gaap Impairment Of Leasehold
ImpairmentOfLeasehold
600000
us-gaap Number Of Operating Segments
NumberOfOperatingSegments
3
CY2024Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
121825000
CY2024Q2 us-gaap Cost Of Revenue
CostOfRevenue
51993000
CY2024Q2 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
55923000
CY2024Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2513000
CY2024Q2 us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
82000
CY2024Q2 forr Interest Expense And Other Income
InterestExpenseAndOtherIncome
252000
CY2024Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
11566000
CY2023Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
135589000
CY2023Q2 us-gaap Cost Of Revenue
CostOfRevenue
54489000
CY2023Q2 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
59212000
CY2023Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3068000
CY2023Q2 us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
10532000
CY2023Q2 forr Interest Expense And Other Income
InterestExpenseAndOtherIncome
-216000
CY2023Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
8072000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
221902000
us-gaap Cost Of Revenue
CostOfRevenue
97090000
us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
111057000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
5027000
us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
6706000
forr Interest Expense And Other Income
InterestExpenseAndOtherIncome
764000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
2786000
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
249259000
us-gaap Cost Of Revenue
CostOfRevenue
103980000
us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
123876000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
6134000
us-gaap Restructuring Costs And Asset Impairment Charges
RestructuringCostsAndAssetImpairmentCharges
12121000
forr Interest Expense And Other Income
InterestExpenseAndOtherIncome
-459000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
2689000
CY2024Q2 ecd Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
false
CY2024Q2 ecd Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
false
CY2024Q2 ecd Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
false
CY2024Q2 ecd Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
false

Files In Submission

Name View Source Status
0000950170-24-090357-index-headers.html Edgar Link pending
0000950170-24-090357-index.html Edgar Link pending
0000950170-24-090357.txt Edgar Link pending
0000950170-24-090357-xbrl.zip Edgar Link pending
Financial_Report.xlsx Edgar Link pending
forr-20240630.htm Edgar Link pending
forr-20240630.xsd Edgar Link pending
forr-ex31_1.htm Edgar Link pending
forr-ex31_2.htm Edgar Link pending
forr-ex32_1.htm Edgar Link pending
forr-ex32_2.htm Edgar Link pending
MetaLinks.json Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
forr-20240630_htm.xml Edgar Link completed
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending
FilingSummary.xml Edgar Link unprocessable