{
    "source": "IntegrityShield — FMHAPR Project Integrity",
    "as_of": "2026-09-19",
    "generated_at": "2026-09-19 09:30:03",
    "units": {
        "percent": "stored 0-100",
        "naira": "integer kobo (150000 = 1,500.00 NGN)",
        "days": "calendar days",
        "count": "whole number"
    },
    "note": "National scope. Every rate carries the numerator and denominator it was divided from; a denominator of 0 means no data yet, which is not 0%.",
    "indicators": [
        {
            "code": "leakage_rate",
            "name": "Leakage rate",
            "description": "Share of disbursed value later confirmed as leakage",
            "unit": "percent",
            "direction": "down_good",
            "value": 0.3245999999999999996447286321199499070644378662109375,
            "target": 1,
            "baseline": 15,
            "numerator": 25000000,
            "denominator": 7702500000,
            "as_of": "2026-09-19"
        },
        {
            "code": "verification_rate",
            "name": "Beneficiary verification rate",
            "description": "Beneficiaries with a completed identity verification, as a share of the whole register including records still quarantined by the Phase-0 scrub.",
            "unit": "percent",
            "direction": "up_good",
            "value": 87.403199999999998226485331542789936065673828125,
            "target": 95,
            "baseline": null,
            "numerator": 1242,
            "denominator": 1421,
            "as_of": "2026-09-19"
        },
        {
            "code": "settlement_success",
            "name": "Settlement success rate",
            "description": "Payments that reached a beneficiary account, as a share of the payments the bank has returned a final answer on (settled plus failed).",
            "unit": "percent",
            "direction": "up_good",
            "value": 93.2506000000000057070792536251246929168701171875,
            "target": 95,
            "baseline": null,
            "numerator": 3081,
            "denominator": 3304,
            "as_of": "2026-09-19"
        },
        {
            "code": "local_spend_rate",
            "name": "Local spend rate",
            "description": "Share of card spend inside the beneficiary LGA — the rural-stimulus test",
            "unit": "percent",
            "direction": "up_good",
            "value": 87.3187999999999959754859446547925472259521484375,
            "target": 85,
            "baseline": 50,
            "numerator": 482,
            "denominator": 552,
            "as_of": "2026-09-19"
        },
        {
            "code": "compliance_rate",
            "name": "Conditionality compliance rate",
            "description": "Conditionality checks passed or formally waived, as a share of all checks evaluated in the cycle.",
            "unit": "percent",
            "direction": "up_good",
            "value": 81.2115000000000009094947017729282379150390625,
            "target": 90,
            "baseline": null,
            "numerator": 3164,
            "denominator": 3896,
            "as_of": "2026-09-19"
        },
        {
            "code": "grievance_resolution",
            "name": "Grievance resolution rate",
            "description": "Complaints closed as resolved, as a share of every complaint received through the desk, the field officer and the public intake form.",
            "unit": "percent",
            "direction": "up_good",
            "value": 53.09729999999999705551090301014482975006103515625,
            "target": 90,
            "baseline": null,
            "numerator": 60,
            "denominator": 113,
            "as_of": "2026-09-19"
        },
        {
            "code": "avg_days_to_settle",
            "name": "Average days to settle",
            "description": "Mean elapsed days from a payment being raised to the bank confirming settlement.",
            "unit": "days",
            "direction": "down_good",
            "value": 3.1120000000000000994759830064140260219573974609375,
            "target": 3,
            "baseline": null,
            "numerator": 9588.041699999999764258973300457000732421875,
            "denominator": 3081,
            "as_of": "2026-09-19"
        },
        {
            "code": "ghosts_quarantined",
            "name": "Ghost records quarantined",
            "description": "Records removed by the Phase-0 scrub before any money moved",
            "unit": "count",
            "direction": "up_good",
            "value": 125,
            "target": null,
            "baseline": null,
            "numerator": 125,
            "denominator": 1421,
            "as_of": "2026-09-19"
        }
    ]
}
