Safe drinking water starts with a decision that looks simple: where to drill. In Bangladesh that decision has to be made against millions of screening results, subsurface data from different sources and two arsenic standards that do not agree. This project turned those inputs into something a non-specialist can explore.

Problem and intended decision

Arsenic in groundwater is a major public-health problem in Bangladesh. Deciding where it is safe to drill means combining screening results with geology and hydrogeology, and the datasets involved are very large, highly imbalanced and held in different sources.

The decision this was meant to support: Where, and at what depth, can a tubewell be sited so that it is likely to meet the WHO (arsenic below 10 µg/L) and Bangladesh (50 µg/L or below) drinking-water standards?

Constraints and available data

Data

  • Arsenic Risk Reduction Project (ARRP) tubewell screening data: 6.37 million tubewells in 54 districts.
  • Bore-log data: 279 wells from JICA-DPHE and 61 from the ASMITAS digital groundwater platform (340 in total), grouped into 13 soil textures.
  • Hydrogeological data from 19 telemetric sensors across six districts: water level, conductivity, temperature and battery voltage.

Constraints

  • The tubewell survey data is highly imbalanced, so a standard classifier would be misleading.
  • Outliers and missing values in the screening and sensor data had to be handled before any analysis.
  • Two different safety thresholds (WHO and Bangladesh) give different answers for the same well.

My contribution

  • I engineered real-time ETL pipelines to process arsenic contamination datasets and live sensor data across multiple districts in Bangladesh.
  • I implemented the preprocessing for the 6.37 million arsenic screening records so the data was fit for analysis.
  • I developed a custom statistical classification model to categorise tubewell safety against international arsenic standards.
  • I built Power BI dashboards for groundwater-safety decision support.
  • I designed Figma wireframes for hydrogeological and lithological data visualisations.
  • I am second author on the GSA Connects 2024 and 2025 abstracts that report this work. The first author is Sanjeev Kumar Sharma.

Approach and tradeoffs

  • The published abstracts describe a requirements analysis with stakeholders including UNICEF, DPHE and academic institutions, which shaped a modular system: extraction and preprocessing in Python, structured storage in MySQL and an interactive Power BI interface.
  • Sensor series were cleaned with polynomial curve fitting and rolling means. Data collection from a third-party API was automated with a Python script.
  • To cope with the imbalanced data, the abstracts describe a custom classification algorithm based on Euclidean distance, combined with trend analysis from the telemetry sensors.
  • Geology was made explorable through Power BI visuals built with the DENEB extension, showing 13 soil textures drawn from the bore logs.

Why the threshold matters

Illustration · one hypothetical reading, not measured data

Same well, two standards

The research reports results against two arsenic thresholds. Move the slider to see how one reading is judged by each.

WHO guideline (below 10 µg/L)Does not meet the guideline
Bangladesh standard (50 µg/L or below)Meets the standard

This is why the threshold matters: at 30 µg/L the two standards disagree, so the choice of standard changes which wells count as safe.

Outputs and evidence

Outcomes, with measurement context

  • Reported analytical finding (2025 abstract): in the ARRP data, shallow wells (under 300 ft) were the most affected, with more than one million classified as unsafe. Intermediate (300–500 ft) and deep (over 500 ft) wells showed significantly lower arsenic levels.

What this does and does not show. This is a finding about the dataset, as reported in the abstract. The sources report no measured change in water use, exposure or health, so none is claimed. Records analysed are not people reached.

Tools

  • Figma
  • NumPy
  • Pandas
  • Jupyter
  • Matplotlib
  • MySQL
  • Python
  • R