{
  "ticker": "WHD",
  "name": "Cactus, Inc.",
  "cik": "0001699136",
  "sic": "3533",
  "sic_description": "Oil & Gas Field Machinery & Equipment",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001699136.json",
  "as_of": "2026-02-26",
  "note": "Verified SEC companyfacts-derived facts; derived metrics (margins, ratios, free cash flow) are computed from those facts. Descriptive data, not investment advice.",
  "annual": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 341191000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 544135000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 628414000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 348566000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 438589000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 688369000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1096960000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1129814000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1079051000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 51683000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 85612000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 34446000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 49593000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 110174000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 169171000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 185407000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 166014000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "operating_income",
      "label": "Operating income",
      "concept": "OperatingIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 10615000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 88863000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 177701000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 183150000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 70039000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 75427000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 174748000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 264366000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 289613000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 250501000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "operating_cash_flow",
      "label": "Operating cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 23975000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 34707000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 167180000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 209632000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 143380000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 63759000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 117884000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 340280000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 316113000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 258417000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "dividends_paid",
      "label": "Dividends paid",
      "concept": "PaymentsOfDividendsCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsOfDividendsCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 0.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4244000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 17140000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 21158000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 26719000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 30124000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 33681000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 37441000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "share_buybacks",
      "label": "Share buybacks",
      "concept": "PaymentsForRepurchaseOfCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsForRepurchaseOfCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 0.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 1549000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1445000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 3283000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 4563000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 5249000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 9331000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 5927000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 266456000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 584744000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 834964000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 815594000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 982078000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1118896000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1522561000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1739328000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1871617000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "liabilities",
      "label": "Liabilities",
      "concept": "Liabilities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Liabilities"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 302673000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 222416000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 318569000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 264824000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 387045000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 408451000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 457791000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 475149000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 438569000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "equity",
      "label": "Stockholders' equity",
      "concept": "StockholdersEquity",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -36217000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 177658000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 327466000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 352970000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 468644000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 571917000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 865522000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1071117000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1226390000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "cash",
      "label": "Cash and cash equivalents",
      "concept": "CashAndCashEquivalentsAtCarryingValue",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:CashAndCashEquivalentsAtCarryingValue"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 7574000.0,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 70841000.0,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 202603000.0,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 288659000.0,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 301669000.0,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 344527000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 133792000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 342843000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 123571000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "net_margin",
      "label": "Net margin",
      "concept": "NetIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 9.498194381908903,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 13.623502977336596,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 9.882203083490644,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 11.307397130342986,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 16.005078671468357,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 15.421802071178531,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 16.410400295977922,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 15.385185686311399,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "operating_margin",
      "label": "Operating margin",
      "concept": "OperatingIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 26.044942568825086,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 32.65752065204407,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 29.144799447497988,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 20.09346866877435,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 17.19764973585749,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 25.385803253778132,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 24.0998760210035,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 25.633688377024892,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 23.214936087358243,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "roe",
      "label": "Return on equity",
      "concept": "NetIncomeLoss / StockholdersEquity",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 29.091287755125016,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 26.143782866007463,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 9.758903022919794,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 10.58223299562141,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 19.263984109582335,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 19.545545924886948,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 17.309686990310116,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 13.536803137664203,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "roa",
      "label": "Return on assets",
      "concept": "NetIncomeLoss / Assets",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 8.838568672786725,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 10.253376193464629,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 4.223424890325333,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 5.0498025615073345,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 9.846670289285154,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 11.110950562900271,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 10.659691559038894,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 8.870083996886114,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "liabilities_to_equity",
      "label": "Liabilities / equity",
      "concept": "Liabilities / StockholdersEquity",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:Liabilities",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 1.251933490189015,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 0.9728307671636139,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.7502733943394623,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.8258827596213757,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 0.7141788056658571,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.5289189645092788,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 0.4436013992869126,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 0.3576097326299138,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    },
    {
      "metric_id": "current_ratio",
      "label": "Current ratio",
      "concept": "AssetsCurrent / LiabilitiesCurrent",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:AssetsCurrent",
        "us-gaap:LiabilitiesCurrent"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 3.1003706925899306,
          "filed": "2019-03-15",
          "accession": "0001558370-19-002063"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 3.678508254716981,
          "filed": "2020-02-28",
          "accession": "0001558370-20-001806"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4.55284990013827,
          "filed": "2021-03-01",
          "accession": "0001699136-21-000033"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 8.69144434222631,
          "filed": "2022-02-28",
          "accession": "0001699136-22-000011"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 5.600762633136734,
          "filed": "2023-03-01",
          "accession": "0001699136-23-000017"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 5.612066970141193,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 3.1662188318342253,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 4.332125441775153,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 5.8141328900822575,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377"
        }
      ]
    }
  ],
  "quarterly": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 305819000.0,
          "filed": "2023-08-08",
          "accession": "0001699136-23-000093",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 287870000.0,
          "filed": "2023-11-09",
          "accession": "0001699136-23-000140",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 274866000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 274123000.0,
          "filed": "2024-05-02",
          "accession": "0001699136-24-000065",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 290389000.0,
          "filed": "2024-08-01",
          "accession": "0001699136-24-000099",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 293181000.0,
          "filed": "2024-10-31",
          "accession": "0001699136-24-000118",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 272121000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 280319000.0,
          "filed": "2025-05-01",
          "accession": "0001699136-25-000078",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 273575000.0,
          "filed": "2025-07-31",
          "accession": "0001699136-25-000105",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 263954000.0,
          "filed": "2025-10-30",
          "accession": "0001628280-25-047500",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 261203000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 388349000.0,
          "filed": "2026-05-08",
          "accession": "0001628280-26-032636",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 24750000.0,
          "filed": "2023-08-08",
          "accession": "0001699136-23-000093",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 52580000.0,
          "filed": "2023-11-09",
          "accession": "0001699136-23-000140",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 48947000.0,
          "filed": "2024-02-29",
          "accession": "0001699136-24-000007",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 38965000.0,
          "filed": "2024-05-02",
          "accession": "0001699136-24-000065",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 49828000.0,
          "filed": "2024-08-01",
          "accession": "0001699136-24-000099",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 49927000.0,
          "filed": "2024-10-31",
          "accession": "0001699136-24-000118",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 46687000.0,
          "filed": "2025-02-27",
          "accession": "0001699136-25-000014",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 44223000.0,
          "filed": "2025-05-01",
          "accession": "0001699136-25-000078",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 40329000.0,
          "filed": "2025-07-31",
          "accession": "0001699136-25-000105",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 41624000.0,
          "filed": "2025-10-30",
          "accession": "0001628280-25-047500",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 39838000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012377",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 32906000.0,
          "filed": "2026-05-08",
          "accession": "0001628280-26-032636",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "fiscal_quarter": 1,
          "period_label": "2018-Q1",
          "period_end": "2018-03-31",
          "value": 0.14,
          "filed": "2018-05-11",
          "accession": "0001558370-18-004743",
          "derived": false
        },
        {
          "fiscal_year": 2018,
          "fiscal_quarter": 2,
          "period_label": "2018-Q2",
          "period_end": "2018-06-30",
          "value": 0.46,
          "filed": "2018-08-02",
          "accession": "0001558370-18-006261",
          "derived": false
        },
        {
          "fiscal_year": 2018,
          "fiscal_quarter": 3,
          "period_label": "2018-Q3",
          "period_end": "2018-09-30",
          "value": 0.52,
          "filed": "2018-11-02",
          "accession": "0001558370-18-008393",
          "derived": false
        },
        {
          "fiscal_year": 2019,
          "fiscal_quarter": 1,
          "period_label": "2019-Q1",
          "period_end": "2019-03-31",
          "value": 0.59,
          "filed": "2019-05-09",
          "accession": "0001558370-19-004535",
          "derived": false
        },
        {
          "fiscal_year": 2020,
          "fiscal_quarter": 2,
          "period_label": "2020-Q2",
          "period_end": "2020-06-30",
          "value": 0.11,
          "filed": "2020-07-31",
          "accession": "0001699136-20-000009",
          "derived": false
        },
        {
          "fiscal_year": 2020,
          "fiscal_quarter": 3,
          "period_label": "2020-Q3",
          "period_end": "2020-09-30",
          "value": 0.13,
          "filed": "2020-11-05",
          "accession": "0001699136-20-000035",
          "derived": false
        },
        {
          "fiscal_year": 2021,
          "fiscal_quarter": 1,
          "period_label": "2021-Q1",
          "period_end": "2021-03-31",
          "value": 0.19,
          "filed": "2021-05-07",
          "accession": "0001699136-21-000112",
          "derived": false
        }
      ]
    }
  ]
}
