{
  "metric": {
    "id": "financial.net_retention_ratio",
    "slug": "net-retention-ratio",
    "name": "Net Retention Ratio",
    "metric_short_name": "net retention ratio",
    "unit": "%",
    "definition": "Net Written Premium as a percentage of Gross Written Premium. Measures how much of the premium volume the insurer retains after ceding to reinsurers. A ratio near 100% means the insurer keeps most risk; a low ratio reflects heavy reinsurance dependence. Neither extreme is categorically better — appropriate retention depends on the insurer's capital position and line of business.",
    "higher_is_better": null,
    "metric_status": "regulatory_native",
    "regulatory_form": "NL-20",
    "applicable_to": [
      "general",
      "health"
    ]
  },
  "facts": [
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 66.45,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "Public_Disclosure_for_Q1_FY_2026-27.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "narayana-health-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Corrected 2026-10-26: vendor stored as decimal fraction (0.96), wrong by 100x -- confirmed against this insurer own Q2-Q4 direct-extraction values (95.92-96.0 range). Original note preserved context: vendor gap-fill, Q1 FY26-27.",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 57,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 57.3,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "raheja-qbe",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 6974,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "nl_20_7b503eba88.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 84.03,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "c7925595-ce45-4fdc-b77e-a2c417916f24_SGI_Disclosure_1st_Qtr_2026_27.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.44,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-2027_Q1_PD_FY_27_Q1_V2_6aad7ae1f8.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 81.84,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "Public_Disclosure_Q1_FY26-27.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 74.5,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "icici-lombard",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_nl-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 85.09,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "national-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "pdfs/national-insurance/NL-20-ANALYTICAL RATIOS SCHEDULE.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row: Net Retention Ratio**",
        "source_page": 1
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 81.9,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "ecgc",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 95.37,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "galaxy-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "liberty-general",
      "insurer_name": "Liberty General Insurance",
      "insurer_slug": "liberty-general",
      "value": 91,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "liberty-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 52.11,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "universal-sompo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 81,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "royal-sundaram",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "07769dc0-e6ad-701d-f5b8-7716ee328184.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 44.79,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 73,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 46.44,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 83.99,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 76.69,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 72.6,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 93,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-2027_Apr-Jun.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 72.43,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-27_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 77,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "care-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 68.27,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "sbi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_NL-1-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 82.1,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "magma-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 78.25,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-09",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "tata-aig",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "NL_20_064a4a37b4.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 74,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "NL_Q1_FY2026-27.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 64.69,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "public-disclosure-june-2026.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 78.84,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "Public_Disclosure_Q1_2026_27_1_a86ea579b6.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 71.89,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "united-india",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "textplor-vendor-2026-27-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 62.14,
      "unit": "%",
      "reporting_period_label": "Q1 FY26-27",
      "reporting_period_end": "2026-06-30",
      "provenance": {
        "reported_by": "reliance-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY26-27",
        "source_document": "2026-06-30_nl20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 84.59,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "ecgc",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "FY2025-26_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 58,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "tata-aig",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL20_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 71,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "care-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 58.2,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "reliance-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "2026-03-31_nl20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 93.81,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 93,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "2025-2026_Jan-Mar.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 80.4,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "icici-lombard",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 79.39,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "Public_Disclosure_for_Q4_FY_2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-11-03",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 82.6,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "magma-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "FY2025-26_Q4_NL20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 95.2,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "Galaxy Health Insurance Co Ltd",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 46.89,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "nl-20-analytical-ratios.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-11-03",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 65.12,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "sbi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_1_20_Financial_Statements_3cb9d24a0a.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 74.73,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "Public_Disclosure_Q4_2025_26_d11ebbad81.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-11-03",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 86.11,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "Public_Disclosure_Q4_FY25-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "6578a708-d64f-06fd-0ff5-2abcaa77e533.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 89.85,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "2539dd48-dd39-4946-ae4f-66cd3e6e4654_SGI-_Disclosure_-20IVth20Qtr2025-26_11.06.2026_compressed.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 55,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_20_Analytical_Ratios_Q4_FY_2025_26_03330c0fa2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-11-03",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 77.25,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL20_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 86.56,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "united-india",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL20_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 84.1,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "royal-sundaram",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL-20_Annual_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 62,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_20_Analytical_Ratios_cfb4d17cfd.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 60.94,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "universal-sompo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL20_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 62.4,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "raheja-qbe",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL20_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 44.33,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 80.54,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL-20_NL_20_c37fca074c.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 44.21,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "2026-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 88.92,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "national-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "pdfs/national-insurance/NL-20 ANALYTICAL RATIOS.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row: Net Retention Ratio**",
        "source_page": 1
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "narayana-health-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "Financial_Report_Q4_final_V4_1_257cf42524.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-30",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 58.17,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "2025-26_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 74,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "NL_Q4_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 79.93,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "combined.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 70.9,
      "unit": "%",
      "reporting_period_label": "Q4 FY25-26",
      "reporting_period_end": "2026-03-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY25-26",
        "source_document": "public-disclosure-march-2026.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 54,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "FY2025-26_Q3_NL20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 53.99,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "universal-sompo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "narayana-health-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "V2_NHIL_NL_Form_Q3_FY_26_updated_734baca923.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 95.34,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "Galaxy Health Insurance Co Ltd",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 58.8,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "nl-20-analytical-ratios.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 67.14,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "sbi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_1_to_46_Consolidated_Public_Disclosures_56a1d8eb74.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 73.84,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 77,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "care-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 82.83,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "ecgc",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_till_now_fy2526_q3.pdf",
        "source_url": "https://main.ecgc.in/english/wp-content/uploads/2026/01/NL_till_now_fy2526_q3.pdf",
        "extracted_by": "irw_adapter v1 (manual, single-segment filing)",
        "last_verified": "2026-10-26",
        "extraction_note": "ECGC reports NL-20 under a single 'Miscellaneous Segment' column (credit insurer, no standard multi-segment split). 'For the Period ended' (standalone-quarter) column used, not the cumulative 'Up to Period' column. gdp_to_networth_ratio stored x100 (source shows a bare 'Times' multiple, e.g. 0.05) matching today's established project convention for that metric; technical_reserves_to_premium_ratio stored raw (also a 'Times' multiple in the source, but matches the convention already used for other insurers' values of this specific metric, e.g. acko-general ~1-2). Pulled directly from ECGC's own site 2026-10-26.",
        "source_page": 26
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 86.26,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "magma-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 62.6,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "raheja-qbe",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 94.31,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "2025-2026_Q3_PD_FY_26_Q3_5aa20779c8.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 53,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 79.92,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "Website-Public-Disclosure-Dec-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 76.28,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL-20_nl_20_60fb7bf603.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 85.38,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "united-india",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 72,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "a8d8123b-6497-0523-6a14-c8de5b73c378.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 82.86,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "combined.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 36.5,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "2025-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 72.95,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "Public_Disclosure_for_Q3_FY_2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 60.31,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "2025-26_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 71.79,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "Public_Disclosure_Q3_2025_26_dcc0682a64.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 68,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL_20_Analytical_Ratios_ddb01a241d.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 83.9,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "royal-sundaram",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY25-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 89.22,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "national-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "pdfs/national-insurance/NL-20 ANALYTICAL RATIOS.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row: Net Retention Ratio**",
        "source_page": 1
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "2025-2026_Oct-Dec.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "tata-aig",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL20_Q3_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 88.82,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "a6a29727-1dfc-44c2-905a-4d3d686632c0_SGI-_Disclosure_-20IIIrd20Qtr20202025-26_revised2011.06.2026.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 44.53,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 73.19,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "public-disclosure-december-2025.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 80.23,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "icici-lombard",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 54.06,
      "unit": "%",
      "reporting_period_label": "Q3 FY25-26",
      "reporting_period_end": "2025-12-31",
      "provenance": {
        "reported_by": "reliance-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY25-26",
        "source_document": "2025-12-31_nl20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 81.98,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "ecgc",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_till_now_fy2526_q2.pdf",
        "source_url": "https://main.ecgc.in/english/wp-content/themes/pcwebecgc/images/pcECGPagePDF/Public/2025-2026/secondQ/NL_till_now_fy2526_q2.pdf",
        "extracted_by": "irw_adapter v1 (manual, single-segment filing)",
        "last_verified": "2026-10-26",
        "extraction_note": "ECGC reports NL-20 under a single 'Miscellaneous Segment' column (credit insurer, no standard multi-segment split). 'For the Period ended' (standalone-quarter) column used, not the cumulative 'Up to Period' column. gdp_to_networth_ratio stored x100 (source shows a bare 'Times' multiple, e.g. 0.05) matching today's established project convention for that metric; technical_reserves_to_premium_ratio stored raw (also a 'Times' multiple in the source, but matches the convention already used for other insurers' values of this specific metric, e.g. acko-general ~1-2). Pulled directly from ECGC's own site 2026-10-26.",
        "source_page": 26
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 48.57,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "universal-sompo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL20_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 95.08,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "Galaxy Health Insurance Co Ltd",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 79.08,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL20_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 45.9,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "reliance-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "2025-09-30_nl20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 71,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 94,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "2025-2026_Jul-Sep.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 95.92,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "narayana-health-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_Form_Q2_26_26_0b558063f1_Updated_1_d6198217c2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 72.89,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "Public_Disclosure_for_Q2_FY_2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 39.6,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 72,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_20_Analytical_Ratios_7f02ea48b1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "18c61062-2908-01f2-4553-5c2e3b89773b.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 83.56,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "combined.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 64.97,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "nl-20-analytical-ratios.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-27",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 38.44,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "2025-09-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 57.54,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "public-disclosure-september-2025.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 76.17,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "Public_Disclosure_Q2_2025_26_e4d63b4702.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 84.22,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "magma-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 58.28,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "sbi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL_1_20_Financial_Statements_8ee7d662e7.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 75.3,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "icici-lombard",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 73,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "care-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 66,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "FY2025-26_Q2_NL20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 82.61,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "a789d0e8-aba7-4611-837e-5ba8ea989ccb_SGI-_Disclosure_-20IInd20Qtr_2025-26_Revised_11.06.2026.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 69.5,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "raheja-qbe",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL20_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 59.13,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "2025-26_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.84,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "2025-2026_Q2_Website_PD_Q2_FY_26_daddbf253a.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 84.82,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "united-india",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL20_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 57,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "tata-aig",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL20_Q2_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 71.7,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "NL-20_NL_20_f45d225c11.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 78.68,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "Website-Public-Disclosure-Sep-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 86.28,
      "unit": "%",
      "reporting_period_label": "Q2 FY25-26",
      "reporting_period_end": "2025-09-30",
      "provenance": {
        "reported_by": "national-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY25-26",
        "source_document": "pdfs/national-insurance/NL-20 ANALYTICAL RATIOS.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row: Net Retention Ratio**",
        "source_page": 1
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 65.42,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 61.93,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "public-disclosure-june-2025.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 81.3,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "b5ea6903-d633-da4a-6cc5-2bf8b6080220.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 82.52,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "national-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 69.7,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "icici-lombard",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30_nl-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 45.7,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "hdfc-ergo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "Annexure-IV-All-Forms-Q1-FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 78.64,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-26_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 70.66,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "Public_Disclosure_for_Q1_FY_2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 92,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-2026_Apr-Jun.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 51,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "tata-aig",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 67.8,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "raheja-qbe",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 68.85,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 82,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 83,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "ecgc",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 82.21,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "magma-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "liberty-general",
      "insurer_name": "Liberty General Insurance",
      "insurer_slug": "liberty-general",
      "value": 91,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "liberty-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 44.71,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "universal-sompo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 63,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 94.75,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "galaxy-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 75.4,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "royal-sundaram",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 56.59,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "reliance-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30_nl20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 74.19,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "Public_Disclosure_Q1_2025_26_88410d1158.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 44.91,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 83.77,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "united-india",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.89,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-2026_Q1_PD_FY_26_Q1_0ab98ed529.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 77,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "care-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "consolidated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 88.72,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "bf40e7b6-76e3-4a43-a10c-8884aa16e14e_SGI-_Disclosure_-201st20Qtr20202025-26-Revised.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 72.19,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "NL-20_nl_20_30_06_2025_7593dda441.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 74,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "NL_Q1_FY2025-26.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 78.92,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "2025-06-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-09",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 35.91,
      "unit": "%",
      "reporting_period_label": "Q1 FY25-26",
      "reporting_period_end": "2025-06-30",
      "provenance": {
        "reported_by": "sbi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY25-26",
        "source_document": "textplor-vendor-2025-26-Q1.xlsx",
        "source_url": null,
        "extracted_by": "EverythingInsurance Research (vendor-compiled dataset, textplor.com, offline 2026-10-26)",
        "last_verified": "2026-10-26",
        "extraction_note": "Vendor-aggregated dataset, not pulled directly from insurer's own public disclosure page. Gap-fill only (no existing value for this insurer/metric/period). Cross-check against insurer's own source queued separately -- see project-log/quarterly-update-runbook.md.",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 72.02,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "public-disclosure-march-2025.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 75.12,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "4352ee30-47d2-4012-a6ae-989c8ef286f0_SGI-_Disclosure_-_IVth_Qtr__24-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 65,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "FY2024-25_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 52.52,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "nl-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 82.87,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "NL-20_NL_20_F_31_3_25_1cdf5efa72.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 74.18,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "Public_Disclosure_Q4_2024_25_b9e980b08e.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 64,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2025-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 78.94,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "853b41e7-1954-229c-ff8c-4cdf81f06881.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 93.8,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2024-2025_Q4_Website_PD_FY_25_Q4_b9212b8f14.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 49.14,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2024-25_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 74.2,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "Public_Disclosures_for_Q4_FY_2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 43.69,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "hdfc-ergo",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "Annexure-IV-All-Forms-Q4-FY2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 83.26,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2025-03-31.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 46.56,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 93,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2024-2025_Jan-Mar.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 75,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "2025-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 73,
      "unit": "%",
      "reporting_period_label": "Q4 FY24-25",
      "reporting_period_end": "2025-03-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY24-25",
        "source_document": "NL_Q4_FY2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 50.05,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-25_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 43.53,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 62,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 83.77,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 93.79,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-2025_Q3_Website_PD_Q3_FY_25_V1_8bf506a79f.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 82.53,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-12-31.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "0441d1ad-b7c6-2305-2673-e8a8f6792988.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 83.86,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "NL-20_NL_20_31_12_24_14daea6dd1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 68,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 94.59,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "4ff11cf2-d947-435b-8602-ebda6a49e64e_SGI-_Disclosure_-20IIIrd20Qtr20202024-25_V2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 37.34,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 75.25,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "Public_Disclosure_Q3_2024_25_fe3c0d6ef7.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 67,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "FY2024-25_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 73,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "NL_Q3_FY2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 86,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "2024-2025_Oct-Dec.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 75.57,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "Public_Disclosures_for_Q3_FY_2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 69.93,
      "unit": "%",
      "reporting_period_label": "Q3 FY24-25",
      "reporting_period_end": "2024-12-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY24-25",
        "source_document": "public-disclosure-december-2024.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 85,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-2025_Jul-Sep.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 72,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-09-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 61,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-09-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 90.79,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "28915c2b-0d16-48e6-af6c-d9fb200b8a03_SGI_Disclosure_20IInd20Qtr202024-25_11.06.2026.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 74.83,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "Public_Disclosure_Q2_2024_25_2_8bc4985a15.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 50.22,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-25_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 61.2,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "public-disclosure-september-2024.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "5dc7c26d-2d8c-09c4-0432-d187f672c887.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 81.39,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "go-digit-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "NL-20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 46.15,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-09-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 90.93,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-2025_Q2_Website_PD_Q2_FY_25_59f84a73b0.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 68.97,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "Public_Disclosures_for_Q2_FY_2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 44.57,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-09-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 80,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "FY2024-25_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 83.86,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "2024-09-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 73,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "NL_Q2_FY2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 85.54,
      "unit": "%",
      "reporting_period_label": "Q2 FY24-25",
      "reporting_period_end": "2024-09-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY24-25",
        "source_document": "NL-20_NL_20_30_09_24_90a345be4d.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 68.68,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "public-disclosure-june-2024.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 91.8,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "dab44f57-6c6a-4a22-a5ba-7f6d92581ff5_Revised_SGI-_Disclosure_-201st20Qtr_2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 91.2,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-2025_Q1_Website_PD_Q1_FY_25_a8dd578ab2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "4eb08e49-d032-0e14-10a5-583732041401.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 76,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "NL_Q1_FY2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 81.24,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "new-india-assurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 81.32,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "NL-20_NL_FORMS_20_30_06_2024_f7748ef4f3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 75.4,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "Public_Disclosure_Q1_2024_25_1c7cda3d75.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 69.35,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "Public_Disclosure_for_Q1_FY_2024-25.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 84,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-2025_Apr-Jun.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 39.13,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 79,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "niva-bupa",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-09",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 44.76,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 80,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "FY2024-25_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 70,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 58,
      "unit": "%",
      "reporting_period_label": "Q1 FY24-25",
      "reporting_period_end": "2024-06-30",
      "provenance": {
        "reported_by": "zuno-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY24-25",
        "source_document": "2024-06-30_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 92.05,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "692ccea0-5e5b-4136-a561-928feba15032_Revised_SGI-Disclosure_IVth_Qtr_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 59.73,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "public-disclosure-march-2024.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 83.92,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "NL-20_NL_20_c094e19e28.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 60.13,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "hdfc-ergo-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2024-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 75.72,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "Public_Disclosure_Mar_2024_Q4__FY_23-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 91.98,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2023-2024_Q4_Website_PD_Q4_FY_24_V1_94aaf2e03e.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 81.95,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "Public_Disclosure_Q4_2023_24_1_7583ccec37.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 70,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2024-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 77,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "FY2023-24_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 49.62,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "bajaj-allianz-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2024-03-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-10",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 58.75,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2023-24_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 81,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "NL_Q4_FY2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 89,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "2023-2024_Jan-Mar.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 0,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "kshema-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "nl20.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q4 FY23-24",
      "reporting_period_end": "2024-03-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY23-24",
        "source_document": "104412ef-a99a-97bc-3ec6-71a170109bb1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "ee182f0f-8246-d195-5cd8-da9be71202cb.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 74.14,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "Public_Disclosures_for_Q3_ended_FY_23-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 87.41,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "2023-2024_Q3_PD_FY_24_Q3_V2_9e9549b3e9.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 84.58,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "NL-20_NL_forms_20_1127648d60.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 61,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "FY2023-24_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 79,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "NL_Q3_FY2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 64.55,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "public-disclosure-december-2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 91.91,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "7d390b8a_Q3_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 70,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "zurich-kotak",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "2023-12-31_NL-20.pdf",
        "source_url": null,
        "extracted_by": "nonlife_adapter.py v1",
        "last_verified": "2026-09-11",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 80.38,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "Public_Disclosure_Q3_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 85,
      "unit": "%",
      "reporting_period_label": "Q3 FY23-24",
      "reporting_period_end": "2023-12-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY23-24",
        "source_document": "2023-2024_Oct-Dec.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 87,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "2023-2024_Jul-Sep.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 67.35,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "public-disclosure-september-2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 82.91,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "Public_Disclosure_Q2_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "4c90279e-f76b-73cd-e718-93bcd840b59f.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 92.43,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "45103f99-6f49-43a0-9aeb-1b4e980067c1_SGI-_Disclosure_-_2nd_Qtr_2023-24_Revised_on_22.12.2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 94.99,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "2023-2024_Q2_Website_PD_Q2_FY_24_f699994461.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 85.88,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "NL-20_NL_20_Analytical_Ratios_07_12_2023_f7e37468ea.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 77,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "NL_Q2_FY2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 72,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "FY2023-24_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 68.16,
      "unit": "%",
      "reporting_period_label": "Q2 FY23-24",
      "reporting_period_end": "2023-09-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY23-24",
        "source_document": "Public_Disclosures_Q2_and_H2_Sep_2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 63.63,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "public-disclosure-june-2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 71.95,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "Public_Disclosures_for_Q1_FY_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 85,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "2023-2024_Apr-Jun.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "cb64dbbc-2fc7-323a-74ce-a920b5340503.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 82.26,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "Public_Disclosure_Q1_2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 94.99,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "2023-2024_Q1_Website_PD_Q1_FY_24_V1_9010203a7d.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 79,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "aditya-birla-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "NL_Q1_FY2023-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 81.83,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "NL-20_NL_20_Analytical_Ratios_23_08_2023_0c819ed188.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 91.21,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "6bbd2f06-1ed7-4c12-8bff-c646df43be4a_Revised_SGI-_Disclosure_-_1st_Qtr__23-24.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 74,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "FY2023-24_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 41.85,
      "unit": "%",
      "reporting_period_label": "Q1 FY23-24",
      "reporting_period_end": "2023-06-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY23-24",
        "source_document": "2023-24_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.09,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "2022-2023_Q4_PD_FY_23_Q4_V2_4_14dcf85789.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 46.01,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "2022-23_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 81.5,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "Public_Disclosure_Q4_2022_23_1_c8ef63f824.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 96,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "3499c565-881c-1871-d727-04b216e4f3ff.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 70,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "FY2022-23_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 86.41,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "NL-20_FY_2022_23_NL_NL_20_ANALYTICAL_RATIOS_SCHEDULE_Analytical_Ratios_Fourth_Quarter_27bc713655.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 92.25,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "1d8ed725-d346-4a8e-b555-08d7aea03ec0_SGIDISC202223Q4_NEW_Mar_2026_updated.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 74.4,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "Public_Disclosures_for_Q4_FY_2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 76,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "2022-2023_Jan-Mar.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 66.79,
      "unit": "%",
      "reporting_period_label": "Q4 FY22-23",
      "reporting_period_end": "2023-03-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY22-23",
        "source_document": "public-disclosure-march-2023.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 47.8,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "2022-23_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 69.41,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "public-disclosure-december-2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.05,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "2022-2023_Q3_Q3_c3149c04de.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 91.19,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "SGIDISC202223Q3_NEW.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 76.93,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "Public_Disclosures_Q3_FY_2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 53,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "FY2022-23_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 85.75,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "NL-20_FY_2022_23_NL_NL_20_ANALYTICAL_RATIOS_SCHEDULE_Analytical_Ratios_Third_Quarter_9b832690fb.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 58,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "2022-2023_Oct-Dec.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 69.44,
      "unit": "%",
      "reporting_period_label": "Q3 FY22-23",
      "reporting_period_end": "2022-12-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY22-23",
        "source_document": "Public_Disclosure_-_Q3_-_FY_2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 92.21,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "SGIDISC202223Q2_NEW.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.18,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "2022-2023_Q2_Q2_5900e929b6.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 85.95,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "NL-20_FY_2022_23_NL_NL_20_ANALYTICAL_RATIOS_SCHEDULE_Analytical_Ratios_Second_Quarter_e1dd2b8e82.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 75.75,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "public-disclosure_-q2-fy-2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 45.65,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "2022-23_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 74.14,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "public-disclosure-september-2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 53,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "2022-2023_Jul-Sep.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 73.75,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "Public_disclosures_for_Q2_and_H2_2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 57,
      "unit": "%",
      "reporting_period_label": "Q2 FY22-23",
      "reporting_period_end": "2022-09-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY22-23",
        "source_document": "FY2022-23_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 71.72,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "Public_Disclosure_Q1_FY_2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 95.15,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "star-health",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "2022-2023_Q1_Q1_c1a5f6fc27.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 64.58,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "public-disclosure-june-2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 72,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "FY2022-23_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 76.22,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "public-disclosure-q1-fy-2022-23.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 82.24,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "NL-20_FY_2022_23_NL_20_09_09_2022_e7ac35d41f.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 91.02,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "shriram-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "SGIDISC202223Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 57.62,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "agriculture-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "2022-23_Q1.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 81,
      "unit": "%",
      "reporting_period_label": "Q1 FY22-23",
      "reporting_period_end": "2022-06-30",
      "provenance": {
        "reported_by": "navi-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY22-23",
        "source_document": "2022-2023_Apr-Jun.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 70.67,
      "unit": "%",
      "reporting_period_label": "Q4 FY21-22",
      "reporting_period_end": "2022-03-31",
      "provenance": {
        "reported_by": "iffco-tokio",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY21-22",
        "source_document": "public-disclosure-march-2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 75.51,
      "unit": "%",
      "reporting_period_label": "Q4 FY21-22",
      "reporting_period_end": "2022-03-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY21-22",
        "source_document": "Public_Disclosure_Q4_FY_2021-22.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 66,
      "unit": "%",
      "reporting_period_label": "Q4 FY21-22",
      "reporting_period_end": "2022-03-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY21-22",
        "source_document": "FY2021-22_Q4.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 59.83,
      "unit": "%",
      "reporting_period_label": "Q4 FY21-22",
      "reporting_period_end": "2022-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY21-22",
        "source_document": "Public_Disclosure_Q4_FY_2021_22_591d355128.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 86.54,
      "unit": "%",
      "reporting_period_label": "Q4 FY21-22",
      "reporting_period_end": "2022-03-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY21-22",
        "source_document": "NL-20_NL_20_9b687bd243.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-29",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 56.35,
      "unit": "%",
      "reporting_period_label": "Q3 FY21-22",
      "reporting_period_end": "2021-12-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY21-22",
        "source_document": "public-disclosure-q3-fy-2021-22.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 71.67,
      "unit": "%",
      "reporting_period_label": "Q3 FY21-22",
      "reporting_period_end": "2021-12-31",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY21-22",
        "source_document": "Public_Disclosure_Q3_2021_-_2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 83.65,
      "unit": "%",
      "reporting_period_label": "Q3 FY21-22",
      "reporting_period_end": "2021-12-31",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY21-22",
        "source_document": "NL-20_NL_20_Analytical_Ratios_50dd50d624.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 95,
      "unit": "%",
      "reporting_period_label": "Q3 FY21-22",
      "reporting_period_end": "2021-12-31",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY21-22",
        "source_document": "dbe4ab93-db28-0b99-eede-e2247302d47d.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 59,
      "unit": "%",
      "reporting_period_label": "Q3 FY21-22",
      "reporting_period_end": "2021-12-31",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q3 FY21-22",
        "source_document": "FY2021-22_Q3.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 86.53,
      "unit": "%",
      "reporting_period_label": "Q2 FY21-22",
      "reporting_period_end": "2021-09-30",
      "provenance": {
        "reported_by": "oriental-insurance",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY21-22",
        "source_document": "NL-20_NL_20_a13e1deb61.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-28",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 74.24,
      "unit": "%",
      "reporting_period_label": "Q2 FY21-22",
      "reporting_period_end": "2021-09-30",
      "provenance": {
        "reported_by": "cholamandalam-ms-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY21-22",
        "source_document": "Public_Disclosure_Q2_2021_-_2022.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 58,
      "unit": "%",
      "reporting_period_label": "Q2 FY21-22",
      "reporting_period_end": "2021-09-30",
      "provenance": {
        "reported_by": "generali-central",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY21-22",
        "source_document": "FY2021-22_Q2.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-26",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 95,
      "unit": "%",
      "reporting_period_label": "Q2 FY21-22",
      "reporting_period_end": "2021-09-30",
      "provenance": {
        "reported_by": "manipal-cigna",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY21-22",
        "source_document": "42e587ed-ffe9-5dcd-dc49-dcd9abdb2abd.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-25",
        "extraction_note": "NL-20 row-format label match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 60.91,
      "unit": "%",
      "reporting_period_label": "Q2 FY21-22",
      "reporting_period_end": "2021-09-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q2 FY21-22",
        "source_document": "public-disclosure-q2-fy-2021-22.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 63.15,
      "unit": "%",
      "reporting_period_label": "Q1 FY21-22",
      "reporting_period_end": "2021-06-30",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q1 FY21-22",
        "source_document": "public-disclosure-q1-fy-2021-22.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 56.88,
      "unit": "%",
      "reporting_period_label": "Q4 FY20-21",
      "reporting_period_end": "2021-03-31",
      "provenance": {
        "reported_by": "acko-general",
        "regulatory_form": "NL-20-ANALYTICAL-RATIOS",
        "reporting_period": "Q4 FY20-21",
        "source_document": "public-disclosure-q4-fy-2020-21.pdf",
        "source_url": null,
        "extracted_by": "irw_adapter v1",
        "last_verified": "2026-10-31",
        "extraction_note": "NL-20 text-fallback line match: net_retention",
        "source_page": null
      }
    }
  ],
  "meta": {
    "generated_at": "2026-11-15",
    "source": "IRDAI public disclosures",
    "api_version": "v1",
    "licence": "Facts derived from IRDAI public disclosure data. Republication with attribution permitted subject to applicable Indian law."
  }
}