Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Data & Analytics

Water Quality Monitoring and Contamination Alerting

A water quality analytics system for utilities, environmental agencies and NGOs that models each sampling site's normal seasonal pattern and flags readings that are unusual for that site, not just above a fixed limit. A data and machine learning final year project built on published water testing records, with a map and alerting.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester · 2 students

Deliverables

6 to ship

3 optional extras

Suggested stack

Pythonpandasscikit-learn and statsmodelsPostgreSQL with TimescaleDB and PostGISFastAPIReact with Leaflet
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Ingestion of water quality test records with site, location, date, parameter, value and unit, with unit harmonisation and a data quality log
  • Per-site baselines that model seasonal variation for at least three parameters such as nitrate, E. coli and turbidity
  • Anomaly detection that flags readings unusual for that site and season, with a score and a plain-language reason
  • A map and time series interface showing results against regulatory limits and against each site's own baseline
  • An alert list and email or messaging notification for new anomalies, with a way to mark each as confirmed or false alarm
  • Validation against documented historical contamination events held out from training, with detection rate and lead time reported

If you have time left

  • Spatial clustering to detect a contamination source affecting several nearby sites at once
  • Correlation with rainfall data, since runoff drives many contamination events
  • Sampling recommendations that prioritise sites with stale or sparse data

The problem with fixed limits in water testing

Utilities, environmental agencies and water NGOs test rivers, wells and supply points regularly and produce large volumes of results. Most of those results are checked against one fixed regulatory limit and otherwise filed away. A well whose nitrate readings have tripled over two years but are still just under the limit is a developing problem that nobody sees until it crosses the line. In places where many households depend on groundwater and testing is patchy, as in parts of Pakistan and South Asia, spotting a trend early is the difference between a warning and an outbreak.

Unsafe drinking water is a public health issue everywhere, and the data to detect trends often already exists; it is simply not analysed.

What already exists and the gap

  • The Water Quality Portal, run by USGS and the US EPA with hundreds of partner agencies, publishes discrete water quality results with an API and bulk downloads.
  • The England Water Quality Archive from the Environment Agency publishes sampling results from thousands of sites.
  • Commercial monitoring platforms from sensor and laboratory information system vendors track results for utilities, usually tied to their hardware or lab software.
  • GEMStat, from UNEP, collects freshwater quality data from many countries.

The data is published, but tools on top of it are mostly look-up interfaces or threshold checks. Smaller utilities, municipalities and NGOs rarely have anything that models each site's own normal behaviour. The gap is a lightweight analytics layer that turns existing test records into early warnings with reasons.

What you build

  • Ingestion from a published dataset for one region: sites, coordinates, dates, parameters and values, with units harmonised and a log of what was dropped.
  • Per-site baselines: for each site and parameter, a model of normal seasonal behaviour, for example a seasonal decomposition or a regression on month and trend.
  • Anomaly detection: each new reading is scored against its site's baseline, flagging "unusual for this site in this season" separately from "above the legal limit".
  • Interface: a map of sites coloured by status and a time series view per site showing the baseline band, the limit and the readings.
  • Alerts: a list of new anomalies with reasons, and a feedback button so an analyst can confirm or dismiss each one.

The technically interesting part

Two things make this FYP-worthy. The first is seasonality. Many parameters rise predictably after rainfall or in warm months. Without deseasonalising, your detector fires every monsoon and is ignored by the end of summer. The second is irregular, sparse sampling. Real sites are tested monthly at best, with gaps of months, and some have only a handful of readings. Show your supervisor how your baseline handles a site with five years of data compared with one with ten readings, for example by borrowing strength from nearby similar sites, and how uncertainty is shown when data is thin.

How to evaluate it

  • Historical events: find documented contamination events in the record, hold them out, and report how many your system would have flagged and how many days earlier than the first exceedance of the limit.
  • False alarm rate: alerts per site per year on periods with no known incident.
  • Comparison: a fixed-threshold baseline against your per-site method on the same data.
  • User check: 3 people with a water, environmental or public health background review ten alerts and say which they would act on.

Suggested plan

  1. Weeks 1 to 3: choose the region and dataset, ingestion, unit harmonisation, data quality log.
  2. Weeks 4 to 6: seasonal baselines per site and parameter.
  3. Weeks 7 to 9: anomaly scoring, reasons, threshold baseline for comparison.
  4. Weeks 10 to 12: map, time series views, alerts.
  5. Weeks 13 to 15: historical validation, user check, report.

Path to a product

The first users are likely an NGO running water testing programmes or a municipal water department that already has spreadsheets of lab results. Offer the analysis as a hosted dashboard with a per-organisation subscription, or a grant-funded pilot, which is common for public health tools. Later, connect it to a laboratory's result exports so new readings flow in automatically.

Scope warning

This is analysis of existing published data. Deploying sensors is a different project with different problems, and mixing them will leave you with neither done well. Do not present the tool as a replacement for regulatory testing or health advice; it prioritises attention.

Learn what you need on Sefism

Get help with this idea

Validation against real events is what makes this project credible. Tauseef can help you choose a dataset, frame the evaluation and keep the scope achievable in one semester. If you are new here, create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.