Machine Learning

Optimise systems and modelling using artificial intelligence.

Machine learning brings more accurate outcome predictions

Machine learning (ML) is a type of artificial intelligence (AI) that helps software improve its predictive ability, automatically learning about data, patterns and outcomes without being explicitly programmed to do so.  

ADASA harnesses these capabilities in a water resources context. We use machine learning to reduce asset management costs without compromising service levels. Predictive models can be generated from historical data on water deliveries, canal supply levels and assets as well as weather, electro-mechanical alarms and pay-rates and analysed to great use.

The future water consumption in a region or a water distribution network can be predicted, guaranteeing a continuous supply of water at a low cost. Machine learning can diagnose errors in a system and learn how to react and avoid future alarms. Thus includes dam behaviours and failures to efficient irrigation of crops.

Models created by using machine learning search for patterns within high volumes of data. Medical diagnostics, credit card fraud detection and face and speech recognition all use Machine Learning. Statistical algorithms extract features in the raw data. These features are then analysed via statistical analysis to produce a final data model for predictive use by the models.

Machine learning schema

We made use of machine learning for one of our clients to reduce asset management costs without compromising service levels. We collected data on water deliveries, canal supply levels, assets, weather, electro-mechanical alarms and pay-rates, and then built a model of the flow rate accuracy and supply level consistency. We have simulated the impact on service level making use of models that consider main variables related with asset management. Expensive maintenance activities such as desilting or removal of weeds in channels were examined for example to check if service improved as much as was generally believed.

Different algorithms are used to learn from data for different scenarios.

  • Regression: Used to predict a value for new data, based on relationships between the target output and input features. Examples: Linear Regression, Decision Tree, Random Forest or Boosting.
  • Classification: Used for approximating a mapping function (f) from input variables (X) to discrete output variables (y) - categorising data into a given number of classes. Examples: Logistic Regression, Naive Bayes, SVM, Neural Networks, Decision Tree, Random Forest or Boosting.
  • Clustering: Classify data into several groups. Data sorted into the same groups should have similar properties and features, and should also be very dissimilar to the other sorted data groups. Example: K-means is an important algorithm used for clustering.

Typically, Machine learning processes are implemented in languages like Python (Keras), Scala, R, Java, C++.


  • Machine learning models offer efficient, real-time analysis, allowing real-time decision-making.
  • Optimise operations and enhance distribution network efficiency, e.g. irrigation processes.
  • Boost risk analysis models.
  • Interpret previous data to identify systemic behaviours and patterns.
  • Predict water consumption in a water distribution network, dam failures and structural risks.

Related Solutions

See our work


Contact our experts