{
  "metric": {
    "id": "financial.expense_ratio.nonlife.nwp",
    "slug": "expense-ratio-nonlife",
    "name": "Expense of Management Ratio — Non-Life (to NWP)",
    "metric_short_name": "expense ratio",
    "unit": "%",
    "definition": "Expense of Management (EOM) as a percentage of Net Written Premium, from IRDAI NL-20. Measures operating cost efficiency after reinsurance cession.",
    "higher_is_better": false,
    "metric_status": "regulatory_native",
    "regulatory_form": "NL-20",
    "applicable_to": [
      "general",
      "health"
    ]
  },
  "facts": [
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 39.02,
      "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": "liberty-general",
      "insurer_name": "Liberty General Insurance",
      "insurer_slug": "liberty-general",
      "value": 40,
      "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": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 93.14,
      "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": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 32,
      "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": "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": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 32.28,
      "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": "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": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 26,
      "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": "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": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 34.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": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 28.53,
      "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": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 23.08,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 35.49,
      "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": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 53.7,
      "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": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 46,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 34.82,
      "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": "2026-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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 38.77,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 30.3,
      "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": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 44.92,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 37.36,
      "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": "2026-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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 18.06,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 35.44,
      "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: Expense of Management to Net Written\nPremium Ratio",
        "source_page": 1
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 40.2,
      "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": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 34,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 33.06,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 37,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 31,
      "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": "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": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 30.37,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 40,
      "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": "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": 34.35,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 201.67,
      "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": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 19.05,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": -235.89,
      "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": "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": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 36.2,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 36,
      "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": "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": 23.97,
      "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": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 34,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 14.23,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 25.85,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 17.09,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 50,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 32.9,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 40,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 47.68,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 64.95,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 36.44,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 19.33,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 36.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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 40,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 44,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 24,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 29.91,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 31.43,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 43.33,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 33,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 42,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 36.3,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 68.68,
      "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: Expense of Management to Net Written Premium\nRatio",
        "source_page": 1
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 28.31,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 33.2,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 22.48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 35.65,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 66,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 42.9,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": -16.9,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 27.89,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 35.25,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 45.46,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 43.07,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 38,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 22.72,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 33.08,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 42.3,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 29,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 25.5,
      "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": "royal-sundaram",
      "insurer_name": "Royal Sundaram General Insurance",
      "insurer_slug": "royal-sundaram",
      "value": 40,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 78.2,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 33.52,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 69.9,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 33.18,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 65.58,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 52.22,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 29.29,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 41,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 97,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 36,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 72.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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 37.97,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 27.21,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 38.14,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 31.74,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 39,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 33.52,
      "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: Expense of Management to Net Written Premium\nRatio",
        "source_page": 1
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 37.18,
      "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": "2025-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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 90.19,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 34.59,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 60,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 36,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 53.47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 19,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 13.12,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 24.57,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "raheja-qbe",
      "insurer_name": "Raheja QBE General Insurance",
      "insurer_slug": "raheja-qbe",
      "value": 33.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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 33.07,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 31.12,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 17.63,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 49.43,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 32.46,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 69.71,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 56.58,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 3.57,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 32.3,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 25.24,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 37,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 25,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 26.55,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 46.89,
      "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: Expense of Management to Net Written Premium\nRatio",
        "source_page": 1
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 34.84,
      "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": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 59.99,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 39.6,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 38.4,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 33.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": "2025-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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 31.78,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 29.23,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 728.88,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 23.06,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 41,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 37,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "narayana-health-insurance",
      "insurer_name": "Narayana Health Insurance",
      "insurer_slug": "narayana-health-insurance",
      "value": 96.8,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 37.45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 26,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "tata-aig",
      "insurer_name": "Tata AIG General Insurance",
      "insurer_slug": "tata-aig",
      "value": 46,
      "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": "national-insurance",
      "insurer_name": "National Insurance Company",
      "insurer_slug": "national-insurance",
      "value": 31.77,
      "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": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 48,
      "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": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 48.14,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 21.76,
      "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": "star-health",
      "insurer_name": "Star Health Insurance",
      "insurer_slug": "star-health",
      "value": 32.61,
      "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": "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": 29.6,
      "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": "navi-general",
      "insurer_name": "Navi General Insurance",
      "insurer_slug": "navi-general",
      "value": 27,
      "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": "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": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 38.31,
      "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": "care-health",
      "insurer_name": "Care Health Insurance",
      "insurer_slug": "care-health",
      "value": 33,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "ecgc",
      "insurer_name": "ECGC",
      "insurer_slug": "ecgc",
      "value": 28.61,
      "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": "agriculture-insurance",
      "insurer_name": "Agriculture Insurance Company of India",
      "insurer_slug": "agriculture-insurance",
      "value": 84.53,
      "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": "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": 27.3,
      "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": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 16.4,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 38,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "shriram-general",
      "insurer_name": "Shriram General Insurance",
      "insurer_slug": "shriram-general",
      "value": 35.3,
      "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": "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": 27,
      "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": "aditya-birla-health",
      "insurer_name": "Aditya Birla Health Insurance",
      "insurer_slug": "aditya-birla-health",
      "value": 30,
      "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": "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": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 32.54,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "united-india",
      "insurer_name": "United India Insurance",
      "insurer_slug": "united-india",
      "value": 29.47,
      "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": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "manipal-cigna",
      "insurer_name": "ManipalCigna Health Insurance",
      "insurer_slug": "manipal-cigna",
      "value": 32,
      "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": "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": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 16.18,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "icici-lombard",
      "insurer_name": "ICICI Lombard General Insurance",
      "insurer_slug": "icici-lombard",
      "value": 38.4,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "galaxy-health",
      "insurer_name": "Galaxy Health Insurance",
      "insurer_slug": "galaxy-health",
      "value": 287.2,
      "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": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 40.84,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "reliance-general",
      "insurer_name": "Reliance General Insurance",
      "insurer_slug": "reliance-general",
      "value": 33.48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 32.49,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 28.25,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "sbi-general",
      "insurer_name": "SBI General Insurance",
      "insurer_slug": "sbi-general",
      "value": 29.45,
      "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": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 33.86,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "magma-general",
      "insurer_name": "Magma General Insurance",
      "insurer_slug": "magma-general",
      "value": 31.66,
      "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": "universal-sompo",
      "insurer_name": "Universal Sompo General Insurance",
      "insurer_slug": "universal-sompo",
      "value": 30.89,
      "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": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 32.54,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 42,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 41.91,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 32.22,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 163.82,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 33.53,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 41.96,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 20.17,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 35.09,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 39,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 54.96,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 18.66,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 35.18,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 23.39,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 39.08,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 42,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 47.33,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 43,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 21.7,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 54.47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 32.1,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "go-digit-general",
      "insurer_name": "Digit General Insurance",
      "insurer_slug": "go-digit-general",
      "value": 41.58,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 61.58,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 38,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 21.61,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 24.48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 23.48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 21.72,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 34,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 28.63,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "cholamandalam-ms-general",
      "insurer_name": "Chola MS General Insurance",
      "insurer_slug": "cholamandalam-ms-general",
      "value": 36.8,
      "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 28.53,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 13.97,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 52.38,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "niva-bupa",
      "insurer_name": "Niva Bupa Health Insurance",
      "insurer_slug": "niva-bupa",
      "value": 52,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zuno-general",
      "insurer_name": "Zuno General Insurance",
      "insurer_slug": "zuno-general",
      "value": 50,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 29.28,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "new-india-assurance",
      "insurer_name": "New India Assurance",
      "insurer_slug": "new-india-assurance",
      "value": 20.07,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 26.6,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 32,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 4.04,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "hdfc-ergo",
      "insurer_name": "HDFC ERGO General Insurance",
      "insurer_slug": "hdfc-ergo",
      "value": 26.26,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 32.44,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 56.91,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 36,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "bajaj-allianz-general",
      "insurer_name": "Bajaj Allianz General Insurance",
      "insurer_slug": "bajaj-allianz-general",
      "value": 31.3,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "kshema-general",
      "insurer_name": "Kshema General Insurance",
      "insurer_slug": "kshema-general",
      "value": 5,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 71.66,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 29.27,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "zurich-kotak",
      "insurer_name": "Zurich Kotak General Insurance",
      "insurer_slug": "zurich-kotak",
      "value": 51,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 16.54,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 25.82,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 70.96,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 19.16,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 37,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 21.23,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 45,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 61.06,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 26.51,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 36.42,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 42,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 20.35,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 82.2,
      "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: expense_nwp",
        "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 24.54,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 33.47,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 68.95,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 50.57,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 22.23,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 59.36,
      "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: expense_nwp",
        "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": "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 69.73,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 5.8,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 23.85,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "iffco-tokio",
      "insurer_name": "IFFCO Tokio General Insurance",
      "insurer_slug": "iffco-tokio",
      "value": 23.19,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 59.94,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 44.05,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 44,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 69.67,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 34.95,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "generali-central",
      "insurer_name": "Generali Central Insurance (formerly Future Generali)",
      "insurer_slug": "generali-central",
      "value": 48,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "oriental-insurance",
      "insurer_name": "Oriental Insurance Company",
      "insurer_slug": "oriental-insurance",
      "value": 23.86,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 74.17,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 106.46,
      "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: expense_nwp",
        "source_page": null
      }
    },
    {
      "insurer_id": "acko-general",
      "insurer_name": "Acko General Insurance",
      "insurer_slug": "acko-general",
      "value": 64.54,
      "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: expense_nwp",
        "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."
  }
}