Data & Analytics

Water Quality Monitoring and Contamination Alerting

Combine water testing records with geography to find contamination patterns, detect anomalies against a location's own baseline, and alert on emerging problems. The statistics need care because seasonal variation looks a lot like contamination.

Difficulty

Intermediate

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

1 semester, 2 students

Deliverables

5 to ship

3 optional extras

Suggested stack

Pythonpandasscikit-learnTimescaleDBReact
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Ingestion of water quality test records with location, date and measured parameters
  • Per site baseline modelling that accounts for seasonal variation
  • Anomaly detection flagging readings that are unusual for that site and season rather than merely high
  • Map and time series interface with results shown against regulatory limits
  • Validation against known historical contamination events in the dataset

If you have time left

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

The problem

Water testing produces large volumes of records that are usually checked against a fixed limit and otherwise ignored. A site whose readings have tripled but remain within the limit is a developing problem nobody sees.

What you build

Per site baselines, seasonal anomaly detection, a map interface and alerting.

Why per site baselines matter

Water chemistry varies naturally by geology, season and rainfall. A reading that is alarming in one location is normal in another, and a fixed threshold produces constant false alarms in some places and silence in others. Modelling each site against its own history is what makes detection meaningful.

The confounder to handle explicitly

Seasonality. Many parameters rise predictably after rainfall or in warm months. Without deseasonalising, your detector will fire every spring and be ignored by summer.

How to validate it

Find documented contamination events in the historical record, hold them out, and check whether your system would have flagged them and how many days earlier than the official response. That is a concrete, defensible result.

Scope warning

Analysis of existing published data. Deploying sensors is a different project with a different set of problems, and mixing them will leave you with neither done well.

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.

Get guidance
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. Every session is free; a few slots open each week.

Follow along

New writing, resources and project ideas land here first.