Decision support systems for municipalities at the CSIR
Helping municipalities see where service delivery breaks
Public-sector data existed but was hard to act on. The work was building decision-support systems that gave municipal stakeholders operational visibility they could plan against.
- What it is
- Production system
- Role
- Data Scientist and Software Engineer
- Organisation
- Council for Scientific and Industrial Research
- Period
- November 2017 to January 2018
- Status
- Completed
- Built with
- Django
- Python
- Topics
- Decision support systems
- Public sector
- Data science
- Data engineering

The problem
Municipalities hold data relevant to performance, operational bottlenecks and service delivery, but it was not in a form that supported planning or day-to-day decisions.
Why it mattered
The customer was the public sector, so the value was public: better visibility of where service delivery was failing, and better-informed planning and resource allocation. That is legitimate impact even without a revenue figure attached.
The context
The Council for Scientific and Industrial Research, working in multidisciplinary teams combining software engineering, analytics and public-sector innovation.
What I did
I developed predictive analytics and operational intelligence systems supporting municipalities and public-sector decision making, and built Django-based decision-support systems serving 17 municipalities, including the City of Cape Town and 16 across Gauteng, enabling operational visibility and real-time access to analytics. I applied machine learning and data engineering to identify operational bottlenecks and improve service-delivery planning.
What changed
Municipal stakeholders could see operational issues and bottlenecks rather than infer them, which is the precondition for planning against them.
Who benefited
Municipal managers, planners and public-sector stakeholders across 17 municipalities, and indirectly the residents those services reach.
What remained
Decision-support systems in municipal use, and recognition for innovation in predictive modelling and enterprise solutions from the Mail & Guardian, the CSIR and the Department of Science and Technology.
Technical context
Python, Django, predictive analytics, machine learning, data engineering, operational intelligence dashboards.
Related work
- Shares decision support systems, data engineeringGenerator optimisation and streaming at VodacomReal time analytics and optimisation for a national telecoms network: generator dispatch across 15,000+ sites and tens of millions of events a day.
- Shares decision support systems, data scienceStudent success analytics and recommendations at WitsAnalytics and a clustering based recommendation system for student success at Wits, with over R2 million a year in subsidy impact attributed to it.
- Shares data engineering, pythonData science platform at a bank: telematics and MLOpsAt Absa Group: architected the data engineering capability data science runs on, with Ubunye Engine at 100M+ events a day for 10+ products.
- Shares data engineering, pythonUbunye Engine: portable Spark pipelines for data and MLUbunye Engine is an open source Python framework for config driven Spark pipelines. The same task folder runs on a laptop, Docker, Kubernetes or Databricks.
Related writing
- Shares decision support systemsWe Don't Have Rockets. We Have Towers. A Case for Building Africa's Data CentresGoogle, SpaceX and others are putting computers in orbit because power and cooling on Earth have run out of room. Africa has no space programme, but it has tens of thousands of cell towers that already have power, batteries, cooling, a fence and a link to the network. This post asks whether those towers can be a data centre spread across the land, and answers with the same graph and scoring method I used to send generators to towers during load shedding.
- Shares data scienceBuilding a Data Science Capability From the Ground Up: A Real Life RoadmapTwo years ago I inherited a small data science team with no handover, no documentation, and production models nobody could explain. This is the conversation I wish someone had with me before I started: the challenges, the costs, the thinking behind every move, and the one belief that carried it all. Build systems that outlive the people who built them.
- Shares data scienceThe Modern Data Scientist: A Roadmap for the Age of AI AgentsThe job hasn't disappeared. The mental model has changed. Here's what the roadmap looks like for data scientists and engineers entering (or navigating) the AI agent era, with a South African lens.
- Shares data scienceWhere the Towers Are. A Map of What Africa Already HasPart one argued that Africa's cell towers could be a data centre spread across the land. This part asks the obvious next question: where are they? Using open, crowdsourced data on 565,000 mobile cells, it maps South Africa and the continent, finds that the towers follow the people and the roads, and shows why a map of people and a map of land tell two very different stories.