Quality Control Automation: Your Manufacturing Game-Changer
Jun 5, 2025 in Industry Overview
Master quality control automation with proven strategies that drive real results. Discover practical insights from industry leaders.
Not a member? Sign up now
Kelwin on Jun 19, 2020
Meter tampering is a common threat to the business side of utility services and a public security threat, incurring uncontrolled tweaks that may increase the risk of accidents. So, fraud detection is core for any utility service company.
The presence of users that manipulate the network typically translates to an increased service price for the compliant users, since for sustainability of the services, remaining users absorb the additional load costs in addition to the inspection procedure costs associated with identifying such frauds.
This post showcases one of our previous AI projects on detecting meter tampering in water services. However, it can be used interchangeably in other types of services such as electricity, gas, and TV. The challenge we faced was identifying users with a high probability of meter tampering.
Book a meeting with Kelwin Fernandes
Do you want to further discuss this idea?
The first issue we faced was how reliable our labels were. While we had the outcomes from previous inspections (legal or fraud), inspections with a legal outcome may result -in some cases- from bribes. So, while you can trust positive fraud labels, negative cases are a mixture of actual legal cases and corruption itself. Another source of error on the legal observations are difficult-to-detect tampering, for example, in cases where the fraud was not directly on the meter but on bypassing the system at a different hidden point of the network.
We can model this learning task with multiple paradigms.
Finally, This problem tends to be extremely unbalanced. Take a look at one of our previous papers on how to reformulate class imbalance as ranking tasks (here) which can be combined with any of the solutions mentioned above.
We trained our models combining three categories of data: contractual, consumption, and context data.
We included information about the:
While some features such as the ZIP code and the income capacity of the house may be correlated with fraud, we should take this with a grain of salt since we may be increasing bias and unfairness in the decision making (check this book).
Meter tampering often is associated with dramatic drops of consumption. Thus, we extracted features from aggregated consumption over time. Since consumption is seasonal and changes from house to house, it is essential to consider relative values instead of absolute ones. For example, you should observe the percentual change in usage between months instead of the absolute difference. We also normalized these features with respect to the global trend between any two months to compensate for seasonality.
Other fraud correlated patterns we found were consumption with low inter-month variability (i.e., the standard deviation of the consumption being too small) and “capped” expenditure (i.e., over the last year, the maximum value is repeated multiple times).
Context data proved to be the most important one. Meter tampering is like a virus and spreads among neighbors, especially among neighbors with the same model/brand of meter. Therefore, we extracted information such as the density of (recent) fraud within K meters (for multiple values of K) with and without stratification per meter model. Please pay attention to our emphasis on density and not a number. In this project, relativizing features to the local context of the individual and the region was critical to learn efficiently. If you don’t know how dense an area is (pretty common in countries with scarce open data), consider internal assets such as the number of contracts you have in the region and the density of your internal assets (e.g., pipes) as a proxy for density.
When time and space are part of our learning system, we must pay attention to the way we split our data for performance estimation. Random splits will tend to “leak” information in training, giving overestimations of the model performance. In this case, we suggest splitting both temporally and geographically, as illustrated in the following graph.
Other variables to consider for splitting train and test might be the inspection rounds, inspection team, among others. The right split and its granularity (e.g., splitting between months/years, city/district/region) depend on business requirements and the way we intend to deploy our models.
Predictions by themselves are not useful. We need to combine them with a decision process considering a KPI. In this case, we could use the additional information for fraud detection to build cost-effective inspection schedules and routes, finding the right trade-off between the expected benefit obtained from inspecting a house versus the cost of such inspection. We will cover this topic on a different blog post.
Learn how to create valuable AI solutions from predictions to actions.Course, Templates
Data Ignite
We discussed here how to detect fraud detection of water meter. However, the utility industry is a vast field for the application of AI, from determining regions with a high potential value of prospect acquisition, churn prediction, anomaly detection in the network, among others. If you want to explore any of these ideas, just message us!
Like this story?
Special offers, latest news and quality content in your inbox.
Jun 5, 2025 in Industry Overview
Master quality control automation with proven strategies that drive real results. Discover practical insights from industry leaders.
Jun 5, 2025 in Industry Overview
Explore the best predictive maintenance tools transforming industries in 2025. Maximize asset uptime and efficiency with AI-powered solutions.
Jun 5, 2025 in Industry Overview
Transform operations with supply chain predictive analytics. Proven strategies, real results, and implementation insights from industry leaders.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |