{
  "ticker": "PLPC",
  "name": "PREFORMED LINE PRODUCTS CO",
  "cik": "0000080035",
  "sic": "1623",
  "sic_description": "Water, Sewer, Pipeline, Comm & Power Line Construction",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000080035.json",
  "as_of": "2026-03-05",
  "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": 2016,
          "period_end": "2016-12-31",
          "value": 336634000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 378212000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 420878000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 444861000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 466449000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 517417000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 637021000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 669679000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 593714000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 669338000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 15255000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 12654000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 26581000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 23303000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 29803000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 35729000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 54395000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 63332000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 37094000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 35283000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 21479000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 26108000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 32934000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 32627000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 40207000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 47549000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 69361000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 84154000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 50757000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 55135000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "gross_profit",
      "label": "Gross profit",
      "concept": "GrossProfit",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:GrossProfit"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 109414000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 118628000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 132231000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 140595000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 154013000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 166242000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 215180000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 234848000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 189811000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 208539000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "derived": false,
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 2.95,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 2.47,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 5.21,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4.58,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 5.98,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 7.19,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 10.88,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 12.68,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 7.5,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 7.14,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 25974000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 33830000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 22976000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 27217000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 41642000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 33598000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 26153000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 107642000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 67480000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 73467000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "capex",
      "label": "Capital expenditures",
      "concept": "PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 24725000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 11233000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 9528000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 29467000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 24569000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 18384000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 40598000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 35332000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 14651000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 40132000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "dividends_paid",
      "label": "Dividends paid",
      "concept": "PaymentsOfDividendsCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsOfDividendsCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 4170000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 4099000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 4088000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4230000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 4184000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 4128000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 4099000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 4106000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 4076000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 4118000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "share_buybacks",
      "label": "Share buybacks",
      "concept": "PaymentsForRepurchaseOfCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsForRepurchaseOfCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 3108000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 2000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 191000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 2800000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 5836000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 177000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 158000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 728000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 226000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1049000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 340937000.0,
          "filed": "2018-03-09",
          "accession": "0001564590-18-005116"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 359785000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 358797000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 433571000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 461087000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 489018000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 568479000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 603151000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 573877000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 653621000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "equity",
      "label": "Stockholders' equity",
      "concept": "StockholdersEquity",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 223543000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 238537000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 249370000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 268535000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 292078000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 316117000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 358637000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 416164000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 422315000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 475518000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "metric_id": "free_cash_flow",
      "label": "Free cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities - PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities",
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 1249000.0,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 22597000.0,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 13448000.0,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": -2250000.0,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 17073000.0,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 15214000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -14445000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 72310000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 52829000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 33335000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 4.531627821313355,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 3.3457425993887027,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 6.3156068979609294,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 5.238265435720371,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 6.389337312332109,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 6.9052621000083105,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 8.538964963478442,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 9.457068237170347,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 6.247789339648383,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 5.271327789547284,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 6.380520090068146,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 6.903006779266654,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 7.825070447968295,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 7.334201020093917,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 8.619806238195386,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 9.189686461790007,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 10.88833806106863,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 12.566319087204466,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 8.549065711773682,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 8.237243365833107,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 6.824190424213686,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 5.304837404679358,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 10.659261338573204,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 8.677825981715605,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 10.203781181739124,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 11.302460797742608,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 15.16714672496145,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 15.218039042300632,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 8.783490996057445,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 7.419908394634904,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 4.47443369302833,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 3.517100490570758,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 7.408367405524572,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 5.374667586162358,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 6.463639183060897,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 7.306275024641219,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 9.56851528376598,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 10.500189836375966,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 6.463754428213711,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 5.398082374954293,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 3.4100982778829683,
          "filed": "2018-03-09",
          "accession": "0001564590-18-005116"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 3.296516161889453,
          "filed": "2019-03-08",
          "accession": "0001564590-19-007041"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 3.0834976326507118,
          "filed": "2020-03-06",
          "accession": "0001564590-20-009196"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 2.861310177247666,
          "filed": "2021-03-05",
          "accession": "0001564590-21-011273"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 2.4699250293907915,
          "filed": "2022-03-04",
          "accession": "0000950170-22-002892"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 2.578395792864926,
          "filed": "2023-03-03",
          "accession": "0000950170-23-006020"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 2.8453635063077125,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2.9179280792691142,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 2.912870227740216,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 3.168520617208613,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007"
        }
      ]
    }
  ],
  "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": 181813000.0,
          "filed": "2023-08-03",
          "accession": "0000950170-23-037719",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 160438000.0,
          "filed": "2023-11-02",
          "accession": "0000950170-23-058114",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 145603000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 140904000.0,
          "filed": "2024-05-02",
          "accession": "0000950170-24-051969",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 138720000.0,
          "filed": "2024-08-01",
          "accession": "0000950170-24-089123",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 146973000.0,
          "filed": "2024-10-31",
          "accession": "0001628280-24-044522",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 167117000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 148541000.0,
          "filed": "2025-05-02",
          "accession": "0001628280-25-021769",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 169601000.0,
          "filed": "2025-07-31",
          "accession": "0000080035-25-000013",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 178087000.0,
          "filed": "2025-10-30",
          "accession": "0000080035-25-000022",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 173109000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 176278000.0,
          "filed": "2026-04-30",
          "accession": "0000080035-26-000017",
          "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": 20472000.0,
          "filed": "2023-08-03",
          "accession": "0000950170-23-037719",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 15130000.0,
          "filed": "2023-11-02",
          "accession": "0000950170-23-058114",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 6332000.0,
          "filed": "2024-03-08",
          "accession": "0000950170-24-028605",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 9596000.0,
          "filed": "2024-05-02",
          "accession": "0000950170-24-051969",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 9366000.0,
          "filed": "2024-08-01",
          "accession": "0000950170-24-089123",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 7680000.0,
          "filed": "2024-10-31",
          "accession": "0001628280-24-044522",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 10452000.0,
          "filed": "2025-03-13",
          "accession": "0001628280-25-012640",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 11517000.0,
          "filed": "2025-05-02",
          "accession": "0001628280-25-021769",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 12705000.0,
          "filed": "2025-07-31",
          "accession": "0000080035-25-000013",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 2626000.0,
          "filed": "2025-10-30",
          "accession": "0000080035-25-000022",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 8435000.0,
          "filed": "2026-03-05",
          "accession": "0000080035-26-000007",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 10524000.0,
          "filed": "2026-04-30",
          "accession": "0000080035-26-000017",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 2,
          "period_label": "2022-Q2",
          "period_end": "2022-06-30",
          "value": 2.77,
          "filed": "2022-08-05",
          "accession": "0000950170-22-015067",
          "derived": false
        },
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 3,
          "period_label": "2022-Q3",
          "period_end": "2022-09-30",
          "value": 2.36,
          "filed": "2022-11-01",
          "accession": "0000950170-22-020808",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 1,
          "period_label": "2023-Q1",
          "period_end": "2023-03-31",
          "value": 4.28,
          "filed": "2023-05-04",
          "accession": "0000950170-23-017586",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 4.08,
          "filed": "2023-08-03",
          "accession": "0000950170-23-037719",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 3.03,
          "filed": "2023-11-02",
          "accession": "0000950170-23-058114",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 1.94,
          "filed": "2024-05-02",
          "accession": "0000950170-24-051969",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 1.89,
          "filed": "2024-08-01",
          "accession": "0000950170-24-089123",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 1.54,
          "filed": "2024-10-31",
          "accession": "0001628280-24-044522",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 2.33,
          "filed": "2025-05-02",
          "accession": "0001628280-25-021769",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 2.56,
          "filed": "2025-07-31",
          "accession": "0000080035-25-000013",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 0.53,
          "filed": "2025-10-30",
          "accession": "0000080035-25-000022",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 2.14,
          "filed": "2026-04-30",
          "accession": "0000080035-26-000017",
          "derived": false
        }
      ]
    }
  ]
}
