{
  "ticker": "BSY",
  "name": "BENTLEY SYSTEMS INC",
  "cik": "0001031308",
  "sic": "7372",
  "sic_description": "Services-Prepackaged Software",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001031308.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": 2018,
          "period_end": "2018-12-31",
          "value": 691710000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 736654000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 801544000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 965046000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1099082000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1228413000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1353095000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1501779000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "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": 142112000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 103096000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 126521000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 93192000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 174780000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 326787000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 234787000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 277861000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "operating_income",
      "label": "Operating income",
      "concept": "OperatingIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 121391000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 141865000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 150150000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 94589000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 208612000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 230542000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 302150000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 362621000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "gross_profit",
      "label": "Gross profit",
      "concept": "GrossProfit",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:GrossProfit"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 560386000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 592504000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 634389000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 748507000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 862069000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 962330000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1095328000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1224249000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "derived": false,
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 0.49,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 0.35,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.42,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.3,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 0.55,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 0.72,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 0.85,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2018,
          "period_end": "2018-12-31",
          "value": 161465000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 170773000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 258340000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 288024000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 274324000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 416696000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 435292000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 538464000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "capex",
      "label": "Capital expenditures",
      "concept": "PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 18616000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 16639000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 16447000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 17539000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 18546000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 25002000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 14046000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 18255000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "dividends_paid",
      "label": "Dividends paid",
      "concept": "PaymentsOfDividends",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsOfDividends"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 20059000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 24989000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 422646000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 33396000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 34493000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 58756000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 72115000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 84963000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "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": 46451000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 24166000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 28250000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 64359000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 125057000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 994599000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1126035000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 2659243000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 3165005000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 3319850000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 3399807000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 3555167000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "liabilities",
      "label": "Liabilities",
      "concept": "Liabilities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Liabilities"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 659980000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 784436000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 2250021000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 2591551000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2435868000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 2358687000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 2365675000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "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": 52167000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 147431000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 334619000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 341599000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 409222000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 883278000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1040987000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1189413000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "metric_id": "cash",
      "label": "Cash and cash equivalents",
      "concept": "CashAndCashEquivalentsAtCarryingValue",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:CashAndCashEquivalentsAtCarryingValue"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 121101000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 122006000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 329337000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 71684000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 68412000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 64009000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 123278000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2018,
          "period_end": "2018-12-31",
          "value": 142849000.0,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 154134000.0,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 241893000.0,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 270485000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 255778000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 391694000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 421246000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 520209000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2018,
          "period_end": "2018-12-31",
          "value": 20.54502609475069,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 13.995172767676548,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 15.784660605032288,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 9.65674175117041,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 15.902362153142349,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 26.60237232917594,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 17.351848909352263,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 18.502123148612412,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2018,
          "period_end": "2018-12-31",
          "value": 17.549406543204523,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 19.258023441127044,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 18.732596089547172,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 9.801501690074877,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 18.980567418991487,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 18.767466641919288,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 22.330287230386634,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 24.14609606340214,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2018,
          "period_end": "2018-12-31",
          "value": 96.39221059343015,
          "filed": "2022-03-01",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 30.80996596128732,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 37.037871890725675,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 22.77296919520456,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 36.99707226943273,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 22.55426820892096,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 23.361187409251453,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2019,
          "period_end": "2019-12-31",
          "value": 10.36558452200334,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 11.235974015017296,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 3.5044559673561237,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 5.522266157557413,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 9.843426660843111,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 6.905892010928856,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 7.815694733890139,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        }
      ]
    },
    {
      "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": 2019,
          "period_end": "2019-12-31",
          "value": 1.9723327127270118,
          "filed": "2022-03-01",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 2.296365036197413,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 5.49828943702929,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2.757759165291109,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 2.265817920877014,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.988943285469387,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 2019,
          "period_end": "2019-12-31",
          "value": 0.9009844220247545,
          "filed": "2021-03-02",
          "accession": "0001628280-21-003727"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.7308653112951209,
          "filed": "2022-03-01",
          "accession": "0001628280-22-004474"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1.0369724891138525,
          "filed": "2023-02-28",
          "accession": "0001628280-23-005568"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 0.6618758733078913,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.551785134205636,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 0.5428644757556482,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 0.5613699086658127,
          "filed": "2026-02-26",
          "accession": "0001031308-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": 296749000.0,
          "filed": "2023-08-08",
          "accession": "0001031308-23-000009",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 306612000.0,
          "filed": "2023-11-07",
          "accession": "0001031308-23-000011",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 310641000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 337763000.0,
          "filed": "2024-05-07",
          "accession": "0001031308-24-000004",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 330337000.0,
          "filed": "2024-08-06",
          "accession": "0001031308-24-000009",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 335173000.0,
          "filed": "2024-11-07",
          "accession": "0001031308-24-000012",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 349822000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 370542000.0,
          "filed": "2025-05-07",
          "accession": "0001031308-25-000004",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 364106000.0,
          "filed": "2025-08-06",
          "accession": "0001031308-25-000007",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 375549000.0,
          "filed": "2025-11-05",
          "accession": "0001031308-25-000015",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 391582000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 424181000.0,
          "filed": "2026-05-07",
          "accession": "0001031308-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": 48685000.0,
          "filed": "2023-08-08",
          "accession": "0001031308-23-000009",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 53027000.0,
          "filed": "2023-11-07",
          "accession": "0001031308-23-000011",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 179585000.0,
          "filed": "2024-02-27",
          "accession": "0001031308-24-000002",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 70310000.0,
          "filed": "2024-05-07",
          "accession": "0001031308-24-000004",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 72046000.0,
          "filed": "2024-08-06",
          "accession": "0001031308-24-000009",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 42338000.0,
          "filed": "2024-11-07",
          "accession": "0001031308-24-000012",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 50093000.0,
          "filed": "2025-02-26",
          "accession": "0001031308-25-000002",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 91368000.0,
          "filed": "2025-05-07",
          "accession": "0001031308-25-000004",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 70482000.0,
          "filed": "2025-08-06",
          "accession": "0001031308-25-000007",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 57373000.0,
          "filed": "2025-11-05",
          "accession": "0001031308-25-000015",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 58638000.0,
          "filed": "2026-02-26",
          "accession": "0001031308-26-000007",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 95386000.0,
          "filed": "2026-05-07",
          "accession": "0001031308-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": 0.17,
          "filed": "2022-08-09",
          "accession": "0001628280-22-021920",
          "derived": false
        },
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 3,
          "period_label": "2022-Q3",
          "period_end": "2022-09-30",
          "value": 0.12,
          "filed": "2022-11-08",
          "accession": "0001628280-22-028900",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 1,
          "period_label": "2023-Q1",
          "period_end": "2023-03-31",
          "value": 0.14,
          "filed": "2023-05-09",
          "accession": "0001628280-23-016837",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 0.15,
          "filed": "2023-08-08",
          "accession": "0001031308-23-000009",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 0.16,
          "filed": "2023-11-07",
          "accession": "0001031308-23-000011",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 0.22,
          "filed": "2024-05-07",
          "accession": "0001031308-24-000004",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 0.22,
          "filed": "2024-08-06",
          "accession": "0001031308-24-000009",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 0.13,
          "filed": "2024-11-07",
          "accession": "0001031308-24-000012",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 0.28,
          "filed": "2025-05-07",
          "accession": "0001031308-25-000004",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 0.22,
          "filed": "2025-08-06",
          "accession": "0001031308-25-000007",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 0.18,
          "filed": "2025-11-05",
          "accession": "0001031308-25-000015",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 0.3,
          "filed": "2026-05-07",
          "accession": "0001031308-26-000017",
          "derived": false
        }
      ]
    }
  ]
}
