XML 25 R10.htm IDEA: XBRL DOCUMENT
v3.25.1

Operating revenue from Contracts with Customers | 12 Months Ended
--- | ---
Dec. 31, 2024
Revenue from Contract with Customer [Abstract] |
Operating revenue from Contracts with Customers | Operating revenue from Contracts with Customers Under ASC 606, revenue is recognized when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services. Our contracts with customers state the terms of sale, including the description, quantity, and price of the products sold or service provided. Payment terms can vary by contract, but the period between invoicing and when payment is due is not significant. The Company's contracts with its customers generally do not include rights of return or a significant financing component. We present sales taxes assessed on revenue-producing transactions on a net basis. Disaggregation of Revenue We disaggregate revenue by three key revenue streams which are aligned with our business segments. The nature of the services offered by each key revenue stream is different. The following tables summarize revenue from contracts with customers for the years ended December 31, 2024, and 2023 from our three business segments:
|  | Year Ended December 31,
In thousands |  | 2024 |  | 2023
Marketing Services |  | $ | 50,332 |  |  | $ | 52,910 |
Customer Care |  | 52,918 |  |  | 53,621 |
Fulfillment & Logistics Services |  | 81,992 |  |  | 84,961 |
Total Revenue |  | $ | 185,242 |  |  | $ | 191,492 |
During the years ended December 31, 2024 and 2023, the Company recognized revenue of $2.4 million and $20.2 million from performance obligations satisfied at a point in time. The remainder of revenues recognized in 2024 and 2023 were recognized in an over time pattern. Our contracts with customers may consist of multiple performance obligations. If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. Contracts that contain multiple performance obligations require an allocation of the transaction price to each performance obligation based on a relative standalone selling price (“SSP”) basis unless the transaction price is variable and meets the criteria to be allocated entirely to a performance obligation or to a distinct good or service that forms part of a single performance obligation. For most performance obligations, we determine SSP based on the price at which the performance obligation is sold separately. Although uncommon, if the SSP is not observable through past transactions, we estimate the SSP taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Further discussion of other performance obligations in each of our major revenue streams follows: Marketing Services Our Marketing Services segment delivers strategic planning, data strategy, performance analytics, creative development and execution, technology enablement, marketing automation, and database management. We create relevancy by leveraging data, insight, and our extensive experience in leading clients as they engage their customers through digital, traditional, and emerging channels. The customer can choose other services to supplement and support their own in-house sales team. These services can include leveraging data for lead generation, outsourcing sales play design and testing, up to full hiring and managing of a dedicated internal sales team. With these services, we help clients build deep customer relationships, create connected customer experiences, and optimize each and every customer touch point in order to deliver desired business outcomes. Most marketing services performance obligations are satisfied over time and often offered on a project basis. We have concluded that the best approach to measure the progress toward completion of the project-based performance obligations is the input method, which is based on either the costs or labor hours incurred to date depending upon whether costs or labor hours more accurately depict the transfer of value to the customer. Our database solutions are built around centralized marketing databases with services rendered to build custom databases, database hosting services, customer or target marketing lists and data processing services. These performance obligations, including services rendered to build a custom database, database hosting services, customer or target marketing lists and data processing services, may be satisfied over time or at a point in time. We provide software as a service (“SaaS”) solutions to host data for customers and have concluded that they are stand-ready obligations to be recognized over time on a monthly basis. Our promise to provide certain data related services meets the over-time recognition criteria because our services do not create an asset with an alternative use, and we have an enforceable right to payment. For performance obligations recognized over time, we choose either the input (i.e., labor hour) or output method (i.e., number of customer records) to measure the progress toward completion depending on the nature of the services provided. Some of our other data-related services do not meet the over-time criteria and are therefore, recognized at a point-in-time, typically upon the delivery of a specific deliverable. Our contracts may include outsourced print production work for our clients. These contracts may include a promise to purchase postage on behalf of our clients. In such cases, we have determined we are an agent, rather than principal and therefore recognize net consideration as revenue. Customer Care We deliver customer care services in the United States, Asia and Europe to provide advanced solutions such as voice, SMS/chat, email, integrated voice response, web self-service, social cloud monitoring and analytics. Performance obligations are stand-ready obligations and are satisfied over time. With regard to account management and SaaS, we use a time-elapsed output method to recognize revenue. For performance obligations where we charge customers a transaction-based fee, we use the output method based on transaction quantities. In most cases, our contracts provide us the right to invoice for services provided, therefore, we generally use the “as invoiced” practical expedient to recognize revenue associated with these performance obligations unless significant discounts are offered in a contract and prices for services do not represent their SSPs. Fulfillment & Logistics Services Our services, delivered internally and with our partners, include: printing, lettershop, advanced mail optimization (including commingling services), logistics and transportation optimization, monitoring and tracking, to support traditional and specialized mailings. Our print and fulfillment centers in Massachusetts and Kansas provide custom kitting services, print on demand, product recalls, trade marketing fulfillment, ecommerce product fulfillment, sampling programs, and freight optimization, thereby allowing our customers to distribute literature and other marketing materials. Most performance obligations offered within this revenue stream are satisfied over time and utilize the input or output method, depending on the nature of the service, to measure progress toward satisfying the performance obligation. For performance obligations where we charge customers a transaction-based fee, we utilize the output method based on the quantities fulfilled. Services provided through our fulfillment centers are typically priced at a per transaction basis and our contracts provide us the right to invoice for services provided and reflects the value to the customer of the services transferred to date. In most cases, we use the “as invoiced” practical expedient to recognize revenue associated with these performance obligations unless significant discounts are offered in a contract and prices for services do not represent their standalone selling prices. Our direct mail business contracts may have included a promise to purchase postage on behalf of our clients; in such cases, we have determined we are an agent, rather than principal and therefore recognize net consideration as revenue. Transaction Price Allocated to Future Performance Obligations We have elected to apply certain optional exemptions that limit the disclosure requirements over remaining performance obligations at period end to exclude performance obligations that have an original expected duration of one year or less, transactions using the “as invoiced” practical expedient, or when a performance obligation is a series and we have allocated the variable consideration directly to the services performed. As of December 31, 2024, we had no transaction prices allocated to unsatisfied or partially satisfied performance obligations. Contract Balances We record a receivable when revenue is recognized prior to invoicing when we have an unconditional right to consideration (only the passage of time is required before payment of that consideration is due) and a contract asset when the right to payment is conditional upon our future performance such as delivery of an additional good or service (e.g. customer contract requires customer’s final acceptance of custom database solution or delivery of final marketing strategy delivery presentation before customer payment is required). If invoicing occurs prior to revenue recognition, the unearned revenue is presented on our Consolidated Balance Sheets as a contract liability, referred to as deferred revenue. The following table summarizes our contract balances as of December 31, 2024 and 2023:
In thousands |  | December 31, 2024 |  | December 31, 2023
Contract assets |  | $ | 363 |  |  | $ | 258 |
Deferred revenue and customer advances |  | 1,589 |  |  | 3,195 |
Deferred revenue included in other long-term liabilities |  | 182 |  |  | 294 |
Revenue recognized during the year ended December 31, 2024 from amounts included in deferred revenue as of December 31, 2023 was approximately $3.0 million. Revenue recognized during the year ended December 31, 2023 from amounts included in deferred revenue as of December 31, 2022 was approximately $4.3 million. Costs to Obtain and Fulfill a Contract We recognize an asset for the direct costs incurred to obtain and fulfill our contracts with customers to the extent that we expect to recover these costs and if the benefit is longer than one year. These costs are amortized to expense over the expected period of the benefit in a manner that is consistent with the transfer of the related goods or services to which the asset relates. We impair the asset when recoverability is not anticipated. We capitalized a portion of commission expense, implementation and other costs that represent the cost to obtain a contract. The remaining unamortized contract costs were $0.2 million and $0.6 million as of December 31, 2024 and 2023, respectively. They are included in other current assets and other assets on our consolidated balance sheet. For the years presented, no impairment was recognized.

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

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration