XML 54 R38.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Business Segments and Geographic Information (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Segment Reporting [Abstract] |
Summary of Operating Segments | Below are the operating results of our reporting segments:
|  | Years Ended December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
|  | (Amounts in thousands) |
Revenues: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 36,625 |  |  | $ | 34,358 |  |  | $ | 40,594 |
IT Staffing Services |  |  | 162,318 |  |  |  | 166,740 |  |  |  | 201,644 |
Total revenues |  | $ | 198,943 |  |  | $ | 201,098 |  |  | $ | 242,238 |
Cost of Revenues: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 18,660 |  |  | $ | 19,411 |  |  | $ | 23,745 |
IT Staffing Services |  |  | 124,686 |  |  |  | 130,651 |  |  |  | 155,310 |
Total cost of revenues |  | $ | 143,346 |  |  | $ | 150,062 |  |  | $ | 179,055 |
|  | Years Ended December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
|  | (Amounts in thousands) |
Gross Profit: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 17,965 |  |  | $ | 14,947 |  |  | $ | 16,849 |
IT Staffing Services |  |  | 37,632 |  |  |  | 36,089 |  |  |  | 46,334 |
Total gross profit |  | $ | 55,597 |  |  | $ | 51,036 |  |  | $ | 63,183 |
Gross Margin %: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  |  | 49.1 | % |  |  | 43.5 | % |  |  | 41.5 | %
IT Staffing Services |  |  | 23.2 | % |  |  | 21.6 | % |  |  | 23.0 | %
Total gross margin % |  |  | 27.9 | % |  |  | 25.4 | % |  |  | 26.1 | %
Sales & Marketing Expenses: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 7,333 |  |  | $ | 6,511 |  |  | $ | 5,861 |
IT Staffing Services |  |  | 9,100 |  |  |  | 8,335 |  |  |  | 9,470 |
Total sales & marketing expenses |  | $ | 16,433 |  |  | $ | 14,846 |  |  | $ | 15,331 |
Operations Expenses: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 685 |  |  | $ | 1,297 |  |  | $ | 2,304 |
IT Staffing Services |  |  | 8,742 |  |  |  | 8,596 |  |  |  | 11,010 |
Total operations expenses |  | $ | 9,427 |  |  | $ | 9,893 |  |  | $ | 13,314 |
General & Administrative Expenses: |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 6,703 |  |  | $ | 8,946 |  |  | $ | 5,355 |
IT Staffing Services |  |  | 14,467 |  |  |  | 13,104 |  |  |  | 12,557 |
Total general & administrative expenses |  | $ | 21,170 |  |  | $ | 22,050 |  |  | $ | 17,912 |
Segment operating income (loss): |  |  |  |  |  |  |  |  |  |  |  |
Data and Analytics Services |  | $ | 3,244 |  |  | $ | (1,807 | ) |  | $ | 3,329 |
IT Staffing Services |  |  | 5,323 |  |  |  | 6,054 |  |  |  | 13,297 |
Subtotal |  |  | 8,567 |  |  |  | 4,247 |  |  |  | 16,626 |
Unallocated Costs: |  |  |  |  |  |  |  |  |  |  |  |
Amortization of acquired intangible assets |  |  | (2,693 | ) |  |  | (2,772 | ) |  |  | (2,987 | )
Goodwill impairment |  |  | — |  |  |  | (5,300 | ) |  |  | — |
Employment-related claim, net of recoveries |  |  | — |  |  |  | (3,100 | ) |  |  | — |
Severance expense |  |  | (2,083 | ) |  |  | (2,350 | ) |  |  | (990 | )
Cybersecurity breach |  |  | — |  |  |  | — |  |  |  | (450 | )
Interest income (expense), FX gains/losses and other, net |  |  | 633 |  |  |  | 244 |  |  |  | 292 |
Income (loss) before income taxes |  | $ | 4,424 |  |  | $ | (9,031 | ) |  | $ | 12,491 |
Summary of Assets, Depreciation and Amortization and Capital Expenditures by Segment | Below is a reconciliation of total assets, depreciation and amortization and capital expenditures by segment:
|  | Total Assets |  |  | Depreciation & Amortization |  |  | Capital Expenditures |
(Amounts in thousands) |  | 2024 |  |  | 2023 |  |  | 2022 |  |  | 2024 |  |  | 2023 |  |  | 2022 |  |  | 2024 |  |  | 2023 |  |  | 2022 |
Data and Analytics Services |  | $ | 44,053 |  |  | $ | 45,681 |  |  | $ | 54,544 |  |  | $ | 2,572 |  |  | $ | 2,704 |  |  | $ | 2,860 |  |  | $ | 249 |  |  | $ | 177 |  |  | $ | 756 |
IT Staffing Services |  |  | 67,431 |  |  |  | 59,546 |  |  |  | 54,335 |  |  |  | 927 |  |  |  | 1,151 |  |  |  | 1,335 |  |  |  | 692 |  |  |  | 158 |  |  |  | 79 |
Total |  | $ | 111,484 |  |  | $ | 105,227 |  |  | $ | 108,879 |  |  | $ | 3,499 |  |  | $ | 3,855 |  |  | $ | 4,195 |  |  | $ | 941 |  |  | $ | 335 |  |  | $ | 835 |
Summary of Revenue from External Customers and Long-lived Assets | Below is geographic information related to our revenues from external customers and fixed assets, net (equipment, enterprise software and leasehold improvements):
|  | Revenues |  |  | Equipment, Enterprise Software and Leasehold Improvements, net |
Amounts in thousands |  | 2024 |  |  | 2023 |  |  | 2022 |  |  | 2024 |  |  | 2023 |  |  | 2022 |
United States |  | $ | 195,455 |  |  | $ | 197,246 |  |  | $ | 236,187 |  |  | $ | 851 |  |  | $ | 791 |  |  | $ | 1,353 |
Canada |  |  | 1,041 |  |  |  | 2,474 |  |  |  | 4,215 |  |  |  | 254 |  |  |  | 332 |  |  |  | 429 |
India and Other |  |  | 2,447 |  |  |  | 1,378 |  |  |  | 1,836 |  |  |  | 893 |  |  |  | 790 |  |  |  | 883 |
Total |  | $ | 198,943 |  |  | $ | 201,098 |  |  | $ | 242,238 |  |  | $ | 1,998 |  |  | $ | 1,913 |  |  | $ | 2,665 |

X
- Definition Reconciliation Of Assets Depreciation Amortization And Capital Expenditure From Segment To Consolidated Table [Text Block] + References No definition available. + Details
Name: | mhh_ReconciliationOfAssetsDepreciationAmortizationAndCapitalExpenditureFromSegmentToConsolidatedTableTextBlock
Namespace Prefix: | mhh_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue From External Customers And Long Lived Assets By Geographic Areas Table [Text Block] + References No definition available. + Details
Name: | mhh_RevenueFromExternalCustomersAndLongLivedAssetsByGeographicAreasTableTextBlock
Namespace Prefix: | mhh_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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