Using machine learning to determine non-technical losses

DE202015010050U1Inactive Publication Date: 2025-07-17C3 AI INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE202015010050
Authority / Receiving Office
DE · DE
Patent Type
Utility models
Current Assignee / Owner
Priority Date
2014-09-24
Filing Date
2015-09-24
Publication Date
2025-07-17
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

System that includes: at least one processor; and a memory that stores instructions that, when executed by the at least one processor, cause the system to: Determining first signal values for a selected set of signals relating to a first plurality of energy consumption conditions, the selected set of signals including a consumption decrease signal corresponding to a numerical decrease in energy consumption measured by an energy meter compared to an average measured energy consumption; Generating a first plurality of N-dimensional representations for the plurality of energy consumption conditions based on the determined first signal values, each first N-dimensional representation corresponding to an energy consumption condition and including a dimension corresponding to a signal value determined for the consumption decrease signal, and Applying a trained machine learning-based classification model to the first plurality of N-dimensional representations to determine energy consumption conditions associated with non-technical losses, wherein energy consumption conditions associated with non-technical losses are associated with irregular energy consumption, and wherein the trained machine learning-based classification model is a model trained by applying at least one machine learning algorithm to a second plurality of N-dimensional representations for a second plurality of energy consumption conditions, wherein the second plurality of N-dimensional representations are generated based on second signal values for the selected set of signals to generate the classification model for determining non-technical losses.
Need to check novelty before this filing date? Find Prior Art

Description

FIELD OF THE INVENTION

[0001] This technology relates to the field of energy management. Specifically, this technology provides techniques for using machine learning to determine non-technical losses (NTL). BACKGROUND

[0002] Traditional energy management tools are designed to help businesses track energy consumption. For example, such tools can collect certain types of energy-related information, including billing statements and energy meter readings. The collected information can be used to understand or analyze energy consumption. Such tools can also generate reports detailing energy-related information and energy consumption.

[0003] In some cases, an energy provider (e.g., a utility) may face challenges related to the loss of supplied energy, such as technical losses and non-technical losses (NTL). Technical losses may include energy losses during normal use due to expected or natural limitations, such as power losses due to resistance in cables, wires, power lines, etc. Non-technical losses may include one or more losses that are not due to such limitations. Non-technical losses may be related to irregular (or unwanted) energy consumption, such as losses in the form of energy theft or malfunctions in energy distribution systems.

[0004] Non-technical losses can be costly for energy providers. Conventional approaches to recording non-technical losses often require significant manual effort. Furthermore, traditional approaches can also be inaccurate, inefficient, or ineffective. As a result, non-technical loss cases are often overlooked, unrecorded, misdiagnosed, or otherwise inadequately addressed. These and other issues can pose challenges for both energy providers and their customers. SUMMARY

[0005] Various embodiments of the present disclosure may include systems, methods, and non-transitory computer-readable media configured to select a set of signals related to a plurality of energy consumption conditions. Signal values may be determined for the set of signals. Machine learning may be applied to the signal values to determine energy consumption conditions related to non-technical losses.

[0006] In one embodiment, a plurality of N-dimensional representations may be generated for the plurality of energy consumption conditions. The plurality of N-dimensional representations may be generated based on the signal values. Applying machine learning may include applying at least one machine learning algorithm to the plurality of N-dimensional representations to create a classification model for determining non-technical losses.

[0007] In one embodiment, at least a first portion of the plurality of N-dimensional representations may be previously identified as corresponding to a non-technical loss. At least a second portion of the plurality of N-dimensional representations may be previously identified as corresponding to normal energy consumption.

[0008] In one embodiment, at least one machine learning algorithm may include a monitored process that classifies at least a third portion of the plurality of N-dimensional representations within a permissible N-dimensional proximity to the first portion as corresponding to a non-technical loss. The monitored process may also classify at least a fourth portion of the plurality of N-dimensional representations within the permissible N-dimensional proximity to the second portion as corresponding to normal energy consumption.

[0009] In one embodiment, new signal values may be received for the set of signals. The new signal values may be associated with a particular energy consumption condition. A new N-dimensional representation may be generated for the particular energy consumption condition based on the new signal values. The new N-dimensional representation may be classified based on the classification model.

[0010] In one embodiment, the at least one machine learning algorithm may be applied to the new N-dimensional representation to modify the classification model.

[0011] In one embodiment, the new N-dimensional representation may be determined to correspond to a non-technical loss. The non-technical loss may be reported to a utility associated with the particular energy consumption condition.

[0012] In one embodiment, confirmation and / or non-confirmation that the particular energy consumption condition is related to non-technical losses may be obtained from the one or more entities.

[0013] In one embodiment, the classification model may be modified based on the confirmation and / or non-confirmation.

[0014] In one embodiment, the at least one machine learning algorithm may be associated with a support vector machine, a boosted decision tree, a classification tree, a regression tree, a bagging tree, a random forest, a neural network, and / or a rotation forest.

[0015] In one embodiment, a plurality of utility meters that are likely to be associated with the non-technical loss may be identified. The plurality of utility meters may be ranked based on the likelihood of being associated with non-technical losses.

[0016] In one embodiment, it may be determined that at least some of the plurality of counters meet a particular ranking of threshold criteria. The at least some of the plurality of counters may be identified as candidates for investigation.

[0017] In one embodiment, one or more signals in the set of signals may be associated with an account attribute signal category, an anomalous load signal category, a calculated status signal category, a current analysis signal category, a missing data signal category, a broken connection signal category, a meter event signal category, a monthly meter anomalous load signal category, a monthly meter inactivity signal category, an outage signal category, a stolen meter signal category, an unusual production signal category, a work order signal category, and / or a zero reading signal category.

[0018] In one embodiment, a set of formulas for the set of signals may be acquired. Each formula in the set of formulas may correspond to a respective signal in the set of signals. The signal values for the set of signals may be calculated based on the set of formulas.

[0019] In one embodiment, at least some signal values may be derived from data collected from a plurality of meters associated with the plurality of energy consumption conditions.

[0020] In one embodiment, a first signal in the set of signals may be generated based on a modification to a second signal in the set of signals.

[0021] In one embodiment, at least one signal not included in the set of signals relating to energy consumption conditions may be received from an energy supplier to determine non-technical losses.

[0022] In one embodiment, the at least one machine learning algorithm may comprise an unsupervised process. In some cases, the unsupervised process may utilize unclassified data to determine a non-technical loss.

[0023] Many other features and embodiments of the disclosed technology will be apparent from the accompanying drawings and from the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates an exemplary environment of an energy management platform according to an embodiment of the present disclosure. Fig.2 illustrates an exemplary energy management platform according to an embodiment of the present disclosure. Fig. 3 illustrates an exemplary application server of an energy management platform according to an embodiment of the present disclosure. Fig. 4 illustrates an exemplary non-technical loss (NTL) determination module configured to utilize machine learning to determine non-technical losses, according to an embodiment of the present disclosure. Fig. 5 illustrates an example table of example signal values for an example set of signals according to an embodiment of the present disclosure. Fig.6 illustrates an example graph with example N-dimensional representations generated based on example signal values, according to an embodiment of the present disclosure. Fig. 7 illustrates an exemplary method for using machine learning to determine non-technical losses according to an embodiment of the present disclosure. Fig. 8 illustrates an exemplary device in which a set of instructions may be executed to cause the device to perform one or more of the embodiments described herein, according to an embodiment of the present disclosure.

[0024] Various embodiments of the present disclosure are illustrated in the figures for illustrative purposes only, and like elements are identified by like reference numerals throughout the figures. One skilled in the art will readily appreciate from the following discussion that alternative embodiments of the structures and methods illustrated in the figures may be utilized without departing from the principles of the technology described herein. DETAILED DESCRIPTION

[0025] Energy is consumed or used every day for a variety of purposes. For example, consumers may use gas to power various household appliances, and businesses may use gas to operate various machines. In another example, consumers and businesses may use electricity to power various electronic devices and other electrical appliances and components. Energy consumption is enabled by energy suppliers, who supply energy to meet demand.

[0026] Energy suppliers, such as utilities, may provide one or more forms of energy, such as gas and electricity. Energy suppliers may use energy distribution systems to provide or deliver energy to intended customers or users. In some cases, energy losses may occur during delivery. For example, even during normal use, resistances may occur in power lines, cables, and / or wires, etc., causing electrical energy to be lost during delivery through these channels. This energy loss is due to expected or natural causes and may be referred to as technical loss. However, in some cases, energy losses other than technical loss may also occur. Energy may be lost due to irregular or unwanted energy use. For example, energy may be lost due to theft and / or malfunctions in energy distribution systems and their distribution nodes (e.g.,defective electricity meters). Such energy loss can be referred to as non-technical loss (NTL).

[0027] Energy losses, such as non-technical losses (NTL), can be costly for energy utilities. However, conventional approaches that attempt to detect, prevent, and reduce non-technical losses are problematic. Conventional approaches often require significant manual effort to analyze information to detect non-technical losses, such as those resulting from theft or meter malfunctions. Furthermore, conventional approaches typically consider only a limited amount of information. Worse still, conventional approaches often rely on manual estimation and approximation, which can lead to inaccuracies and miscalculations. Therefore, an improved approach to detecting, preventing, and reducing non-technical losses can be beneficial.

[0028] Various embodiments of the present disclosure are designed to consider all types of comprehensive information, e.g., information related to energy suppliers, energy customers, utility meters, and other components of energy distribution or management systems. The information may be analyzed, e.g., using machine learning techniques, to determine properties or characteristics likely associated with a non-technical loss. Instances of energy consumption that have similar properties or characteristics may be classified as likely corresponding to a non-technical loss. Such instances of energy consumption may be identified and reported to help prevent or reduce further non-technical losses. Furthermore, many variations are conceivable.

[0029] Fig.1 illustrates an exemplary energy management environment 100 according to an embodiment of the present disclosure. The environment 100 includes an energy management platform 102, external data sources 1041-n, an enterprise 106, and a network 108. The energy management platform 102, which will be discussed in more detail herein, provides functionality that enables the enterprise 106 to track, analyze, and optimize the energy consumption of the enterprise 106. The energy management platform 102 may represent an analytics platform. The analytics platform may provide data management, multi-layered analytics, and data visualization capabilities for all applications of the energy management platform 102. The analytics platform may be specifically designed to process and analyze large amounts of frequently updated data while maintaining a high level of performance.

[0030] The energy management platform 102 may communicate with the enterprise 106 via user interfaces (UIs) provided by the energy management platform 102 to the enterprise 106. The UIs may provide information to the enterprise 106 and receive information from the enterprise 106. The energy management platform 102 may communicate with the external data sources 1041-n via APIs and other communication interfaces. The communication between the energy management platform 102, the external data sources 1041-n, and the enterprise 106 is discussed in more detail herein.

[0031] The energy management platform 102 may be implemented as a computing system, e.g., as a server or a series of servers, and in the form of other hardware (e.g., application servers, analytical computing servers, database servers, data integration servers, network infrastructure (e.g., firewalls, routers, communication nodes)). The servers may be arranged in the form of a server farm or a cluster. Embodiments of the present disclosure may be implemented on the server side, on the client side, or a combination of both. For example, embodiments of the present disclosure may be implemented by one or more servers of the energy management platform 102. As another example, embodiments of the present disclosure may be implemented by a combination of servers of the energy management platform 102 and an enterprise computing system 106.

[0032] The 1041-n external data sources may represent a variety of possible data sources relevant to energy management analysis. Examples of 1041-n external data sources may include grid and utility operating systems, meter data management (MDM) systems, customer information systems (CIS), billing systems, utility customer systems, utility company systems, utility energy conservation measures, and rebate databases. Examples of 1041-n external data sources may also include building performance measurement systems, weather data sources, third-party property management systems, and industry-standard benchmark databases.

[0033] The enterprise 106 may represent a user (e.g., a customer) of the energy management platform 102. The enterprise 106 may be a private or public enterprise, e.g., a large corporation, a small and medium-sized enterprise, a household, an individual, a governing body, a government agency, a non-governmental organization, a non-profit organization, etc. The enterprise 106 may include energy providers and suppliers (e.g., utilities), energy service companies (ESCOs), and energy consumers. The enterprise 106 may be associated with one or many entities spread across many geographic locations. The enterprise 106 may be associated with any purpose, industry, or other type of profile.

[0034] Network 108 may utilize standard communications technologies and protocols. For example, network 108 may include connections utilizing technologies such as Ethernet, 802.11, Worldwide Interoperability for Microwave Access (WiMAX), 3G, 4G, CDMA, GSM, LTE, Digital Subscriber Line (DSL), etc. Network protocols utilized in network 108 may also include Multiprotocol Label Switching (MPLS), Transmission Control Protocol / Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and the like. Data exchanged over network 108 may be represented using technologies and / or formats such as Hypertext Markup Language (HTML) and Extensible Markup Language (XML).In addition, all or some connections can be encrypted using traditional encryption technologies such as SSL (Secure Sockets Layer), TLS (Transport Layer Security) and (IPsec) Internet Protocol Security.

[0035] In one embodiment, the energy management platform 102, the external data sources 1041-n, and the enterprise 106 may each be implemented as a computer system. The computer system may include one or more devices, each of which may be implemented as device 800 of Fig. 8, which is described in detail here.

[0036] Fig. 2 shows an example of an energy management platform 202 according to an embodiment of the present disclosure. In some embodiments, the example energy management platform 202 may be like the energy management platform 102 of Fig.1. In one embodiment, the energy management platform 202 may include a data management module 210, application servers 212, relational databases 214, and key / value stores 216.

[0037] The data management module 210 may support the ability to automatically and dynamically scale a network of computing resources for the energy management platform 202 based on the needs of the energy management platform 202. The dynamic scaling supported by the data management module 210 may include the ability to provision additional computing resources (or nodes) to meet increasing computing demand. Likewise, the data management module 210 may be capable of releasing computing resources to accommodate decreasing demand. The data management module 210 may include one or more actions 218, a queue 220, a dispatcher 222, a resource manager 224, and a cluster manager 226.

[0038] The actions 218 may represent the tasks to be performed in response to the requests made to the energy management platform 202. Each of the actions 218 may represent a unit of work to be performed by the application servers 212. The actions 218 may be related to data types and tied to engines (or modules). The requests may relate to any task supported by the energy management platform 202. For example, the request may relate to analytical processing, loading energy-related data, retrieving an Energy Star reading, retrieving benchmark data, etc. The actions 218 are fed to the action queue 220.

[0039] The action queue 220 may receive any of the actions 218. The action queue 220 may be a distributed task queue and represents work to be forwarded to an appropriate computing resource and then executed.

[0040] Dispatcher 222 may assign and forward a queued action to an engine, which then executes it. Dispatcher 222 may control the forwarding of each queued action to a specific one of application servers 212 based on load balancing and other optimization considerations. Dispatcher 222 may receive instructions from resource manager 224 to provision new nodes when current compute resources have reached or exceeded a capacity threshold. Dispatcher 222 may also receive instructions from resource manager 224 to release nodes when current compute resources have reached or fallen below a threshold capacity. Thus, dispatcher 222 may instruct cluster manager 226 to dynamically provision new nodes or release existing nodes based on the need for compute resources.The nodes may be compute nodes or storage nodes associated with the application servers 212, the relational databases 214, and the key / value stores 216.

[0041] Resource manager 224 may monitor action queue 220. Resource manager 224 may also monitor the current load on application servers 212 to determine the availability of resources to execute the queued actions. Based on the monitoring, resource manager 224 may communicate with cluster manager 226 via dispatcher 222 to request dynamic allocation and deallocation of nodes.

[0042] Cluster manager 226 may be a distributed entity that manages all nodes of application servers 212. Cluster manager 226 may dynamically provision new nodes or release existing nodes based on computing resource needs. Cluster manager 226 may implement a group membership services protocol. Cluster manager 226 may also perform a task monitoring function. The task monitoring function may include tracking resource usage, such as CPU utilization, the amount of data read / written, memory size, etc.

[0043] The application servers 212 may run processes that manage or host the execution of analytics servers, data requests, etc. The engines provided by the energy management platform 202, such as the engines that run data services, batch processing, and stream services, may be hosted on the application servers 212. The engines are discussed in more detail below.

[0044] In one embodiment, the application servers 212 may be part of a computer cluster consisting of a plurality of loosely or tightly related computers that are coordinated to operate as a system when executing the services and applications of the energy management platform 202. The nodes (e.g., servers) of the cluster may be linked together via high-speed local area networks ("LANs"), with each node running its own instance of an operating system. The application servers 212 may be implemented as computer clusters to improve performance and availability over a single computer, and are typically less expensive than individual computers of comparable speed or availability. The application servers 212 may be software, hardware, or a combination of both.

[0045] Various data may be stored in the relational databases 214 to support the energy management platform 202. In one embodiment, the relational databases 214 may also store data that does not represent time series, as will be explained in more detail below.

[0046] The key / value stores 216 may contain various data to support the energy management platform 202. In one embodiment, time-series data (e.g., meter readings, meter events, etc.) may be stored in the key / value store, as explained in more detail herein. In one embodiment, the key / value stores 216 may be implemented using Apache Cassandra, a distributed, open-source database management system designed for processing large amounts of data on a variety of commodity servers. In one embodiment, other database management systems may also be used for key / value stores.

[0047] In one embodiment, one or more of the application servers 212, the relational databases 214, and the key / value stores 216 may be implemented by the entity that owns, maintains, or controls the energy management platform 202.

[0048] In one embodiment, one or more of the application servers 212, the relational databases 214, and the key / value stores 216 may be implemented by a third party that leases a computing environment to the entity that owns, maintains, or controls the energy management platform 202. In one embodiment, the application servers 212, the relational databases 214, and the key / value stores 216 implemented by the third party may communicate with the energy management platform 202 over a network, such as the network 208.

[0049] The computing environment provided by the third-party provider to the entity that owns, maintains, or controls the energy management platform 202 may be a cloud computing platform that enables the entity that owns, maintains, or controls the energy management platform 202 to lease virtual computers on which it can run its own computing applications. Such applications may include, for example, the applications executed by the application server 200, as further explained herein. In one embodiment, the computing environment may enable scalable application deployment by providing a web service through which the entity that owns, maintains, or controls the energy management platform 202 can boot a virtual application used to create a virtual machine running arbitrary software.In one embodiment, the entity that owns, maintains, or controls the energy management platform 202 can create, start, and terminate server instances as needed, with payment based on time usage, data usage, or any combination of these or other factors. The ability to provision and release computing resources in this manner supports the ability of the energy management platform 202 to scale dynamically according to demand for the energy management platform 202.

[0050] Fig. Figure 3 illustrates an example of an application server 300 of an energy management platform according to an embodiment of the present disclosure. In one embodiment, one or more of the application servers 212 may be Fig. 2 with the application server 300 Fig.3. The application server 300 includes a data integration (data loading) module 302, an integration service module 304, a data service module 306, a calculation service module 308, a stream analysis service module 310, a batch parallel processing analysis service module 312, a normalization module 314, an analysis container 316, a data model 318, and a user interface (UI) service module 324. In some embodiments, the application server 300 may also include a non-technical loss (NTL) detection module 330.

[0051] The analytics platform supported by application server 300 includes multiple services, each performing a specific data management or analytics function. The services include data integration module 302, integration service module 304, data service module 306, computation service module 308, stream analysis service module 310, batch parallel processing analysis service module 312, and UI service module 324. All or some of the services within the analytics platform may be modular and, accordingly, specifically designed to perform their respective capabilities on large data sets and at high speed. The services may be optimized in software for distributed high-performance computing across a computer cluster including application servers 212.

[0052] The modules and components of the application server 300 in Fig.3 and in all figures contained herein are merely exemplary and can be combined in various ways to form fewer modules and components or divided into additional modules and components. The described functions of the modules and components can be performed by other modules and components.

[0053] The data integration module 302 is a tool for automatically importing data maintained in software systems or databases of the external data sources 1041-n into the energy management platform 102 of Fig.1. The imported data can be used for various applications of the energy management platform 102 or the application server 300. The data integration module 302 accepts data from a wide range of data sources, including network and operating systems such as MDM, CIS, and billing systems, as well as third-party data sources such as weather databases, building databases (e.g., the city planning department database), third-party property management systems, and external benchmark databases. Imported data may include, for example, meter data (e.g., electricity, water, and natural gas consumption) at at least daily or other time intervals (e.g., 15-minute intervals), weather data (e.g., temperature, humidity) at daily or other time intervals (e.g., hourly intervals), building data (e.g.,Square footage, occupancy, age, building type, number of floors, air-conditioned square footage), aggregation definitions (hierarchy) (e.g., meter to building, building to city block, regional identification of the building), and facility data (e.g., number and type of HVAC units, number and type of production units (for facilities)).

[0054] The data integration module 302 is also capable of importing information from flat files, such as Excel spreadsheets, and can capture information that is entered directly into an application of the energy management platform 102. By incorporating data from a wide range of sources, the application server 300 is capable of performing complex and detailed analyses that provide greater insight into the business.

[0055] The data integration module 302 provides a set of standardized canonical object definitions (standardized interface definitions) that can be used to load data into applications of the application server 300. The canonical objects of the data integration module 302 can be based on current or emerging utility industry standards, such as the Common Information Model (CIM), Green Button, and Open Automatic Data Exchange, or on the specifications of the application server 300. The application server 300 can support these and other standards to ensure that a wide range of payload data sources can be easily linked to the energy management platform 102. Canonical objects can include, for example: CANONICAL OBJECT DEFINITION AND DESCRIPTION organization • A single facility or sub-facility involved in the consumption of energy. • Example data source: Customer Information System (CIS). • Related data includes: name, organizational hierarchy, organizational identification number, primary contact, contact information. Furnishings • A facility such as an office, data center, hospital, etc. The facility is located at a location and is owned or rented by an organization. • Examples of data sources: CIS, billing system, data warehouse. • Associated data includes: facility name, mailing address, owner, facility identification number, work address, building characteristics such as floor area, geographical longitude / latitude, construction date. service • Agreements that an organization has with a utility company. • Examples of data sources: billing system, data warehouse. • Related data includes: service account number, billing account number, billing accounts, type of services provided (electricity, natural gas, water), related meters and facilities. Invoicing • Provider details as shown on utility bills. • Example data source: billing system. • Associated data includes: start date, end date, billed consumption, billed power, peak power, reactive power, taxes and fees, invoice number. Consumption point • The resource-consuming entity for which interval data is provided. . Example data sources: Meter data management system (MDM). • Associated data includes: assets associated with the meter, type of resource measured (electricity, natural gas), measurement method, unit of measurement. Meter reading • Unique type of measurement - for example, power (kW), consumption (kWh), voltage, temperature, etc. A meter reading contains both measured values and timestamps. • Examples of data sources: MDM. • Related data includes: resource consumption data, resource demand data, time period. Energy saving measure • A measure to reduce energy consumption and expenditure. • Examples of data sources: data warehouses, spreadsheets. • Related data includes: project name, project type, estimated cost, estimated resource savings, estimated financial savings, simple payback, profitability, lifetime of the intervention, facility. External benchmark • Industry-standard benchmark data. External benchmarks can apply to an entire facility or to an end-use category. • Examples of data sources: third-party databases. • Related data include: building type, building size, climate region, building age, final use, final energy intensity, whole building energy intensity, energy cost intensity, whole building energy cost intensity. region • Custom geographic area in which an organization does business. Hierarchy of subsections that enables the creation of aggregated analyses. • Data source: CIS, data warehouse. • Related data includes: definitions of regions, definitions of parent-child relationships.

[0056] Once the data is received in canonical form, the data integration module 302 may transform the data into individual data units according to the data model 318 so that the data may be loaded into a database schema for storage, processing, and analysis.

[0057] The data integration module 302 is capable of processing very large amounts of data (e.g., "big data"). For example, the data integration module 302 can frequently process interval data from millions of digital meters. To receive data, the application server 300 can provide a consistently secured web service API (e.g., REST). The integration can occur in an asynchronous batch or real-time mode. The data integration module 302 can incorporate real-time and batch data from, for example, utility customer systems, building attribute systems, industry-standard benchmark systems, energy savings and rebate databases, utility enterprise systems, MDM, and utility operational systems.If an external data source does not have an API or computer-assisted means of data extraction, the application server 300 may retrieve data directly from a web page associated with the external data source (e.g., through web scraping).

[0058] The data integration module 302 may also perform initial data validation. The data integration module 302 may examine the structure of the incoming data to ensure that the required fields are present and that the data is of the correct data type. For example, the data integration module 302 may detect when the format of the provided data does not match the expected format (e.g., a numeric value is incorrectly specified as text), prevent the non-conforming data from being loaded, and log the issue for review and investigation. In this way, the data integration module 302 may serve as a first line of defense to ensure that the incoming data meets the requirements for accurate analysis.

[0059] The integration service module 304 serves as a second layer of data validation or verification, ensuring that the data is error-free before being loaded into a database or storage. The integration service module 304 receives data from the data integration module 302, monitors the incoming data, performs a second round of data checks, and forwards the data to the data service module 306 for storage.

[0060] The integration service module 304 can provide various data management functions. The integration service module 304 can perform duplicate handling. The integration service module 304 can detect cases of data duplication to ensure that the analysis is performed accurately on a single data set. The integration service module 304 can be configured to handle duplicates according to user-specified business requirements (e.g., treating two duplicate records as the same or averaging duplicate records). This flexibility allows the application server 300 to conform to customer standards for data processing.

[0061] The integration service module 304 can perform data validation. The integration service module 304 can detect data gaps and data anomalies (e.g., statistical anomalies), identify outliers, and perform referential integrity checks. A referential integrity check ensures that the data has the correct network of links to enable analysis and aggregation, e.g., ensuring that loaded meter data is related to a facility, or conversely, that facilities have associated meters. The integration service module 304 resolves data validation issues according to the business requirements specified by a user. For example, if data gaps exist, linear interpolation can be used to fill in missing data, or gaps can be left unchanged.

[0062] The integration service module 304 can perform data monitoring. The integration service module 304 can provide end-to-end visibility throughout the entire data loading process. Users can monitor a data integration process from the capture of duplicates to data storage. Such monitoring helps ensure that the data is loaded correctly and is free of duplication and validation errors.

[0063] The data service module 306 is responsible for the persistence (storage) of large and growing amounts of data while making data available for analytical calculations. The data service module 306 partitions data into relational and non-relational (key / value store) databases and also performs operations on stored data. These operations include creating, reading, updating, and deleting data. A data engine of the data service module 306 can maintain data for stream processing. The data engine of the data service module 306 can also determine a data set to be processed along with a batch job for parallel batch processing.

[0064] The data service module 306 may perform data partitioning. The data service module 306 utilizes relational and non-relational data stores, such as the relational database 214 and the key / value store 216 of Fig. 2. By "partitioning" the data into two separate data stores, the relational database 214 and the key / value store 216, the application server 300 ensures that its applications can efficiently process and analyze large amounts of data, such as interval data from meters and grid sensors. The data in the relational database 214 and the key / value store 216 is stored according to the data model 318 of the energy management platform 102.

[0065] Relational database 214 is designed to manage structured and slowly changing data. Examples of such data include organizational (e.g., customer) and asset data. Relational databases, such as relational database 214, are designed for random-access updates.

[0066] Key / value store 216 is designed to manage very large amounts of interval data (time series), such as meter and grid sensor data. Key / value stores such as key / value store 216 are designed to handle large streams of "append-only" data that are read in a specific order. "Append-only" refers to new data that is simply appended to the end of an associated file. By using the dedicated key / value store 216 for interval data, application server 300 ensures that this type of data is stored efficiently and can be accessed quickly.

[0067] The data service module 306 may perform distributed data management. The data service module 306 may include an event queue that schedules the delivery of notifications to perform stream processing and parallel batch processing. With respect to parallel batch processing, the scheduling may be based on rules that consider the availability of processing resources in an associated cluster in the energy management platform 102. As the data volume grows, the data service module 306 automatically adds nodes to the cluster to accommodate (e.g., store and process) the new data. As nodes are added, the data service module 306 automatically rebalances and distributes the data across all nodes to ensure consistently high performance and reliability.

[0068] The computation service module 308 is a library of analysis functions called by the stream analysis service module 310 and the batch parallel processing analysis service module 312 to perform business analysis. The functions can be executed individually or combined to perform complex analyses. The services provided by the computation service module 308 can be modular (i.e., dedicated to a single task), allowing the computation service module 308 to process a large number of calculations simultaneously and quickly in parallel, enabling significant computational scalability.

[0069] The calculation service module 308 can also utilize distributed processing to achieve even greater scalability. For example, if a user is interested in calculating the average annual electricity consumption for hundreds of thousands of meters, the energy management platform 102 can respond quickly by distributing the request across multiple servers.

[0070] The power analysis service module 310 performs sophisticated analyses of real-time and near-real-time data streams. For example, a data stream may be a feed containing large amounts of data from a meter, sub-meter, or grid sensor. In one embodiment, the data stream may be a SCADA (Supervisory Control and Data Acquisition) data stream. The power analysis service module 310 may be invoked to analyze this data when the analysis needs to be performed shortly after the data is generated.

[0071] The power analysis service module 310 may include a power processor to convert the power into data conforming to the data model 318. The power analysis service module 310 may also include power processing logic, which may be provided by a user of the energy management platform 102. The power processing logic may provide a calculated result that may be retained and used for later analysis. The power processing logic may also issue an alert based on a calculated result. For example, a utility may want to receive alerts and on-the-fly analysis when an unexpected and significant load drop or increase occurs. This load change could be caused by a malfunction of a device or sudden damage to a device, potentially posing a significant risk to the distribution system or an end customer.Data about the unexpected load change can be quickly detected, analyzed, and used to send the required alert. After processing the original stream, the stream processing logic can also provide a new stream based on the processed original stream for a different purpose or application of the energy management platform 102.

[0072] The power analysis service module 310 can perform continuous processing in near real time. Because the processing by the power analysis service module 310 occurs very quickly after the data arrives, time-critical, high-priority analyses provided by the energy management platform 102 are relevant and actionable.

[0073] The power analysis service module 310 may provide horizontal scalability. To manage large amounts of data simultaneously, the processing by the power analysis service module 310 may be distributed across a server cluster, i.e., a set of computers that work together.

[0074] The stream analysis service module 310 can provide fault tolerance. Data streams can be persisted. If a processing error occurs on a node (e.g., a computer in a cluster), the workload is distributed to other nodes within the cluster without data loss. A stream can be discarded after processing of the stream is complete.

[0075] To illustrate the performance of the power analysis service module 310, a non-limiting example is provided. Assume streams of recently generated power consumption and demand data. The streams can be fed into an event queue associated with the data service module 306. When the data arrives in the event queue, automatic analysis processes are triggered. Multiple analytical processes or analyses can be applied to the same data set. The analytical processes can be executed in parallel. Parallel processing of the same data set enables faster processing of multiple analyses. The results of these analytical processes can be alerts and calculations, which are then stored in a database and made available to specific end users as analysis results.Analysis processes and processing tasks can be distributed across multiple servers supporting the power analysis service module 310. In this way, large amounts of data can be processed quickly by the power analysis service module 310.

[0076] The batch parallel processing analysis service module 312 may perform a significant portion of the analyses required by users of the energy management platform 102. The batch parallel processing analysis service module 312 may analyze large data sets of current and historical data to generate reports and analyses, such as periodic key performance indicator (KPI) reports, historical power consumption analyses, forecasts, outlier analyses, analyses of the financial impact of energy efficiency projects, etc. In one embodiment, the batch parallel processing analysis service module 312 may be based on MapReduce, a programming model for processing large data sets and distributing computations across one or more computer clusters.The batch parallel processing analysis service module 312 automatically performs parallelization, fault tolerance, and load balancing tasks, thereby improving the performance and reliability of processing-intensive tasks.

[0077] To illustrate the performance of the batch parallel processing analysis service module 312, a non-limiting example is provided. Examples of jobs processed by the batch parallel processing analysis service module 312 could include a benchmark analysis of energy intensity, a summary of performance against key performance indicators, and an analysis of unbilled energy due to non-technical losses. When a batch processing job is invoked in the energy management platform 102, an input reader associated with the batch parallel processing analysis service module 312 divides the processing job into several smaller batches. This division reduces the complexity and processing time of the job. Each batch is then passed to a worker process that performs its assigned task (e.g., a calculation or evaluation).The results are then "shuffled", meaning the data set is reordered so that the next group of work processes can efficiently complete the calculation (or evaluation) and quickly write the results to a database via an output writer.

[0078] The batch parallel processing analysis service module 312 can distribute work processes across multiple servers. Such distributed processing is used to fully utilize the cluster's computing power and ensure that calculations are completed quickly and efficiently. In this way, the batch parallel processing analysis service module 312 provides scalability and high performance.

[0079] The normalization module 314 may normalize meter data to be stored in the key / value store 216. Normalizing meter data may include, for example, filling in gaps in the data and eliminating outliers in the data. For example, if meter data is expected at consistent intervals, but the data actually provided to the energy management platform 102 does not include meter data at certain intervals, the normalization module 314 may apply certain algorithms (e.g., interpolation) to provide the missing data. Another example is that the normalization module 314 may detect and correct deviating values of energy consumption. In one embodiment, the normalization performed by the normalization module 314 may be configurable. For example, the algorithms used by the normalization module 314 (e.g.,linear, non-linear) by an administrator or a user of the energy management platform 102. The normalized data can be fed to the key / value store 216.

[0080] The UI service module 324 provides the graphical framework for all applications of the energy management platform 102. The UI service module provides visualization of the analysis results so that end users can obtain insights that are clear and actionable. After the analyses are completed by the power analysis service module 310 or the batch parallel processing analysis service module 312, they can be graphically rendered by the UI service module 324, made available to appropriate applications of the energy management platform 102, and ultimately presented on a user's computing system (e.g., a device). This provides users with data insights in an intuitive and easy-to-understand format.

[0081] The UI service module 324 provides many features. The UI service module 324 can provide a library of chart types and a library of page layouts. All variations of chart types and page layouts are maintained by the UI service module 324. The UI service module 324 can also enable customization of the page layout. Users, such as administrators, can add, rename, and group fields. For example, the energy management platform 102 allows a utility administrator to group energy intensity, energy consumption, and energy demand on a page for easier viewing. The UI service module 324 can provide role-based access controls. Administrators can specify which parts of the application are visible to certain types of users.With these features, the UI service module 324 ensures that end users enjoy a consistent visual experience, have access to features and data relevant to their roles, and can interact with charts and reports that provide clear business insights.

[0082] Additionally, in some embodiments, the application server 300 includes the non-technical loss (NTL) determination module 330, as shown in Fig.3. The non-technical loss determination module 330 may be configured to facilitate the use of machine learning to determine non-technical losses. In some embodiments, the non-technical loss determination module 330 may be implemented as hardware, software, and / or a combination thereof. It is also contemplated that, in some cases, one or more portions or components of the non-technical loss determination module 330 may be integrated with one or more other modules, engines, and / or components of the energy management platform 102 of Fig. 1 can be implemented.

[0083] In one example, the non-technical loss detection module 330 may be configured to detect or determine signal values for a set of signals indicating the presence of a non-technical loss (e.g., NTL). The set of signals indicating the presence of a non-technical loss may directly or indirectly reflect various energy consumption conditions. Such energy consumption conditions may relate, for example, to types of energy consumption, states of energy consumption, amounts of energy consumption, meter readings of energy consumption, meter operational status, states of customer accounts with energy providers, and any other considerations that directly or indirectly reflect energy provision, consumption, availability, and payments. Each signal from the set of signals may reflect a particular energy consumption condition.A signal value for a signal from the set of signals can be a numeric, Boolean, binary, or qualitative value that describes the magnitude, type, or presence (or absence) of the energy consumption condition associated with the signal. For example, energy consumption conditions can refer to various cases where energy is used or consumed, including cases where no consumption or use occurs. In some cases, an energy consumption condition can represent a state (e.g., a current state) of energy consumption as measured by an energy or utility meter (e.g., gas meter, electricity meter, water meter, etc.).In some cases, a particular energy consumption condition may be related to the consumption of a particular energy type by a particular energy consumer or customer at a particular location in a particular venue at a particular time or interval. Thus, energy consumption conditions may be related not only to meters that measure consumption, but also to customer information, location information, venue types, dates and times, etc.

[0084] The set of signals may correspond to a selected set of analyses or features generated based on collected data, such as data received from the external data sources 1041-n of Fig.1. In some embodiments, the set of signals may be selected, chosen, or determined based on research, development, observation, machine learning, and / or experimentation, etc. For example, based on empirical analysis, it may be determined that certain signals are more useful for indicating non-technical losses (NTL), and these signals are therefore selected or prioritized over other signals that may not be or are less likely to be indicative of non-technical losses.Data received from data sources may include, but is not limited to, meter data management (AMI) and headend data, customer information data, customer consumption data, billing information, contract information, meter event data, outage management system (OMS) data, manufacturer generation, work order management (WOM) data, verified theft and fault data, weather data, and geographic location. Data sources may include, but are not limited to, grid and utility operating systems, meter data management (MDM) systems, customer information systems (CIS), billing systems, utility customer systems, utility enterprise systems, utility energy conservation measures, rebate databases, building characteristic systems, weather data sources, third-party property management systems, industry-standard benchmark databases, and more.

[0085] With a large number of different signals in a variety of signal categories and corresponding signal values of these signals, a better understanding of energy consumption can be achieved. Each signal from a category of different signal categories can be generated and its respective signal value calculated based on at least a portion of the acquired data. In some cases, there may be dozens of signal categories and, within each signal category, hundreds of signals or more. Only a few examples are discussed in this disclosure. It should be understood that many signal categories and their signals not explicitly mentioned here may be used in the same way. In some implementations, the signal values may be numeric values, values between 0 and 1, binary values, etc.

[0086] An example of a signal category is the "Account Attribute" signal category. The "Account Signal" category can include a variety of signals. For example, a first signal in the "Account Signal" category can be called a "Seasonal Counter" signal. The "Seasonal Counter" signal can indicate whether a consumption point (or customer) is recorded as seasonal, e.g., for a holiday home. Data from the CIS, such as customer information and customer consumption data, can indicate that the consumption point is seasonal, and a signal value can be set for the "Seasonal Counter" signal to indicate that the consumption point is seasonal.

[0087] As another example, a second signal in the "Account Attribute" signal category can be called a "Service Interrupted" signal. The "Service Interrupted" signal can indicate whether a consumption point has a service point that was terminated or disconnected at a relevant analysis time (e.g., at the time of data collection). If the service point was disconnected, a signal value for the "Service Interrupted" signal would indicate that the service point was disconnected. If the service point was not disconnected, the signal value would indicate that the service point was not disconnected.

[0088] Another example signal category is the "Anomal Load" signal category. The "Anomal Load" signal category may include a "Active and Reactive Power Curve Analysis" signal, which relates to the analysis of active and reactive power data and the detection of anomalous patterns that indicate theft and / or malfunctions. For example, signal values for the "Active and Reactive Power Curve Analysis" signal may characterize irregular fluctuations in annual consumption patterns for a particular customer, which may indicate the likelihood of theft and / or malfunctions. The "Anomal Load" signal category may also include a "Number of Days with Seasonal Consumption Decline" signal, which relates to the recording of a number of days with seasonally decreasing consumption.In addition, the "Anomal Load" signal category may include a "Annual Fluctuation (Quarter-Hourly)" signal, which refers to calculating the maximum difference in consumption in a month between the current and the previous year. Furthermore, the "Anomal Load" signal category may include a "Consumption Decline" signal, which refers to tracking a consumption profile and recording a decrease in a meter's rolling 15-day average consumption of more than 20%.

[0089] Another example signal category is the "Calculated Status" signal category, which can include signals that facilitate cross-checking a meter's status, for example, by checking whether the meter status is set to active or whether it is reporting communication problems. A "Meter Location Indoor" signal in this category can indicate that a meter is located indoors. A "Meter Location Outdoor" signal in this category can indicate that a meter is located outdoors. A "Service Inactive Consumption (Electric)" signal in this category can indicate that service is not active, but electrical consumption is still occurring at a meter.

[0090] Another example signal category is the "Inactive Consumption" signal category. The "Inactive Consumption" signal category may include an "Inactive Consumption" signal, which refers to the detection of customers with non-zero consumption whose service accounts have been disconnected by the utility. The "Inactive Consumption" signal category may also include an "Inactive Consumption (Gas)" signal, which refers to a situation where no service contract is active but gas consumption is present on the meter.

[0091] Another example signal category is the "Current Analysis" signal category. Signals in this category can be associated with analyzing historical current profiles to evaluate any discrepancies related to load harmonics, actual versus reactive power measurements, and potential interruptions. This category may include a "CT > 0.5 Ampere" signal, indicating intervals where the current transformer (CT) is greater than 0.5 Ampere, and a "CT < 0.05 Ampere" signal, indicating intervals where the current transformer (CT) is supplying less than 0.05 Ampere.

[0092] Another example signal category is the "Missing Data" signal category, which includes signals related to missing data. A "missing data" signal in this signal category refers to determining whether a meter is missing consumption data.

[0093] Another example signal category is the "Disconnected" signal category, which includes signals related to assessing whether a meter has been disconnected from the communications network. An "Electrically Disconnected, Unreachable" signal in this category may indicate the number of days since a remotely disconnected Advanced Metering Infrastructure (AMI) meter became unreachable. A "Communication After Hard Disconnect" signal in this category may indicate that network interface controller (NIC) power restoration events were detected after a service point at a pole or service head was disconnected. A "Days Disconnected Before Unreachable" signal in this category may indicate the number of days a meter was disconnected before becoming unreachable.

[0094] Another example signal category is the "Meter Events" signal category, which includes signals that track various meter events (e.g., the event of meter tampering, meter malfunction, a meter's last pulse, etc.) and filter out any noise (e.g., due to a large volume of meter events reported by meters, many of which are false positives). A "Mist Event" signal in this category might indicate a meter with a malfunction event and count the number of times malfunction events were triggered. A "Mist and Off-State Event Count" signal in this category might indicate a meter with a malfunction event and count the number of readings of malfunction and off-state events. A "Tampering Event Count" signal in this category might evaluate the number of meter tamper events recorded.A "Tampering combined with disturbance combined with off-state counter events" signal in this signal category may indicate a counter with combined counter events including a tampering event, a disturbance event, and an off-state event.

[0095] Another example signal category is the "Monthly Meter" signal category, which includes signals associated with meters that report data at monthly intervals. These signals can provide insight into monthly reporting meters or, more generally, facilitate the prediction of patterns with less available data. A "Maximum Monthly Consumption Decrease" signal in this signal category can record a maximum decrease in consumption from month to month. A "Year-over-Year Variation (Monthly, Seasonal)" signal in this category can calculate the maximum difference in consumption in a month between one year and the previous year for non-seasonal meters. A "Meter Inactive Consumption (Monthly)" signal can indicate that a meter contract has been terminated and non-zero (monthly) consumption was recorded after the contract termination date.

[0096] Another example signal category is the "Outage" signal category, which includes signals that record outages and interruptions and can correlate them with a consumption profile to provide further insight into whether a meter has been tampered with or if the meter has failed. A "Line Outage Event" signal in this category can indicate whether a line outage event has been recorded for a meter. An "Outage Correlated with Consumption Decline" signal in this category can track outage data and flag when an outage has occurred that correlates with a decrease in the consumption profile. A "Partial Line Outage" signal in this category can track whether a partial line outage has been detected.

[0097] Another example signal category is the "Stolen Meter" signal category. A "Outage and Stolen Meter" signal in this category refers to whether the meter has been stolen and whether this occurred within a brief outage. A "Stolen Meter Removal" signal in this category refers to whether a meter is more than 300 feet from the expected installation location.

[0098] Another example signal category is the "Unusual Production" signal category, which includes signals that grid metering customers can track producing electricity (e.g., solar power) and detect that the production data is anomalous. A "Production After Dark" signal in this category can detect if production (reverse consumption) is detected during dark hours. A "Power Generation After Dark" signal in this category can indicate that electricity is being generated during dark hours.

[0099] Another example signal category is the "Work Order" signal category, which includes signals that track work orders to provide insights into whether a customer has been reported for theft, whether their account has not been settled in the past, and so on. Signals in the "Work Order" category can be powerful in providing insights correlating with consumption patterns and types of theft. A "Work Order Cancellation" signal in this category can indicate the cancellation of services for a customer who has not made their payments. A "Contract Change" signal in this category can indicate whether a service contract change has been registered. A "Meter Change" signal in this category can generate a result for each work order that corresponds to a meter change.

[0100] Another example signal category is the "Zero Readings" signal category, which includes signals that track a meter's zero readings to detect patterns of zero consumption that are inconsistent with nearest neighbors or a cluster of peer accounts. An "Intermittent Zero Readings" signal in this category can denote meter zero readings that have persisted for a specified number of consecutive readings (e.g., within a specified time period). A "Persistent Zero Readings Correlated with Outages (Non-Seasonal)" signal in this category can track persistent zero readings (e.g., beyond 7 days) correlated with outages (non-seasonal). An "Intermittent Zero Signal" signal in this category can indicate zero reading periods that persist for a specified time period (e.g., at least 6 hours).

[0101] Again, the signals and signal categories described are examples and are for illustrative purposes. Other suitable signals and signal categories may be used in addition or alternatively. Furthermore, numerous variations are conceivable. In some cases, there may be a greater (or fewer) number of signals than those described here. In some embodiments, a first signal from the set of signals may be generated based on a modification to a second signal from the set of signals. In one example, the first signal may be generated based on a permutation of the second signal. In another example, the first signal may be generated based on a combination of the second signal and a third signal.

[0102] In some cases, there may be a larger (or smaller) number of signal categories than those described here.For example, in some embodiments, one or more signals in the set of signals may be associated with an account attribute signal category, an anomalous load signal category, a calculated status signal category, an inactive consumption signal category, a recent analysis signal category, a missing data signal category, a broken connection signal category, a meter event signal category, a monthly meter anomalous load signal category, a monthly inactive meter consumption signal category, an outage signal category, a stolen meter signal category, an unusual production signal category, a work order signal category, and / or a zero reading signal category.

[0103] After determining a set of selected signals from selected signal categories, the signal values for the signals may be determined based on the data received from the data sources. In some implementations, determining the signal values may involve determining a set of formulas for the set of signals. Each formula in the set of formulas may correspond to a corresponding signal in the set of signals. Then, the signal values for the set of signals may be calculated based on the set of formulas. To illustrate, a signal value for a "consumption drop" signal may correspond to a numerical consumption drop amount of a meter compared to the meter's average consumption. It should be understood that numerous other formulas may be captured or developed for various other signals.Furthermore, in some implementations, the signal values can be normalized across the entire set of signals.

[0104] After determining signal values for the set of signals, the non-technical loss determination module 330 may generate a plurality of N-dimensional representations (e.g., points in N-dimensional space) for the plurality of energy consumption conditions based on the signal values, where N represents the number of signals (i.e., the amount of signals) in a set of signals that indicate the presence of non-technical losses. For example, if there are 150 signals, the N-dimensional representation may have 150 dimensions. Each dimension may correspond to a specific signal. A specific energy consumption condition in the plurality of energy consumption conditions may be represented as a point in N-dimensional space with coordinates based on the signal values.

[0105] The non-technical loss detection module 330 may further apply at least one machine learning algorithm to the plurality of N-dimensional representations to create a classification model for detecting non-technical losses. The classification model may be used to detect energy consumption conditions that are likely to involve non-technical losses, e.g., in the form of theft or malfunctions.

[0106] Fig. 4 shows an example of a non-technical loss determination (NTL) module 400 configured to utilize machine learning to determine non-technical losses, according to an embodiment of the present disclosure. The example non-technical loss determination module 400 may be configured as the non-technical loss determination module 330 of Fig.3. As described above, in some embodiments, various portions of the non-technical loss determination module 400 may be implemented as one or more components of the energy management platform 202 of Fig. 2. For example, in some embodiments, at least some portions of the technical loss detection module 400 may be implemented as one or more components of the application server 300 of Fig. 3 be implemented.

[0107] As in Fig.4, the non-technical loss determination module 400 may include a signal data acquisition module 402, an N-dimensional representation module 404, a machine learning module 406, and a result processing module 408. The signal data acquisition module 402 may be configured to determine a set of signals and associated signal values for the set of signals. The signal values may be associated with a variety of energy consumption conditions. In some embodiments, the signal data acquisition module 402 may be configured as the data integration module 302 of Fig.3. Data from the external data sources 1041-n may be received, and the set of signals may be generated based on this received data. The signal data acquisition module 402 may determine signal values for the set of signals, e.g., by applying a set of formulas to the set of signals. Each formula in the set of formulas may correspond to a respective signal in the set of signals. In some cases, the set of formulas may be derived or developed from research, analysis, observation, experimentation, etc. The signal data acquisition module 402 may be configured to calculate the signal values for the set of signals based on the set of formulas. In some cases, each energy consumption condition may be represented by one or more corresponding signal values.For example, a particular set of signal values can be associated with the current state of a particular electricity meter for a particular customer at a particular location and scene.

[0108] The N-dimensional representation module 404 may be configured to generate a plurality of N-dimensional representations for the plurality of energy consumption conditions. The plurality of N-dimensional representations may be generated based on the signal values. Each N-dimensional representation may be generated based on signal values associated with a corresponding energy consumption condition. Each N-dimensional representation may have N dimensions corresponding to a signal magnitude of the set of signals. In one example, each energy consumption condition may be represented as a point in N-dimensional space and may have coordinates corresponding to its respective signal values. In another example, each energy consumption condition may be represented as an N-dimensional vector whose vector values correspond to the respective signal values.Other N-dimensional representations can also be used.

[0109] The machine learning module 406 may be configured to apply at least one machine learning algorithm to the plurality of N-dimensional representations. A classification model for determining non-technical losses may be created, developed, or generated based on the application of the at least one machine learning algorithm to the plurality of N-dimensional representations.

[0110] In some embodiments, the at least one machine learning algorithm may be associated with a monitored process. In one example, at least a first portion of the plurality of N-dimensional representations may have been previously identified or verified as corresponding to a non-technical loss. At least a second portion of the plurality of N-dimensional representations may have been previously identified or verified as corresponding to normal energy consumption. The machine learning module 406 may classify new signal values associated with new energy consumption conditions as normal or NTL-related based on their proximity to N-dimensional representations verified as normal or NTL-related.The machine learning module 406 may be configured to determine one or more N-dimensional representations that are near or clustered with the first section. The machine learning module 406 may classify these one or more N-dimensional representations that are near or clustered with the first section as corresponding to a non-technical loss because they have properties (e.g., signal values) similar to those of the first section. In some cases, a first representation is near (or clustered with, close to, etc.) a second representation if they are within an allowable (or threshold) N-dimensional proximity to each other.For example, the machine learning module 406 may classify at least a third portion of the plurality of N-dimensional representations that is within an allowable N-dimensional proximity to the first portion as corresponding to a non-technical loss.

[0111] Similarly, the machine learning module 406 may classify one or more N-dimensional representations that are located near or clustered with the second portion as corresponding to normal energy consumption because they have properties (e.g., signal values) similar to those of the second portion. For example, the machine learning module 406 may classify at least a fourth portion of the plurality of N-dimensional representations that are within the allowable N-dimensional proximity to the second portion as corresponding to normal energy consumption.

[0112] Furthermore, the machine learning module 406 may be configured to receive or acquire new signal values for the set of signals. The new signal values may be related to changed circumstances regarding new energy consumption conditions. For example, new data may be received from a particular utility meter, and the new signal values may be calculated based on the newly received data. The machine learning module 406 may generate a new N-dimensional representation for the new energy consumption condition based on the new signal values. For example, the new signal values may be used to generate a new point in N-dimensional space. Because the signal values and the N-dimensional representation are new, they have not yet been classified. The machine learning module 406 may classify the new N-dimensional representation based on the classification model.For example, if the classification model indicates that the new N-dimensional representation is similar to (or sufficiently close in N-dimensional proximity, close to, clustered with, etc.) another representation that has already been classified as corresponding to a non-technical loss, then the new N-dimensional representation may also be classified as corresponding to a non-technical loss. Accordingly, the at least one machine learning algorithm may facilitate the assignment of at least some N-dimensional representations to non-technical losses based on signal values. On the other hand, if the classification model determines that the new representation is similar to another representation that has been classified as normal energy consumption, the new representation may be classified as normal energy consumption.

[0113] In some cases, the at least one machine learning algorithm includes an unsupervised process. For example, unclassified data (e.g., new signal values) can be used to discover new patterns, trends, properties, and / or characteristics useful for identifying non-technical losses. For example, clustered, high-density N-dimensional representations can be assumed to correspond to normal usage. The unsupervised process can attempt to classify small clusters of N-dimensional representations that lie outside of, or are substantially separate from, the high-density clusters. If a representation in the small cluster is verified as corresponding to a non-technical loss, then the entire small cluster can be classified as corresponding to a non-technical loss.In some cases, manual review or confirmation can facilitate the unsupervised process.

[0114] In some cases, one or more new signal values associated with new energy consumption conditions may be captured and analyzed to continuously or periodically train the classification model. Through a supervised or unsupervised process, the new signal values may be analyzed to provide improved understanding for more accurately determining energy consumption conditions likely associated with non-technical losses compared to normal conditions. When the machine learning module 406 receives new signal values indicating non-technical losses and new signal values indicating normal energy consumption, the at least one machine learning algorithm may modify the classification model to account for the new signal values. Accordingly, the classification model may learn, change, and improve over time.In some embodiments, the classification model may determine that some signals used to classify energy consumption conditions based on their signal values may not be particularly relevant or important for determining non-technical losses. Accordingly, the energy consumption determination module 400 may selectively exclude some signals from consideration when determining non-technical losses.

[0115] In some embodiments, the signals may be selected to maximize yield. In this context, yield may refer to the number of correctly identified leads relative to the total number of leads related to potential non-technical losses. The signals may also be selected to minimize false positives. A false positive may refer to incorrectly identified non-technical losses, which may incur associated costs and delays.

[0116] In some embodiments, the at least one machine learning algorithm may be associated with a support vector machine, a boosted decision tree, a classification tree, a regression tree, a bagging tree, a random forest, a neural network, and / or a rotation forest. It is understood that many other variations, approaches, techniques, and / or processes may be used.

[0117] The result processing module 408 may be configured to facilitate the processing of data, such as data resulting from applying the at least one machine learning algorithm to the plurality of N-dimensional representations. In some embodiments, the result processing module 408 may be configured to identify a plurality of utility meters, such as gas meters, electricity meters, and water meters, that are likely to be associated with non-technical losses. For example, the identified meters may be associated with energy consumption conditions represented by particular N-dimensional representations that have been classified as corresponding to a non-technical loss.

[0118] Furthermore, the results processing module 408 may rank the determined plurality of utility meters based on the probabilities of being associated with non-technical losses. For example, the results processing module 408 may generate rankings or scores for the determined meters based on their respective probabilities of being associated with non-technical losses. In some implementations, the probability of a determined meter being associated with a particular energy consumption condition may depend on an N-dimensional proximity between the representation associated with an energy consumption condition and another representation verified to correspond to a non-technical loss. A lower N-dimensional proximity may indicate a higher probability.

[0119] The results processing module 408 may further determine that at least some of the plurality of meters meet a particular ranking of threshold criteria and may provide the at least some of the plurality of utility meters as candidates for examination for possible non-technical losses. In one example, the ranking of threshold criteria may establish a minimum percentage probability amount. In another example, the ranking of threshold criteria may establish a set with the highest probabilities. Those evaluated meters that meet the ranking of threshold criteria may be the meters most likely to have suffered non-technical losses, e.g., due to theft or malfunction.

[0120] As previously mentioned, a new N-dimensional representation may also be determined to correspond to a non-technical loss. The result processing module 408 may communicate the non-technical loss to one or more entities related to the particular energy consumption condition. For example, the meters most likely to experience a non-technical loss may be reported to one or more energy providers or suppliers (e.g., utilities). The energy providers or suppliers may, in turn, investigate and correct the problems.

[0121] In some cases, the results processing module 408 may receive confirmation and / or non-confirmation from one or more entities, such as energy suppliers, that the particular energy consumption condition is related to non-technical losses. For example, the one or more entities may conduct a field investigation or other process to confirm the non-technical loss or the absence of a non-technical loss. The entities may report their results back to the non-technical loss determination module 400. Furthermore, in some cases, the classification model may be modified, improved, or refined based on the confirmation or non-confirmation.

[0122] Fig. 5 shows an example table 500 with example signal values for an example set of signals according to an embodiment of the present disclosure. As in Fig. 5, the example table 500 may show an example set of three signals, namely Signal A, Signal B, and Signal N. The signal set for this example set of signals is thus three. It is anticipated that numerous variations are possible.

[0123] In the example of Fig.5, signal A is a "consumption drop" signal. The signal value for signal A is calculated, for example, as 0.82. Signal B may correspond to a "line failure event" signal and, in this example, may have a signal value of 0.74. Signal N may be a "work order cancellation" signal with a signal value of, for example, 0.91. These signal values may be related to a particular energy consumption condition. For example, these signal values may be assigned to a specific consumption meter at a specific time. Based on these signal values, an N-dimensional representation may be generated, which, with reference to Fig. 6 is explained in more detail.

[0124] Fig.6 shows an example graph 600 with example N-dimensional representations generated based on example signal values according to an embodiment of the present disclosure. The example graph 600 may show an N-dimensional representation (e.g., a point) 610 generated based on the signal values for the signal in the example table 500 of Fig. 5 shown set of signals is generated.

[0125] Since the signal quantity for the set of signals in Fig. 5 is three, the number of dimensions in the example graphic 600 is three (e.g. N = 3). Each dimension in the N-dimensional space of Fig. 6 is assigned to an axis and can be assigned to a corresponding signal in Fig. 5. It follows that the dimension A 602 corresponds to the signal A of Fig.5, the dimension B 604 can correspond to the signal B and the dimension N 606 to the signal N. Thus, the N-dimensional representation 610 has the coordinates (A = 0.82, B = 0.74, N = 0.91) and is shown accordingly in the exemplary graphic 600.

[0126] As in the example of Fig.6, representation 610 is located within a cluster 612 that contains other N-dimensional representations that may represent other energy consumption conditions, including, for example, other meters. In one example, if representation 610 is within a permissible distance from cluster 612, the representation may be classified according to cluster 612. For example, if cluster 612 has been verified as being associated with NTL (or alternatively, normal energy consumption), then representation 610, if it is within a permissible distance from cluster 612, is also classified as being associated with NTL (or alternatively, normal energy consumption).

[0127] In another example, if it is verified that representation 610 corresponds to non-technical losses, the entire cluster 612 to which representation 610 belongs may be classified as corresponding to a non-technical loss (and vice versa for normal energy consumption). If another representation in cluster 612 is verified as corresponding to a non-technical loss and representation 610 has not yet been classified, then representation 610 (and the entire cluster 612) may be classified as corresponding to a non-technical loss (and vice versa for normal energy consumption). Other clusters in example graph 600 may be classified in a similar manner.

[0128] Furthermore, it should be noted that the exemplary graphic 600 in Fig.6 is for illustrative purposes only. In some implementations, the N-dimensional representations do not need to be represented graphically or visually.

[0129] Fig. 7 illustrates an exemplary method 700 for utilizing machine learning to determine non-technical losses according to an embodiment of the present disclosure. It should be understood that there may be additional, fewer, or alternative steps performed in a similar or alternative order or in parallel within the various embodiments, unless otherwise noted.

[0130] At block 702, the example method 700 may select a set of signals related to a plurality of energy consumption conditions. In some cases, the set of signals may be associated with a plurality of energy consumption conditions. In some implementations, the set of signals may be determined in whole or in part by an operator of the energy management platform 102. The set of signals may be stored in a library internal or external to the energy management platform 102. In some cases, the set of signals may grow, shrink, and / or change over time. For example, the amount of signals in the set of signals may be modified based on machine learning algorithms for classifying energy consumption conditions. In some embodiments, energy utilities, such asUtilities, create their own signals and make these signals available to the energy management platform 102 for use in addition to or instead of the set of signals determined by the operator of the energy management platform 102.

[0131] At block 704, the example method 700 may determine signal values for the set of signals. In some cases, a plurality of N-dimensional representations for the plurality of energy consumption conditions may be generated based on the signal values. Furthermore, each N-dimensional representation may have N dimensions corresponding to a signal magnitude of the set of signals.

[0132] At block 706, the example method 700 may apply machine learning to the signal values to determine energy consumption conditions associated with non-technical losses. In some cases, applying machine learning to the signal values may include applying at least one machine learning algorithm to the plurality of N-dimensional representations to create a classification model for determining non-technical losses. In some embodiments, the classification model may be modified, refined, and / or improved over time. Additional details of the example method 700 have been discussed above and will not be repeated here.

[0133] It is further contemplated that there may be many other uses, applications, and / or variations to the various embodiments of the present disclosure.

[0134] Fig.8 shows an exemplary device 800 in which a set of instructions may be executed to cause the device to perform one or more of the embodiments described herein, according to an embodiment of the present disclosure. The device may be connected (e.g., networked) to other devices. In a networked deployment, the device may operate in the capacity of a server or client machine in a client-server network environment, or as a peer device in a peer-to-peer (or distributed) network environment.

[0135] Device 800 includes a processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), main memory 804, and non-volatile memory 806 (e.g., volatile RAM and non-volatile RAM) that communicate with each other via a bus 808. In some embodiments, device 800 may be, for example, a desktop computer, a laptop computer, a PDA (personal digital assistant), or a mobile phone. In one embodiment, device 800 also includes a video display 810, an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), a drive unit 816, a signal generation device 818 (e.g., a speaker), and a network interface device 820.

[0136] In one embodiment, video display 810 includes a touch-sensitive screen for user input. In one embodiment, the touch-sensitive screen is used instead of a keyboard and mouse. Disk drive unit 816 includes a machine-readable medium 822 storing one or more sets of instructions 824 (e.g., software) embodying one or more of the methods or functions described herein. Instructions 824 may also reside, in whole or in part, in main memory 804 and / or processor 802 while being executed by computer system 800. Instructions 824 may further be transmitted or received by network interface device 820 over a network 840. In some embodiments, machine-readable medium 822 also includes a database 825.

[0137] The RAM may be implemented as dynamic RAM (DRAM), which requires constant power to refresh or maintain the data in memory. Non-volatile memory is typically a magnetic disk drive, a magnetic-optical drive, an optical drive (such as a DVD-RAM), or another type of storage system that retains data even when power is interrupted. Non-volatile memory may also be random access memory. Non-volatile memory may be a local device directly coupled to the rest of the components in the data processing system. Non-volatile memory remote from the system may also be used, such as network storage connected to one of the data processing systems described herein through a network interface such as a modem or Ethernet interface.

[0138] While the machine-readable medium 822 is depicted as a single medium in an exemplary embodiment, the term "machine-readable medium" should be construed to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store the one or more instruction sets. The term "machine-readable medium" should also be understood to encompass any medium capable of storing, encoding, or carrying a set of instructions for execution by the device and causing the device to perform one or more of the methods of the present disclosure. Accordingly, the term "machine-readable medium" includes, but is not limited to, solid-state storage, optical and magnetic media, and carrier wave signals.The term “memory module” as used herein may be implemented using a machine-readable medium.

[0139] In general, the routines executed to implement the embodiments of the present disclosure may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions, referred to as "programs" or "applications." For example, one or more programs or applications may be used to perform specific processes described herein. The programs or applications typically include one or more instructions input at various times to various memories and storage devices in the device, and when executed, read and executed by one or more processors that cause operations to be performed to carry out elements incorporating the various aspects of the embodiments described herein.

[0140] The executable routines and data may be stored in various locations, such as ROM, volatile RAM, non-volatile memory, and / or cache. Portions of these routines and / or data may be stored in any of these storage devices. In addition, the routines and data may be obtained from central servers or peer-to-peer networks. Different portions of the routines and data may be retrieved from different central servers and / or peer-to-peer networks at different times and in different communication sessions, or within the same session. The routines and data may be retrieved in their entirety before application execution. Alternatively, portions of the routines and data may be obtained dynamically, just in time, when they are needed for execution. Thus, there is no requirement that the routines and data be present in their entirety on a machine-readable medium at any given time.

[0141] Although the embodiments have been described entirely in the context of devices, those skilled in the art will understand that the various embodiments may be distributed as a program product in a variety of forms, and that the embodiments described herein apply equally regardless of the particular type of machine- or computer-readable media used for actual distribution. Examples of machine-readable media include, but are not limited to, writable media such as volatile and non-volatile storage devices, floppy disks and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD-ROMs), Digital Versatile Disks (DVDs), etc.), and transmission media such as digital and analog communications links.

[0142] Alternatively, or in combination, the embodiments described herein may be implemented using special-purpose circuitry with or without software instructions, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs). The embodiments may be implemented with hardwired circuitry without software instructions or in combination with software instructions. Thus, the techniques are not limited to any particular combination of hardware circuitry, any particular software, or any particular source of instructions executed by the computing system.

[0143] For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. However, it will be apparent to one skilled in the art that embodiments of the disclosure may be practiced without these specific details. In some cases, modules, structures, processes, features, and devices are shown in block diagram form so as not to obscure the description. In other cases, functional block diagrams and flowcharts are shown to illustrate data and logic flows. The components of block diagrams and flowcharts (e.g., modules, engines, blocks, structures, devices, features, etc.) may be variously combined, separated, removed, rearranged, and substituted, and in ways other than as expressly described and illustrated herein.

[0144] References in this specification to "a single embodiment," "an embodiment," "other embodiments," "another embodiment," or the like mean that a particular feature, design, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the disclosure. The phrases "according to an embodiment," "in a single embodiment," "in an embodiment," or "in another embodiment" appearing in various places throughout the specification do not necessarily all refer to the same embodiment, nor do separate or alternative embodiments mutually exclude other embodiments.Furthermore, regardless of whether explicit reference is made to an "embodiment" or the like, various features are described that may be combined and included in various ways in some embodiments, but may be variously omitted in other embodiments. Similarly, various features are described that may be desirable or required for some embodiments but not for other embodiments.

[0145] Although the embodiments have been described with reference to certain exemplary embodiments, it will be apparent that various modifications and changes can be made to these embodiments. Accordingly, the description and drawings are to be regarded in an illustrative rather than a restrictive sense. The foregoing specification provides a description with reference to certain exemplary embodiments. It will be apparent that various changes can be made therein without departing from the spirit and scope as set forth in the following claims. The description and drawings are accordingly to be regarded in an illustrative rather than a restrictive sense.

[0146] Although some of the drawings depict a series of operations or method steps in a particular order, steps that are not dependent on the order may be rearranged, and other steps may be combined or omitted. While some rearrangements or other groupings are explicitly mentioned, others will be obvious to one skilled in the art and therefore do not represent an exhaustive list of alternatives. Furthermore, it should be recognized that the steps may be implemented in hardware, firmware, software, or a combination thereof.

[0147] It should also be understood that numerous changes may be made without departing from the essence of the present disclosure. Such changes are also implicit in the description. They still fall within the scope of the present disclosure. It should be understood that this disclosure is intended to obtain a patent covering numerous aspects of the disclosed technology, both independently and as a complete system, and both as a method and as an apparatus.

[0148] Moreover, each of the various elements of the present disclosure and claims may also be achieved in various ways. This disclosure should be construed to encompass each of these variations, whether a variation of an embodiment of an apparatus, method, or process embodiment, or even a variation of an element thereof.

Claims

[1] System comprising: at least one processor; and a memory that stores instructions that, when executed by the at least one processor, cause the system to: Determining first signal values for a selected set of signals relating to a first plurality of energy consumption conditions, the selected set of signals including a consumption decrease signal corresponding to a numerical decrease in energy consumption measured by an energy meter compared to an average measured energy consumption; Generating a first plurality of N-dimensional representations for the plurality of energy consumption conditions based on the determined first signal values, each first N-dimensional representation corresponding to an energy consumption condition and including a dimension corresponding to a signal value determined for the consumption decrease signal, and Applying a trained machine learning-based classification model to the first plurality of N-dimensional representations to determine energy consumption conditions associated with non-technical losses, wherein energy consumption conditions associated with non-technical losses are associated with irregular energy consumption, and wherein the trained machine learning-based classification model is a model trained by applying at least one machine learning algorithm to a second plurality of N-dimensional representations for a second plurality of energy consumption conditions, wherein the second plurality of N-dimensional representations are generated based on second signal values for the selected set of signals to generate the classification model for determining non-technical losses. [2] The system of claim 1, wherein the instructions, when executed by the at least one processor, further cause the system to: Applying the at least one machine learning algorithm to the second plurality of N-dimensional representations to generate the classification model for determining non-technical losses. [3] The system of claim 1 or 2, wherein the instructions, when executed by the at least one processor, further cause the system to select, by the data processing system, the selected set of signals relating to the plurality of power consumption conditions. [4] A system according to any one of claims 1 to 3, wherein N represents the number of signals in the selected set of signals. [5] The system of any one of claims 1 to 4, wherein the trained classification model is configured by the application of the at least one machine learning algorithm to classify a first portion of the first plurality of N-dimensional representations as corresponding to a non-technical loss within a permissible N-dimensional proximity to second N-dimensional representations previously identified as corresponding to a non-technical loss. [6] The system of claim 5, wherein the trained classification model is further configured, through the application of the at least one machine learning algorithm, to classify as corresponding to normal energy consumption at least a second portion of the first plurality of N-dimensional representations within an allowable N-dimensional proximity to second N-dimensional representations previously identified as corresponding to normal energy consumption. [7] The system of any preceding claim, wherein the trained machine learning-based classification model comprises a support vector machine, a boosted decision tree, a classification tree, a regression tree, a bagging tree, a random forest, a neural network, and / or a rotation forest. [8] The system of any preceding claim, wherein the instructions, when executed by the at least one processor, further cause the system to: Determining a plurality of energy meters associated with energy consumption conditions of the first plurality of energy consumption conditions that are likely to be associated with non-technical losses; and Classify the multitude of energy meters based on the probabilities that they are associated with non-technical losses. [9] The system of claim 8, wherein the instructions, when executed by the at least one processor, further cause the system to: Determining that at least some of the plurality of counters satisfy a particular ranking of thresholds; and Identify at least some of the multitude of consumption meters as candidates for investigation. [10] A system according to any preceding claim, wherein one or more signals in the selected set of signals are associated with an account attribute signal category, a calculated status signal category, a current analysis signal category, a missing data signal category, a broken connection signal category, a meter event signal category, a monthly meter abnormal load signal category, a monthly inactivity meter consumption signal category, a failure signal category, a stolen meter signal category, an unusual production signal category, a work order signal category, and / or a zero reading signal category. [11] The system of any preceding claim, wherein the instructions, when executed by the at least one processor, further cause the system to: capturing a set of formulas for the selected set of signals, each formula in the set of formulas corresponding to a respective signal in the set of signals; and Determine the signal values for the set of signals based on the set of formulas. [12] A system according to any preceding claim, wherein a signal in the selected set of signals is based on an analysis of active and reactive power data. [13] The system of claim 12, wherein the signal based on an analysis of active and reactive power data can characterise irregular fluctuations in consumption patterns on a year-on-year basis. [14] The system of any preceding claim, wherein the instructions, when executed by the at least one processor, further cause the system to: report the detected energy consumption conditions associated with non-technical losses to one or more locations associated with the particular energy consumption condition. [15] The system of claim 14, wherein reporting the detected energy consumption conditions associated with non-technical losses comprises a graphical representation of the analysis of the detected energy consumption condition for presentation by a data processing system. [16] System comprising: at least one processor; and a memory that stores instructions that, when executed by the at least one processor, cause the system to: Determining signal values for a selected set of signals relating to a plurality of energy consumption conditions, the selected set of signals including a consumption decrease signal corresponding to a numerical decrease in energy consumption measured by an energy meter compared to an average measured energy consumption; Generating a plurality of N-dimensional representations for the plurality of energy consumption conditions based on the determined set of signal values, each N-dimensional representation corresponding to an energy consumption condition and including a dimension corresponding to a signal value determined for the consumption decrease signal, and Applying a machine learning algorithm to the plurality of N-dimensional representations to generate a classification model for determining energy consumption conditions associated with non-technical losses, wherein energy consumption conditions associated with non-technical losses are associated with irregular energy consumption. [17] The system of claim 16, wherein applying the machine learning algorithm to generate the classification model comprises a supervised process based on a first portion of the plurality of N-dimensional representations previously identified as corresponding to a non-technical loss. [18] The system of claim 17, wherein the monitored process is further based on a second portion of the plurality of N-dimensional representations previously identified as corresponding to normal energy consumption. [19] The system of claim 16, wherein applying the machine learning algorithm to generate the classification model comprises an unsupervised process. [20] The system of claim 19, wherein the unsupervised process comprises classifying high-density clusters of N-dimensional representations as corresponding to normal power consumption and classifying N-dimensional representations substantially separated from the high-density clusters as corresponding to non-technical loss. [21] The system of any one of claims 16 to 20, wherein the instructions, when executed by the at least one processor, further cause the system to: Receiving new signal values for the selected set of signals, the new signal values being associated with a particular power consumption condition; Generating a new N-dimensional representation for the particular energy consumption condition based on the new signal values; and Classify the new N-dimensional representation based on the classification model. [22] The system of claim 21, wherein the instructions, when executed by the at least one processor, further cause the system to: Apply the machine learning algorithm to the new N-dimensional representation to modify the classification model. [23] Non-transitory computer-readable storage medium containing instructions that, when executed by at least one processor of a data processing system, cause the data processing system to: Determining first signal values for a selected set of signals relating to a first plurality of energy consumption conditions, the selected set of signals including a consumption decrease signal corresponding to a numerical decrease in energy consumption measured by an energy meter compared to an average measured energy consumption; Generating a first plurality of N-dimensional representations for the plurality of energy consumption conditions based on the determined first signal values, each first N-dimensional representation corresponding to an energy consumption condition and including a dimension corresponding to a signal value determined for the consumption decrease signal, and Applying a trained machine learning-based classification model to the first plurality of N-dimensional representations to determine energy consumption conditions associated with non-technical losses, wherein energy consumption conditions associated with non-technical losses are associated with irregular energy consumption, and wherein the trained machine learning-based classification model is a model trained by applying at least one machine learning algorithm to a second plurality of N-dimensional representations for a second plurality of energy consumption conditions, wherein the second plurality of N-dimensional representations are generated based on second signal values for the selected set of signals to generate the classification model for determining non-technical losses.