{
  "schema_version": "1.0",
  "title": "Contact Centre Performance",
  "summary": {
    "total_interactions": 197278,
    "inbound_calls": 134463,
    "outbound_calls": 54620,
    "chat_interactions": 8195,
    "human_routed_known": 99967,
    "human_contact": 68365,
    "completed_human_calls": 66075,
    "initial_abandonments": 31602,
    "post_contact_abandonments": 2290,
    "human_attention_rate": 0.6838756789740614,
    "initial_abandonment_rate": 0.31612432102593857,
    "total_abandonment_rate": 0.3390318805205718,
    "ai_end_count": 34492,
    "ai_end_share": 0.2565166625763221,
    "nps": 34.276076803321224,
    "nps_responses": 7708,
    "nps_promoters": 4486,
    "nps_passives": 1378,
    "nps_detractors": 1844,
    "nps_coverage": 0.05732431970133048,
    "satisfaction": 9.462648722449776,
    "satisfaction_responses": 5127,
    "satisfaction_coverage": 0.07499451473707307,
    "wait_mean_seconds": 67.2233370012104,
    "wait_median_seconds": 29.07,
    "wait_p90_seconds": 157.9464,
    "post_contact_abandonment_rate": 0.03349667227382432,
    "nps_zero_responses": 809,
    "nps_responses_without_zeros": 6899,
    "nps_without_zeros": 50.02174228149007,
    "satisfaction_with_zeros": 9.225137858908537,
    "satisfaction_responses_with_zeros": 5259
  },
  "periods": [
    {
      "period": "Period 1",
      "is_partial": false,
      "total_interactions": 26153,
      "inbound_calls": 17965,
      "outbound_calls": 8040,
      "chat_interactions": 148,
      "human_routed_known": 14617,
      "human_contact": 9072,
      "completed_human_calls": 8881,
      "initial_abandonments": 5545,
      "post_contact_abandonments": 191,
      "human_attention_rate": 0.6206471916261886,
      "initial_abandonment_rate": 0.3793528083738113,
      "total_abandonment_rate": 0.39241978518163784,
      "ai_end_count": 3348,
      "ai_end_share": 0.186362371277484,
      "nps": 42.75436793422405,
      "nps_responses": 973,
      "nps_promoters": 613,
      "nps_passives": 163,
      "nps_detractors": 197,
      "nps_coverage": 0.054160868355134985,
      "satisfaction": 9.611544461778472,
      "satisfaction_responses": 641,
      "satisfaction_coverage": 0.07065696649029983,
      "wait_mean_seconds": 52.09185441609085,
      "wait_median_seconds": 15.888,
      "wait_p90_seconds": 146.1388,
      "post_contact_abandonment_rate": 0.02105379188712522,
      "nps_zero_responses": 97,
      "nps_responses_without_zeros": 876,
      "nps_without_zeros": 58.56164383561644,
      "satisfaction_with_zeros": 9.52241112828439,
      "satisfaction_responses_with_zeros": 647
    },
    {
      "period": "Period 2",
      "is_partial": false,
      "total_interactions": 30865,
      "inbound_calls": 20234,
      "outbound_calls": 9198,
      "chat_interactions": 1433,
      "human_routed_known": 15915,
      "human_contact": 10320,
      "completed_human_calls": 10007,
      "initial_abandonments": 5595,
      "post_contact_abandonments": 313,
      "human_attention_rate": 0.648444863336475,
      "initial_abandonment_rate": 0.351555136663525,
      "total_abandonment_rate": 0.3712221174992146,
      "ai_end_count": 4319,
      "ai_end_share": 0.2134526045270337,
      "nps": 42.621599340478156,
      "nps_responses": 1213,
      "nps_promoters": 767,
      "nps_passives": 196,
      "nps_detractors": 250,
      "nps_coverage": 0.059948601364040725,
      "satisfaction": 9.493212669683258,
      "satisfaction_responses": 884,
      "satisfaction_coverage": 0.08565891472868217,
      "wait_mean_seconds": 56.52418567389255,
      "wait_median_seconds": 21.757,
      "wait_p90_seconds": 151.95100000000002,
      "post_contact_abandonment_rate": 0.030329457364341086,
      "nps_zero_responses": 118,
      "nps_responses_without_zeros": 1095,
      "nps_without_zeros": 57.990867579908674,
      "satisfaction_with_zeros": 9.334816462736374,
      "satisfaction_responses_with_zeros": 899
    },
    {
      "period": "Period 3",
      "is_partial": false,
      "total_interactions": 44436,
      "inbound_calls": 32827,
      "outbound_calls": 9667,
      "chat_interactions": 1942,
      "human_routed_known": 26578,
      "human_contact": 14329,
      "completed_human_calls": 13606,
      "initial_abandonments": 12249,
      "post_contact_abandonments": 723,
      "human_attention_rate": 0.5391301076077959,
      "initial_abandonment_rate": 0.4608698923922041,
      "total_abandonment_rate": 0.48807284220031605,
      "ai_end_count": 6249,
      "ai_end_share": 0.19036159259146435,
      "nps": 16.90921690921691,
      "nps_responses": 1443,
      "nps_promoters": 721,
      "nps_passives": 245,
      "nps_detractors": 477,
      "nps_coverage": 0.04395771773235446,
      "satisfaction": 9.342163355408388,
      "satisfaction_responses": 906,
      "satisfaction_coverage": 0.06322841789378184,
      "wait_mean_seconds": 78.892117089322,
      "wait_median_seconds": 27.235999999999997,
      "wait_p90_seconds": 164.2625,
      "post_contact_abandonment_rate": 0.05045711494172657,
      "nps_zero_responses": 234,
      "nps_responses_without_zeros": 1209,
      "nps_without_zeros": 39.536807278742764,
      "satisfaction_with_zeros": 8.909473684210527,
      "satisfaction_responses_with_zeros": 950
    },
    {
      "period": "Period 4",
      "is_partial": false,
      "total_interactions": 41990,
      "inbound_calls": 29426,
      "outbound_calls": 10545,
      "chat_interactions": 2019,
      "human_routed_known": 19694,
      "human_contact": 14787,
      "completed_human_calls": 14236,
      "initial_abandonments": 4907,
      "post_contact_abandonments": 551,
      "human_attention_rate": 0.7508378186249619,
      "initial_abandonment_rate": 0.2491621813750381,
      "total_abandonment_rate": 0.27714024576012997,
      "ai_end_count": 9732,
      "ai_end_share": 0.3307279276830014,
      "nps": 26.17924528301887,
      "nps_responses": 1696,
      "nps_promoters": 898,
      "nps_passives": 344,
      "nps_detractors": 454,
      "nps_coverage": 0.05763610412560321,
      "satisfaction": 9.334322453016815,
      "satisfaction_responses": 1011,
      "satisfaction_coverage": 0.06837086630148104,
      "wait_mean_seconds": 79.02949157103687,
      "wait_median_seconds": 42.563,
      "wait_p90_seconds": 164.81800000000007,
      "post_contact_abandonment_rate": 0.03726246026915534,
      "nps_zero_responses": 187,
      "nps_responses_without_zeros": 1509,
      "nps_without_zeros": 41.815772034459904,
      "satisfaction_with_zeros": 9.039272030651341,
      "satisfaction_responses_with_zeros": 1044
    },
    {
      "period": "Period 5",
      "is_partial": false,
      "total_interactions": 30250,
      "inbound_calls": 19066,
      "outbound_calls": 9755,
      "chat_interactions": 1429,
      "human_routed_known": 13174,
      "human_contact": 11649,
      "completed_human_calls": 11372,
      "initial_abandonments": 1525,
      "post_contact_abandonments": 277,
      "human_attention_rate": 0.8842416881736754,
      "initial_abandonment_rate": 0.11575831182632458,
      "total_abandonment_rate": 0.13678457567936844,
      "ai_end_count": 5892,
      "ai_end_share": 0.30903178432812334,
      "nps": 42.78676988036594,
      "nps_responses": 1421,
      "nps_promoters": 890,
      "nps_passives": 249,
      "nps_detractors": 282,
      "nps_coverage": 0.07453057799223749,
      "satisfaction": 9.512388503468781,
      "satisfaction_responses": 1009,
      "satisfaction_coverage": 0.08661687698514894,
      "wait_mean_seconds": 57.43613465917717,
      "wait_median_seconds": 28.701500000000003,
      "wait_p90_seconds": 140.6296,
      "post_contact_abandonment_rate": 0.02377886513863851,
      "nps_zero_responses": 112,
      "nps_responses_without_zeros": 1309,
      "nps_without_zeros": 55.003819709702064,
      "satisfaction_with_zeros": 9.345666991236612,
      "satisfaction_responses_with_zeros": 1027
    },
    {
      "period": "Period 6",
      "is_partial": true,
      "total_interactions": 23584,
      "inbound_calls": 14945,
      "outbound_calls": 7415,
      "chat_interactions": 1224,
      "human_routed_known": 9989,
      "human_contact": 8208,
      "completed_human_calls": 7973,
      "initial_abandonments": 1781,
      "post_contact_abandonments": 235,
      "human_attention_rate": 0.8217038742616879,
      "initial_abandonment_rate": 0.17829612573831213,
      "total_abandonment_rate": 0.2018220042046251,
      "ai_end_count": 4952,
      "ai_end_share": 0.33134827701572434,
      "nps": 42.93139293139293,
      "nps_responses": 962,
      "nps_promoters": 597,
      "nps_passives": 181,
      "nps_detractors": 184,
      "nps_coverage": 0.06436935429909668,
      "satisfaction": 9.560650887573965,
      "satisfaction_responses": 676,
      "satisfaction_coverage": 0.08235867446393762,
      "wait_mean_seconds": 64.99560977074782,
      "wait_median_seconds": 34.208,
      "wait_p90_seconds": 156.2128,
      "post_contact_abandonment_rate": 0.028630604288499024,
      "nps_zero_responses": 61,
      "nps_responses_without_zeros": 901,
      "nps_without_zeros": 52.60821309655938,
      "satisfaction_with_zeros": 9.339595375722544,
      "satisfaction_responses_with_zeros": 692
    }
  ],
  "channels": [
    {
      "label": "Inbound calls",
      "count": 134463
    },
    {
      "label": "Outbound calls",
      "count": 54620
    },
    {
      "label": "Chat",
      "count": 8195
    }
  ],
  "known_outcomes": [
    {
      "label": "Ends with AI",
      "count": 34492,
      "share_of_inbound": 0.2565166625763221
    },
    {
      "label": "Completed human call",
      "count": 66075,
      "share_of_inbound": 0.49139912094777
    },
    {
      "label": "Initial abandonment",
      "count": 31602,
      "share_of_inbound": 0.23502376118337387
    },
    {
      "label": "Abandonment after human contact",
      "count": 2290,
      "share_of_inbound": 0.017030707332128543
    }
  ],
  "teams": [
    {
      "label": "Customer support",
      "inbound_calls": 86671,
      "human_routed_known": 86374,
      "human_contact": 56357,
      "completed_human_calls": 55148,
      "initial_abandonments": 30017,
      "post_contact_abandonments": 1209,
      "human_attention_rate": 0.652476439669345,
      "initial_abandonment_rate": 0.34752356033065507,
      "total_abandonment_rate": 0.36152082802695257,
      "wait_mean_seconds": 65.38006387338783,
      "wait_median_seconds": 33.385999999999996,
      "wait_p90_seconds": 156.90649999999997,
      "post_contact_abandonment_rate": 0.021452525861916
    },
    {
      "label": "Sales",
      "inbound_calls": 9672,
      "human_routed_known": 9628,
      "human_contact": 8864,
      "completed_human_calls": 7783,
      "initial_abandonments": 764,
      "post_contact_abandonments": 1081,
      "human_attention_rate": 0.9206481096800997,
      "initial_abandonment_rate": 0.0793518903199003,
      "total_abandonment_rate": 0.1916285832987121,
      "wait_mean_seconds": 90.31625155795597,
      "wait_median_seconds": 8.2365,
      "wait_p90_seconds": 180.1746000000001,
      "post_contact_abandonment_rate": 0.12195397111913357
    },
    {
      "label": "Network operations",
      "inbound_calls": 3746,
      "human_routed_known": 3742,
      "human_contact": 3050,
      "completed_human_calls": 3050,
      "initial_abandonments": 692,
      "post_contact_abandonments": 0,
      "human_attention_rate": 0.8150721539283805,
      "initial_abandonment_rate": 0.18492784607161947,
      "total_abandonment_rate": 0.18492784607161947,
      "wait_mean_seconds": 51.04348129342598,
      "wait_median_seconds": 24.044,
      "wait_p90_seconds": 149.053,
      "post_contact_abandonment_rate": 0.0
    },
    {
      "label": "Other",
      "inbound_calls": 34374,
      "human_routed_known": 223,
      "human_contact": 94,
      "completed_human_calls": 94,
      "initial_abandonments": 129,
      "post_contact_abandonments": 0,
      "human_attention_rate": 0.42152466367713004,
      "initial_abandonment_rate": 0.57847533632287,
      "total_abandonment_rate": 0.57847533632287,
      "wait_mean_seconds": 55.641775784753364,
      "wait_median_seconds": 10.089,
      "wait_p90_seconds": 134.77160000000006,
      "post_contact_abandonment_rate": 0.0
    }
  ],
  "typologies": [
    {
      "label": "Commercial and products",
      "inbound_calls": 38480,
      "outbound_calls": 34583,
      "chat_interactions": 900,
      "total": 73963
    },
    {
      "label": "Technical support",
      "inbound_calls": 40508,
      "outbound_calls": 302,
      "chat_interactions": 1024,
      "total": 41834
    },
    {
      "label": "Billing and payments",
      "inbound_calls": 5916,
      "outbound_calls": 55,
      "chat_interactions": 262,
      "total": 6233
    },
    {
      "label": "Account services",
      "inbound_calls": 5399,
      "outbound_calls": 0,
      "chat_interactions": 522,
      "total": 5921
    },
    {
      "label": "Other and unclassified",
      "inbound_calls": 7310,
      "outbound_calls": 2536,
      "chat_interactions": 34,
      "total": 9880
    },
    {
      "label": "Unspecified",
      "inbound_calls": 36688,
      "outbound_calls": 17074,
      "chat_interactions": 717,
      "total": 54479
    },
    {
      "label": "Not applicable",
      "inbound_calls": 162,
      "outbound_calls": 70,
      "chat_interactions": 4736,
      "total": 4968
    }
  ],
  "methodology": {
    "rate_scale": "All rates are decimals from 0 to 1. NPS ranges from -100 to 100. Satisfaction is a mean score out of 10.",
    "periods": "Six consecutive reporting periods are relabelled chronologically. Period 6 contains a partial reporting period; its absolute volume is not comparable with complete periods.",
    "channels": "Interaction volume includes inbound calls, outbound calls and chat. Outbound records represent attempts; connection and sales success are not established.",
    "human_routed_known": "Completed human calls + initial abandonments + abandonments after human contact. AI endpoints and unknown outcomes are excluded.",
    "human_contact": "Completed human calls + abandonments after human contact, using the case outcome rules.",
    "human_attention_rate": "human_contact / human_routed_known.",
    "initial_abandonment_rate": "initial_abandonments / human_routed_known.",
    "total_abandonment_rate": "(initial_abandonments + post_contact_abandonments) / human_routed_known.",
    "post_contact_abandonment_rate": "post_contact_abandonments / human_contact.",
    "overlap": "Human attention and total abandonment overlap because contact may precede abandonment. Human attention plus initial abandonment equals 1 within known human-routed calls.",
    "ai_end_share": "AI endpoints / all inbound calls. An AI endpoint does not establish resolution or exclusive AI handling.",
    "known_outcomes": "The chart lists the four major known inbound outcomes. Unknown outcomes are omitted; shares use all inbound calls and need not sum to 1.",
    "nps": "100 * (promoters scoring 9-10 minus detractors scoring 0-6) / valid integer scores 0-10. Passives scoring 7-8 remain in the denominator. This is company recommendation.",
    "nps_zero_policy": "The primary calculation provisionally includes zero as a valid standard NPS response. The alternative removes zero responses from both numerator and denominator; it is sensitivity analysis, not measured improvement.",
    "nps_coverage": "Valid recommendation responses / all inbound calls. It is response coverage, not a survey invitation response rate.",
    "satisfaction": "Mean valid integer score 1-10 in known calls with human contact, following the brief. Zero is excluded pending clarification; satisfaction_with_zeros uses 0-10 in the same cohort.",
    "satisfaction_coverage": "Valid satisfaction responses / known calls with human contact. Respondents may not represent all callers.",
    "wait": "Routing time for known human-routed inbound calls, including zero waits and excluding AI endpoints. Mean, median and linearly interpolated P90 use the observed distribution. Seconds are a provisional operational assumption; source units require confirmation.",
    "teams": "Operational team means initial routing team, not final agent or department. Unspecified and unresolved routing groups are combined as Other. Survey scores are not released by team.",
    "typologies": "Only broad manually defined families are released. Original category text is excluded; rare review categories are merged into Other and unclassified.",
    "validation": "Headline aggregates reconcile with the saved and reopened native Power BI model. Public exports preserve the observed aggregate values; they are not synthetic data.",
    "interpretation": "Observed associations do not establish causes. The data do not establish first-contact resolution, revenue, sales conversion, service-level compliance or staffing requirements."
  },
  "privacy": {
    "release_level": "Aggregate tables only.",
    "excluded_fields": [
      "Individual interaction records",
      "Personal names and nicknames",
      "Agent identifiers",
      "Telephone numbers and mappings",
      "Interaction identifiers",
      "Calendar dates and timestamps",
      "Free-text comments and reasons",
      "Original files and model files",
      "Source paths",
      "Company and AI-provider names"
    ],
    "generic_labels": "AI and operational team labels are generic. Period labels preserve order without exposing calendar dates.",
    "small_groups": "Small review categories are merged into a broad family. Only operational team aggregates are released; no agent-level comparisons or small team survey cohorts are published.",
    "minimum_category_cell": "Released nonzero typology-by-channel cells contain at least 10 records. Structural zeroes remain visible."
  }
}
