Disruption Detection and Analysis

Identifying when service disruptions occur and quantifying their impact

PART 1: Control chart analysis

Identifies WHEN disruptions occur across service indicators

Data preparation pipeline

  • Load data: M2_adjusted_data.csv (quality-adjusted counts) + M1_output_outliers.csv (outlier flags) + raw HMIS (only to extract admin_area_1 lookup)
  • Join and filter: Join outlier flags to adjusted data, then remove rows flagged as outliers
  • Aggregate: Sum facility counts to geographic level (e.g., district) by indicator and month
  • Expand time series: Create explicit rows for any missing months within each indicator-geography panel
  • Handle low-volume: Set months with count < 50% of panel mean to NA
  • Interpolate: Fill NA values using linear interpolation for model fitting

Control chart analysis for each indicator × geographic area

  • Fit robust model: count ~ seasonality + time trend
  • Smooth predictions to reduce noise and variability
  • Calculate deviation of actual values from expected predictions
  • Apply detection rules: sharp drops, sustained declines, missing reports
  • Flag disrupted months for each indicator-area combination

Part 1 output

  • M3_chartout.csv — Disruption flags by month, geographic area, and indicator

PART 2: Disruption analysis

Quantifies HOW MUCH impact occurred during disrupted periods

Data integration

Join disruption flags from Part 1 to facility-level data for detailed impact analysis

Panel regressions at multiple geographic levels
Admin Area Level 1: National impact
Admin Area Level 2: Regional impacts
Admin Area Level 3: Local impacts
Admin Area Level 4: Detailed geographic analysis
Each model at each admin level estimates:
  • • Expected service volume (adjusting for existing trends)
  • • Effect of disruption periods on service delivery
  • • Statistical significance of impacts
Calculate shortfalls and surpluses
  • Absolute difference: Number of services lost/gained
  • Percentage difference: Percent change from expected volume
  • Confidence intervals for impact estimates

Part 2 outputs

  • M3_disruptions_analysis_admin_area_1.csv — Admin area level 1 (national) impact estimates
  • M3_disruptions_analysis_admin_area_2.csv — Admin area level 2 impact estimates
  • M3_disruptions_analysis_admin_area_3.csv — Admin area level 3 impact estimates
  • M3_disruptions_analysis_admin_area_4.csv — Admin area level 4 impact estimates
  • M3_all_indicators_shortfalls_admin_area_1.csv — Summary statistics (admin area level 1)
  • M3_all_indicators_shortfalls_admin_area_2.csv — Summary statistics (admin area level 2)
  • M3_all_indicators_shortfalls_admin_area_3.csv — Summary statistics (admin area level 3)
  • M3_all_indicators_shortfalls_admin_area_4.csv — Summary statistics (admin area level 4)
  • M3_service_utilization.csv — Data formatted for visualization