This application relates to the technical fields of software and/or hardware technology and, in one example embodiment, to system and method to determine customer segmentation based on smart meter data.
With the advent of Smart Grid technology and Advanced Metering Infrastructure (AMI) utility companies now have an opportunity to analyze the actual energy consumption patterns of their customers. AMI data may be collected by so-called smart meters. A smart meter is a device that can be installed at the customer's premises that collects, periodically, consumption of electric energy and automatically communicates this collected information to the utility company. A smart meter may be configured to collect energy consumption information in certain intervals, e.g., in intervals of an hour or less.
The analysis of consumption patterns based on actual AMI data represents a major technical challenge due to the sheer scale of the problem: millions of customers multiplied by energy consumption reading occurring as often as at fifteen minute intervals. As a result, marketing departments of utility companies have to rely on simple consumption measurements (such as, e.g., average monthly energy consumption by a customer) and master data attributes (such as, e.g., geographical location of a customer) in order to segment the customers and market energy products and services to them.
Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numbers indicate similar elements and in which:
A method and system to determine customer segmentation based on smart meter data is described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of an embodiment of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Similarly, the term “exemplary” is construed merely to mean an example of something or an exemplar and not necessarily a preferred or ideal means of accomplishing a goal. Additionally, although various exemplary embodiments discussed below may utilize Java-based servers and related environments, the embodiments are given merely for clarity in disclosure. Thus, any type of server environment, including various system architectures, may employ various embodiments of the application-centric resources system and method described herein and is considered as being within a scope of the present invention.
Method and system are provided for using smart meter data—energy consumption data collected periodically with high frequency—to segment energy customers (or electronic profiles of energy customers) into groups. Segmentation of customers may be achieved by using data reflecting distribution of energy usage among the customers. For example, a histogram may be used to segment customers based on their respective energy consumption during peak hours (e.g., between 8 AM and 6 PM). Another approach to segmentation may utilize revenue, cost, and profit data attributed to individual customers based on smart meter data. For example, a customer may be assigned a value score based on the energy cost attributed to the customer, and the customer profiles may be segmented based on the customer's respective value scores. Some examples of calculations involved in generating a value score for a customer are described further below, with reference to
Another approach to segmentation includes utilizing consumption percentile filter parameters to select customers based on key consumption measures in terms of percentile. An example segmentation application may be configured to permit a user select customer profiles based on a certain percentile with respect to energy consumption. For example, a user may be permitted to select a certain top/bottom percent of customers characterized by high/low energy consumption measured in kWh. The percentile-based filtering may be used for a certain time period, e.g., during peak hours, during off-peak hours, etc. Furthermore a segmentation application may be configured to permit a user to toggle between daily average vs. monthly average vs. total with respect to consumption measures. The average energy consumption value may be calculated by averaging the energy consumption measurements collected during the specified days. For example, if the months of July and August are selected via the global date selector, only those days are used to calculate these average energy consumption measures or the total energy consumption measure.
Yet another approach to segmentation includes utilizing statistical analysis for pattern recognition that allows the utility companies to segment customers with a certain level of precision and provide insight into the energy usage patterns of individual customers. In one example embodiment, such method and system are implemented as a segmentation application that is configured to apply statistical clustering and pattern recognition techniques to the voluminous energy consumption data collected by smart meters and, based on the results of the processing, generate so-called pattern profiles (also termed clusters) that represent energy usage patterns in the course of a period of time (e.g., a 24 hour period, a day, a week, etc.). With the insight provided by these pattern profiles, the customers (or rather profiles or accounts representing respective energy customers) may be grouped based on their associated energy usage patterns.
The smart meter data may be represented in the form of value-days, where a value-day comprises energy consumption measurements for a customer at different times during a 24-hour period. A value day may thus be viewed as represented by a curve having a shape determined by a plurality of time/energy consumption value pairs. Each value day is associated with a profile of a particular energy customer. Conversely, a customer profile may be associated with energy consumption data in the form of value days. A cluster of value days (also termed a pattern profile), created by applying one of a variety of statistical clustering algorithms (one example of which being the k-means algorithm) to a set of value days, contains those value days that have curves of similar shapes and thus represent a particular energy usage pattern. An example user interface 100 showing pattern profiles may be described with reference to
After the clusters have been determined, the segmentation application may examine customer profiles associated with a group of customers to determine, for a particular customer profile, which cluster most closely reflects the customer's energy usage pattern. The system may be configured to determine that a particular customer profile is to be associated with a particular cluster by determining whether a certain percentage of value days associated with the customer profile (and the time frame specified for the cluster) are from that particular cluster. A segmentation application may be configured to determine that two value days are similar enough to be in the same cluster based on absolute values of energy measurements. Alternatively, a segmentation application may be configured to determine that two value days are similar enough to be in the same cluster based on normalized values of energy measurements, such that the shapes of the curves associated with respective value days are being compared. In area 120, there provided controls for selecting a percentage threshold for a pattern profile in the column labeled “Threshold.” For example, as can be seen in area 120, those customer profiles, for which 70% of the value days collected for a specified period are associated with the pattern profile with the ID “1.0” (that corresponds to the curve identified by reference numeral 112), are also identified with that pattern profile.
In one example embodiment, a user interface illustrating a graph associated with a particular pattern profile may also include a graphical representation, termed a multi-dimensional chart (MDC chart), of statistics associated with energy customers' profiles that have been identified as associated with that pattern profile. An MDC chart is a stacked bar chart with each bar representing a dimension in a customer profile (e.g., business partner type, product category, etc.). Each stack is a dimension value (e.g., residential customer or product XYZ) and the size of each stack represents the % of its contribution, where the entire bar adds up to 100%.
In one embodiment, a segmentation application supports the following three example use cases of MDC charts. First, the composition of the current filter selection may be characterized by displaying the percentage/count of different values in a dimension. For example, 80% or 1948 customers are on Tariff X in the current selection. Second, an additional filter criterion may be selected by clicking on a stack to apply the selected stacks as additional filter criteria. For example, a user may drag-select Tiered rate X and Tiered Rate Y and use these as additional filter selection criteria (in addition to whatever has already been applied). Third, an MDC chart data generated for one segment may be compared with MDC data generated for a different segment. For example, 80% or 1948 customers are on Tariff X in the current selection may be compared to 60% or 20,000 customers on Tariff X in segment XYZ (a segment that the user selects as the basis of comparison). Some of the dimensions that may be supported by a segmentation application are shown in Table 1 below.
In some embodiments, smart meter data may also be used to generate histograms. A histogram chart is a technique to show the underlying composition of the customer selection based on a sorted measure or a value score. A histogram chart may be used for data visualization and interaction as an available choice across all filters. In some embodiments, a segmentation application may be configured to permit a user to select any measure to be graphed on the X axis, where the number of customers is displayed as the Y axis for the bins/bars. A segmentation application may automatically scale the chart to show the histogram with the right number of bins (i.e., the bars in the chart). For example, the user selects monthly consumption as the measure and the underlying data has a range between 500 to 3000 kWh. The segmentation application, based on this data and the screen resolution, determines that 25 bars or bins, each covering a range of 100 kWh, should be graphed on the chart. A segmentation application may be configured to permit a user to select a specific range of values and view a preview of the number of customers. For example, a user may select a range of 1000 to 1500 kWh from the previous example using this chart, and this particular selection is added to the overall filters.
A histogram may thus be used to illustrate energy consumption ranges by customers during a selected period of time. An example user interface 300 comprising a histogram illustrating how many energy customers utilize respective amounts of energy during a particular month is shown in
Smart meter data may also be used to identify customers responsible for the need to purchase energy on the spot market. These may be the customers that use energy in a manner that deviates from a predicted energy pattern. In one example embodiment, a segmentation application may be configured to access energy revenue data for a period of time and also access energy purchase cost information for the period of time. The revenue may be calculated by multiplying the amount of consumed energy by the rate charged per energy unit. The energy purchase cost information may include cost of energy purchased in advance and also the cost of energy purchased on the spot market. The smart meter data collected for a particular customer during a period of time, together with the revenue and cost data associated with that customer, may be used to determine relationship of the energy purchase cost for the period of time and the smart meter data for the customer. Thus, the segmentation application may be configured to identify particular customers that caused higher energy costs for the energy company (e.g., by consuming more than the predicted amounts of energy during the peak hours).
In one embodiment, a customer may be assigned a value score reflecting the relationship of the energy purchase cost for the period of time and the smart meter data for the customer. The assigned value score may be recorded in the customer's profile and may be calculated as a daily measure (i.e., each customer at any given day has a specific value score value). A value score may be calculated based on profitability, revenue, and cost-related customer scores. The types of scores that may be used in calculating a value score may be provided out-of-box and are shown in Table 2 below.
In one embodiment, the rate values (ratei), the energy cost values (energycost), and the daily cost to serve values (DailyCost2Serve) are data imports. The value scores stored in respective customer profiles may be used to filter customer profiles for specific profitability score. An example user interface 400, provided by a segmentation application, the user interface 400 comprising a histogram illustrating how many energy customers have been assigned a particular value score is shown in
As shown in
A static time period is characterized by a specific or fixed time selection. Regardless of when the segment is queried or exported, those customer profiles specifically meeting criteria during this specific time range are selected. For example, the time frame filter may be used to select all those customers who were on a certain tariff during the summer of 2010. The segmentation application may be configured to permit a user to choose a specific time range, to filter the selected time frame by specific day(s) of the week and/or by weekday and weekends, by specific dates in a calendar, etc. In some embodiments, the segmentation application may be configured to also permit a user to select those specific days that are higher/lower in terms of temperature, spot market prices, or overall consumption. The segmentation application may be configured to support the daily statistics such as daily temperature (min, max, average) for a specific region, spot market price, overall consumption (from all customers profiles accessible by the segmentation application).
A dynamic period is characterized by a rolling period that is ends on the most current date (e.g., the last data load) and starts a fixed number of days prior to the most current date. A user may be permitted to choose the most current date (e.g., the last data load), a preset period, year-to-date, quarter-to-date, month-to-date, rolling number of months or days (e.g., the last 12 months, the last 30 days, etc.), and a time period starting with any specific date and ending on the most current date. For example, if a date range of Jul. 1, 2010 and Jul. 31, 2010 is selected, this date range criterion is applied to any subsequent measure-based filter selections.
An example method and system to determine customer segmentation based on energy consumption patterns may be implemented in the context of a network environment 500 illustrated in
The client system 550 may utilize a browser application 512 to access the segmentation application 542 via a browser application 512 executing on the client system 510 via a communications network 530. The communications network 530 may be a public network (e.g., the Internet, a wireless network, etc.) or a private network (e.g., a local area network (LAN), a wide area network (WAN), Intranet, etc.). In some embodiments, a segmentation application may be executing locally with respect to a client system, such as, e.g., a segmentation application 522 executing on the client system 520. An example embodiment of a segmentation application is illustrated in
The clustering module 612 may be configured to group the value days associated with a certain period of time into a set of clusters (also termed pattern profiles). A cluster thus comprises a subset of the value days associated with the certain period of time (e.g., the time frame selected via a graphical user interface). In one embodiment, the clustering module 612 is configured to perform grouping of the plurality of value days into a set of clusters periodically, e.g., on a weekly or monthly basis.
The matching module 614 may be configured to identify a customer profile as associated with a cluster from the set of clusters based on results of examining value days associated with the customer profile. In one embodiment, a customer profile is determined to be associated with a particular cluster if a predetermined portion or percentage of the value days associated with the customer profile are from the cluster. A user may be permitted to specify the threshold percentage for identifying a customer profile with a particular cluster, e.g., my means of the user interface 100 illustrated in
The system 600 may further include a histogram module 616 and a multi-dimensional chart module 618. The histogram module 616 may be configured to generate a histogram illustrating respective numbers of customers associated with ranges of energy consumption during a time period within a 24 hour period. As mentioned above, an example user interface showing such histogram is shown in
The system 600 may also include a value score module 620. The value score module 620 may be configured to determine, utilizing smart meter data, as well as energy cost and energy revenue data, a value score to be associated with a customer profile. Example methods performed by the system 600 can be described with reference to
As shown in
As shown in
An example screen flow 900 that may be provided with a segmentation application is shown in
The example computer system 1000 includes a processor 1002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1004 and a static memory 1006, which communicate with each other via a bus 10010. The computer system 1000 may further include a video display unit 1010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1000 also includes an alpha-numeric input device 1012 (e.g., a keyboard), a user interface (UI) navigation device 1014 (e.g., a cursor control device), a disk drive unit 1016, a signal generation device 1018 (e.g., a speaker) and a network interface device 1020.
The disk drive unit 1016 includes a machine-readable medium 1022 on which is stored one or more sets of instructions and data structures (e.g., software 1024) embodying or utilized by any one or more of the methodologies or functions described herein. The software 1024 may also reside, completely or at least partially, within the main memory 1004 and/or within the processor 1002 during execution thereof by the computer system 1000, with the main memory 1004 and the processor 1002 also constituting machine-readable media.
The software 1024 may further be transmitted or received over a network 1026 via the network interface device 1020 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).
While the machine-readable medium 1022 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken 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 sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing and encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of embodiments of the present invention, or that is capable of storing and encoding data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like.
The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware. Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is, in fact, disclosed.
Thus, a method and system to determine customer segmentation based on smart meter data has been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the inventive subject matter. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.