Electricity utility have long sought to identify and reduce energy fraud as a significant part of non-technical losses (NTL). Generally, to determine customer’s honesty in consumption on-site inspection is vital. Since, inspecting all customers is expensive, utilities look for new ways to reduce inspection’s range to cases with a higher probability of fraud. One way to reduce the scope of inspection is to use machine learning (ML) algorithms to analysis consumption pattern. But, their performance is not satisfactory due to insufficiency of fraudulent customers. In this paper, a new two-stage ML-based model is presented to detect fraud in distribution network. . In the first stage, an Artificial Neural Network (ANN) is trained to model fraudulent customers, which is used to predict theft scenarios for normal consumers to handle data insufficiency. In the second stage, a Support Vector Machine (SVM) classifier is trained to distinguish normal and suspicious consumers. Assessment and comparison of the proposed algorithm to those of conventional models on a real data set with more than 5000 customers shows its high performance.