XML 16 R2.htm IDEA: XBRL DOCUMENT
v3.24.1

Pay vs Performance Disclosure - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020
Pay vs Performance Disclosure |  |  |  |
Pay vs Performance Disclosure, Table |
|  |  |  |  | Value of Initial Fixed $100 |  |  |
|  |  |  |  | Investment Based on: |  | In thousands
Year | Summary Compensation Table Total for CEO(1) | Compensation Actually Paid to CEO(2) | Average Summary Compensation Table Total for Non-CEO NEOs(3) | Average Compensation Actually Paid to Non-CEO NEOs(2)(3) | Total Shareholder Return | Peer Group Total Shareholder Return(4) |  | Net Income | Adjusted EBITDA
2023 | $ | 2,871,666 |  | $ | 2,328,935 |  | $ | 3,272,334 |  | $ | 3,721,264 |  | $ | 132.28 |  | $ | 115.10 |  |  | $ | 214,840 |  | $ | 398,065 |
2022 | 3,052,475 |  | 4,343,372 |  | 2,037,769 |  | 2,931,606 |  | $ | 146.45 |  | $ | 112.94 |  |  | 145,122 |  | 227,925 |
2021 | 2,031,846 |  | 3,713,542 |  | 1,358,309 |  | 2,045,335 |  | $ | 110.98 |  | $ | 69.94 |  |  | 67,470 |  | 120,355 |
2020 | 1,655,662 |  | 2,367,716 |  | 1,067,903 |  | 1,289,806 |  | $ | 75.96 |  | $ | 57.92 |  |  | 59,215 |  | 121,022 |
Named Executive Officers, Footnote | The dollar amounts reported are the amounts of total compensation reported for our CEO, Mr. Scott Bender, in the Summary Compensation Table for the fiscal years presented.For 2023, reflects compensation information for our NEOs, other than our CEO, as described in the CD&A in this proxy statement. For 2022, reflects compensation information for Mr. Joel Bender, Mr. Tadlock, Mr. Steven Bender and Mr. William Marsh. For 2021 and 2020, reflects compensation information for Mr. Joel Bender, Mr. Tadlock, Mr. Steven Bender and Mr. David Isaac, our former General Counsel who was also an NEO in 2021 and 2020. |  |  |
Peer Group Issuers, Footnote | Reflects cumulative total shareholder return of the PHLX Oil Service Index for each applicable fiscal year calculated based on a fixed investment of $100 and assuming dividends are reinvested. The PHLX Oil Service Index is the peer group used for purposes of Item 201(e) of Regulation S-K under the Exchange Act in Cactus’ Annual Report on Form 10-K for the year ended December 31, 2023. To better align with SEC guidance, the table reports the PHLX Oil Service Index “XOSX” value (rather than the “OSX” value reported in the proxy statement with respect to our 2023 annual meeting of stockholders) as this value assumes dividend reinvestment. This update is not a change in our peer group, but reflects an update to the way we calculate peer company total shareholder return. |  |  |
PEO Total Compensation Amount | $ 2,871,666 | $ 3,052,475 | $ 2,031,846 | $ 1,655,662
PEO Actually Paid Compensation Amount | $ 2,328,935 | 4,343,372 | 3,713,542 | 2,367,716
Adjustment To PEO Compensation, Footnote | To calculate the amounts in the “Compensation Actually Paid to CEO” and “Average Compensation Actually Paid to Non-CEO NEOs” columns in the table above, the following amounts were deducted from and added to (as applicable) our CEO’s “Total” compensation and the average of our NEOs’ other than our CEO’s “Total” compensation, in each case, as reported in the Summary Compensation Table:
| As Reported in Summary Compensation Table(1) |  | Equity Award Adjustments
Year | Total | Stock Awards |  | Fair Value at Year End of Unvested RSUs and PSUs that were Granted in Current Year(2) | Increase/(Decrease) in Fair Value at End of Year of Unvested RSUs and PSUs from End of Prior Year(3) | Increase/(Decrease) in Fair Value at Vesting Date of RSUs and PSUs from End of Prior Year(4) | Fair Value as of Prior Year End of RSUs and PSUs Granted in Prior Year that Failed to Vest(5) | Total Compensation Actually Paid
CEO
2023 | $ | 2,871,666 |  | $ | (1,951,730) |  |  | $ | 2,080,500 |  | $ | (194,818) |  | $ | (476,683) |  | $ | — |  | $ | 2,328,935 |
2022 | 3,052,475 |  | (2,158,932) |  |  | 1,948,078 |  | 694,224 |  | 1,226,233 |  | (418,706) |  | 4,343,372 |
2021 | 2,031,846 |  | (1,533,220) |  |  | 1,781,281 |  | 1,198,870 |  | 234,765 |  | — |  | 3,713,542 |
2020 | 1,655,662 |  | (1,500,004) |  |  | 2,931,927 |  | (337,589) |  | (382,280) |  | — |  | 2,367,716 |
Non-CEO NEOs
2023 | $ | 3,272,334 |  | $ | (2,576,269) |  |  | $ | 3,432,830 |  | $ | (110,944) |  | $ | (296,687) |  | $ | — |  | $ | 3,721,264 |
2022 | 2,037,769 |  | (1,279,169) |  |  | 1,185,885 |  | 327,583 |  | 823,993 |  | (164,455) |  | 2,931,606 |
2021 | 1,358,309 |  | (824,882) |  |  | 958,359 |  | 565,614 |  | 175,583 |  | (187,648) |  | 2,045,335 |
2020 | 1,067,903 |  | (807,012) |  |  | 1,577,409 |  | (259,659) |  | (288,835) |  | — |  | 1,289,806 |
Non-PEO NEO Average Total Compensation Amount | $ 3,272,334 | 2,037,769 | 1,358,309 | 1,067,903
Non-PEO NEO Average Compensation Actually Paid Amount | $ 3,721,264 | 2,931,606 | 2,045,335 | 1,289,806
Adjustment to Non-PEO NEO Compensation Footnote | To calculate the amounts in the “Compensation Actually Paid to CEO” and “Average Compensation Actually Paid to Non-CEO NEOs” columns in the table above, the following amounts were deducted from and added to (as applicable) our CEO’s “Total” compensation and the average of our NEOs’ other than our CEO’s “Total” compensation, in each case, as reported in the Summary Compensation Table:
| As Reported in Summary Compensation Table(1) |  | Equity Award Adjustments
Year | Total | Stock Awards |  | Fair Value at Year End of Unvested RSUs and PSUs that were Granted in Current Year(2) | Increase/(Decrease) in Fair Value at End of Year of Unvested RSUs and PSUs from End of Prior Year(3) | Increase/(Decrease) in Fair Value at Vesting Date of RSUs and PSUs from End of Prior Year(4) | Fair Value as of Prior Year End of RSUs and PSUs Granted in Prior Year that Failed to Vest(5) | Total Compensation Actually Paid
CEO
2023 | $ | 2,871,666 |  | $ | (1,951,730) |  |  | $ | 2,080,500 |  | $ | (194,818) |  | $ | (476,683) |  | $ | — |  | $ | 2,328,935 |
2022 | 3,052,475 |  | (2,158,932) |  |  | 1,948,078 |  | 694,224 |  | 1,226,233 |  | (418,706) |  | 4,343,372 |
2021 | 2,031,846 |  | (1,533,220) |  |  | 1,781,281 |  | 1,198,870 |  | 234,765 |  | — |  | 3,713,542 |
2020 | 1,655,662 |  | (1,500,004) |  |  | 2,931,927 |  | (337,589) |  | (382,280) |  | — |  | 2,367,716 |
Non-CEO NEOs
2023 | $ | 3,272,334 |  | $ | (2,576,269) |  |  | $ | 3,432,830 |  | $ | (110,944) |  | $ | (296,687) |  | $ | — |  | $ | 3,721,264 |
2022 | 2,037,769 |  | (1,279,169) |  |  | 1,185,885 |  | 327,583 |  | 823,993 |  | (164,455) |  | 2,931,606 |
2021 | 1,358,309 |  | (824,882) |  |  | 958,359 |  | 565,614 |  | 175,583 |  | (187,648) |  | 2,045,335 |
2020 | 1,067,903 |  | (807,012) |  |  | 1,577,409 |  | (259,659) |  | (288,835) |  | — |  | 1,289,806 |
Compensation Actually Paid vs. Total Shareholder Return |  |  |  |
Compensation Actually Paid vs. Net Income |  |  |  |
Compensation Actually Paid vs. Company Selected Measure |  |  |  |
Tabular List, Table |
Financial Performance Measures
Adjusted EBITDA
OCE/revenue
ROCE
Total Shareholder Return Amount | $ 132.28 | 146.45 | 110.98 | 75.96
Peer Group Total Shareholder Return Amount | 115.10 | 112.94 | 69.94 | 57.92
Net Income (Loss) | $ 214,840,000 | $ 145,122,000 | $ 67,470,000 | $ 59,215,000
Company Selected Measure Amount | 398,065,000 | 227,925,000 | 120,355,000 | 121,022,000
PEO Name | Mr. Scott Bender | Mr. Scott Bender | Mr. Scott Bender |
Additional 402(v) Disclosure | The dollar amounts reported represent the amount of “compensation actually paid” or “CAP”, as computed in accordance with SEC rules. The dollar amounts do not reflect the actual amounts of compensation paid to our CEO or other NEOs during the applicable year, but do include the year-end value of equity awards granted during the reported year and the change in the value of equity awards that were unvested at the end of the prior year, measured through the date the awards vested or were forfeited, or through the end of the reported fiscal year.Reflects, for Mr. Scott Bender, the applicable amounts reported in the “Summary Compensation Table Total for CEO” column in the table above and the “Stock Awards” column in the Summary Compensation Table, and for the Non-CEO NEOs, the amounts reported in the “Average Summary Compensation Table Total for Non-CEO NEOs” column in the table above and the average of the amounts reported in the “Stock Awards” column in the Summary Compensation Table.Reflects the fair value, with respect to Mr. Scott Bender, and the average of the fair value, with respect to the Non-CEO NEOs, as of the end of the covered year of RSUs and PSUs granted in the covered year that were outstanding and unvested (in whole or in part) as of the end of the covered year.Reflects the change in fair value, with respect to Mr. Scott Bender, and the average of the change in fair value, with respect to the Non-CEO NEOs, from the end of the prior year to the end of the covered year of RSUs and PSUs granted in a prior year that remained outstanding and unvested (in whole or in part) as of the end of the covered year. Reflects the change in fair value, with respect to Mr. Scott Bender, and the average of the change in fair value, with respect to the Non-CEO NEOs, from December 31 of the prior fiscal year to the vesting date in the covered year, when such awards were granted in a prior year.Reflects the fair value, with respect to Mr. Scott Bender, and the average of the fair value, with respect to the Non-CEO NEOs, in each case, as of the end of the prior year of awards granted in a prior fiscal year that failed to meet the applicable vesting conditions during the covered year. |  |  |
Measure:: 1 |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Name | Adjusted EBITDA |  |  |
Measure:: 2 |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Name | OCE/revenue |  |  |
Measure:: 3 |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Name | ROCE |  |  |
PEO | Equity Awards Stock Awards Reported Value [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | $ (1,951,730) | $ (2,158,932) | $ (1,533,220) | $ (1,500,004)
PEO | Equity Awards Granted During the Year, Unvested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | 2,080,500 | 1,948,078 | 1,781,281 | 2,931,927
PEO | Equity Awards Granted in Prior Year, Unvested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | (194,818) | 694,224 | 1,198,870 | (337,589)
PEO | Equity Awards Granted in Prior Year, Vested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | (476,683) | 1,226,233 | 234,765 | (382,280)
PEO | Equity Awards that Failed to Vest [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | 0 | (418,706) | 0 | 0
Non-PEO NEO | Equity Awards Stock Awards Reported Value [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | (2,576,269) | (1,279,169) | (824,882) | (807,012)
Non-PEO NEO | Equity Awards Granted During the Year, Unvested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | 3,432,830 | 1,185,885 | 958,359 | 1,577,409
Non-PEO NEO | Equity Awards Granted in Prior Year, Unvested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | (110,944) | 327,583 | 565,614 | (259,659)
Non-PEO NEO | Equity Awards Granted in Prior Year, Vested [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | (296,687) | 823,993 | 175,583 | (288,835)
Non-PEO NEO | Equity Awards that Failed to Vest [Member] |  |  |  |
Pay vs Performance Disclosure |  |  |  |
Adjustment to Compensation Amount, Equity Awards | $ 0 | $ (164,455) | $ (187,648) | $ 0

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v + Details
Name: | ecd_Additional402vDisclosureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToNonPeoNeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToPeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iii + Details
Name: | ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph ii + Details
Name: | ecd_CompActuallyPaidVsNetIncomeTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph i + Details
Name: | ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_MeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_NamedExecutiveOfficersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_NonPeoNeoAvgCompActuallyPaidAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_NonPeoNeoAvgTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupIssuersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupTotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_PeoActuallyPaidCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_PeoName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_PeoTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTable
Namespace Prefix: | ecd_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 6 + Details
Name: | ecd_TabularListTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4 Reference 13: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 830 -Name Accounting Standards Codification -Section 55 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-07(9)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(1)(d)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B Reference 29: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30 Reference 30: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 31: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B Reference 32: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31 Reference 33: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 34: http://www.xbrl.org/2003/role/disclosureRef -Topic 205 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7 Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 Reference 36: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1A -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A Reference 37: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2 Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | whd_AdjustmentToCompensationAmountEquityAwards
Namespace Prefix: | whd_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | ecd_MeasureAxis=1
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=2
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=3
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_PeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=whd_EquityAwardsStockAwardsReportedValueMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=whd_EquityAwardsGrantedDuringTheYearUnvestedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=whd_EquityAwardsGrantedInPriorYearUnvestedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=whd_EquityAwardsGrantedInPriorYearVestedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=whd_EquityAwardsThatFailedToVestMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_NonPeoNeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |