Predictive segmentation of energy customers
The predictive segmentation technique enhances energy utility customer engagement by using machine learning to identify optimal segments, maximizing effectiveness and ensuring clear definitions of customer subgroups likely to respond to targeted communications, doubling registration rates.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- C3 AI INC
- Filing Date
- 2024-11-01
- Publication Date
- 2026-07-03
AI Technical Summary
Existing energy utility customer segmentation methods rely on fixed rules derived from anecdotal experiences, lacking predictive power and effectiveness in targeting specific communication strategies to increase customer engagement and participation in energy efficiency programs.
A predictive segmentation technique using consumption, demographic, and program registration data, employing standard machine learning techniques to identify optimal customer segments by iteratively maximizing the minimum effectiveness of pattern allocation, utilizing linear integer programming and decision trees to define segments that are both homogeneous and predictive of desired outcomes.
The method achieves twice the registration probability of the mean population, providing a transparent and intuitive segmentation strategy that maximizes the effectiveness of targeted communications, ensuring clear and intuitive definitions of customer subgroups likely to take action.
Smart Images

Figure 0007884577000102 
Figure 0007884577000103 
Figure 0007884577000104
Abstract
Description
[Technical Field]
[0001] (Field of Invention) This application claims the benefits of U.S. Provisional Application No. 62 / 269,793, filed on 18 December 2015, entitled “Predictive Segmentation of Energy Consumers,” the entirety of which is incorporated herein by reference.
[0002] This invention relates to a computer algorithm for analyzing energy consumers. [Background technology]
[0003] In recent years, energy utilities have increasingly focused on improving their relationships with customer bases that previously had no connection to their electricity suppliers. Historically, both energy companies and their consumers understood the utility's role as simply "keeping the light on." However, current technological trends and shifts in customer thinking (particularly exacerbated by the rise of consumer-facing internet companies that excel at understanding and predicting customer preferences) are leading to increased interest in customer engagement within utilities.
[0004] These trends, combined, result in increased data availability (both high-granularity consumption data collected through sensing infrastructure such as smart meters and other "metadata" about the consumers themselves) and computational methods for processing this data (e.g., Li and Yang (2015), Liu and Nielsen (2015)). Therefore, energy utilities are increasingly relying on analytical techniques that can provide ways to increase their customer satisfaction and engagement and participation in environmentally friendly programs within their customer base. Customer segmentation is a cornerstone of marketing toolboxes for organizations of all sizes, as a technique for understanding customers and, accordingly, identifying how to act. It is used primarily in marketing (a comprehensive review can be found in The Association (2014)), online advertising (e.g., Yan et al. (2009)), or e-retail (e.g., Bhatnagar and Ghose (2004)), to name a few applications.
[0005] As public utilities aim to develop more personal and modern relationships with their customers, they are increasingly embracing segmentation as a means of reviewing their communications about efficiency measures and other programs to increase participation and engagement. Most market segmentation techniques employed actually focus on applying a fixed set of rules. For example, consumers living in large homes and having children are assigned to the “high-consumer” category, while those who subscribe to environmental magazines belong to the “environmental advocate” group. Typically, these rules are derived from counterfactual or anecdotal experiences, behavioral studies, or small-scale psychological experiments and are, in practice, considered “public fact.” Because they are the result of extracted expertise, such segmentation strategies are certainly useful, and their theory and practice should be made public.
[0006] The approach described herein provides an improved approach for segmenting energy consumers. [Overview of the Initiative] [Means for solving the problem]
[0007] This application introduces a predictive segmentation technique for identifying subgroups within a large population that are both homogeneous with respect to specific patterns in customer attributes and predictive of desired outcomes. The motivating setting is to create a highly intuitive, and in some sense optimal, segmentation and targeting process for the customers of an energy utility company. In this setting, the energy utility company desires to design a small number of message types to be sent to appropriately selected customers who are most likely to respond to different types of communication. The proposed method uses consumption, demographic, and program registration data and employs standard machine learning techniques to extract basic predictive patterns. The method then defines a viable potential allocation of patterns to a small number of segments, described by expert guidelines and hypotheses about consumer characteristics available from previous behavioral studies. The algorithm then identifies the optimal allocation of patterns to both segments, which is both viable and maximizes predictive power. The method is implemented on a large dataset from major U.S. energy utilities, whose registration probability is twice that of the mean population, and which is described by a small number of simple, intuitive rules. The present invention provides, for example, the following: (Item 1) It is a method, The computer system receives multiple customer records, each containing attributes and customer adoption status. The computer system identifies a plurality of patterns, each pattern defining a grouping of customer records among the plurality of customer records according to the attributes of the plurality of customer records. A step of assigning the plurality of patterns among the plurality of segments by the computer system such that each of the plurality of patterns is assigned to one of the plurality of segments, wherein the step of assigning the plurality of patterns among the plurality of segments is performed according to an algorithm that iteratively increases the minimum validity with respect to the plurality of segments, the validity of each segment being a function of the acceptance status of the customer records among the plurality of customer records that match the patterns among the plurality of patterns distributed among the respective segments, Methods that include... (Item 2) The algorithm is the method described in item 1, which includes the step of solving the equation LFIP-F. (Item 3) The method according to item 2, wherein the algorithm includes the step of solving a linear integer programming feasibility problem according to binary search algorithm 1. (Item 4) The method according to item 1, wherein each of the aforementioned multiple patterns is provided with a threshold value for each of the attributes of the aforementioned pattern. (Item 5) The method according to item 1, wherein the step of identifying the plurality of patterns includes the step of processing the plurality of customer records according to a decision tree. (Item 6) The step of identifying the plurality of patterns is, The steps include processing the multiple customer records according to the decision tree to obtain an initial pattern set, The steps include selecting from the initial pattern set to obtain the multiple patterns, The method described in item 1, including the method described in item 1. (Item 7) The step of selecting from the initial pattern set to obtain the multiple patterns is: A step of removing patterns that have support below the minimum support, wherein the support of each pattern in the set of patterns indicates the number of customer records that match each pattern. The method according to item 6, including (Item 8) The step of selecting the initial pattern set and obtaining the plurality of patterns includes The step of removing patterns having an effectiveness below the minimum effectiveness, wherein the effectiveness of each pattern in the set of patterns indicates the ratio of customer records matching each pattern having a positive adoption status The method according to item 7, including (Item 9) The method according to item 8, wherein the minimum effectiveness is a multiple greater than 1 of the ratio of all customer records among the plurality of customer records having a positive adoption status (Item 10) The method according to item 9, wherein the multiple is at least 2 (Item 11) 。 The step of selecting the initial pattern set and obtaining the plurality of patterns includes removing each pattern of the initial pattern set having a set of customer records among the plurality of customer records matching each pattern such that those exceeding the maximum percentage of the set of customer records match another pattern of the initial pattern set. The method according to item 6 (Item 12) The method according to item 11, wherein the maximum percentage is 60 - 75 percent (Item 13) The effectiveness of each segment is further a function of the coverage matrix of each pattern assigned to each segment. The coverage matrix of each pattern has a value of 1 / n for each customer record among the plurality of customer records matching each pattern, and n is the number of patterns among the plurality of patterns matched by each customer record. The method according to item 1 (Item 14) A system comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, wherein the one or more memory devices store executable code, and the executable code is transmitted to one or more processors. The steps include receiving multiple customer records, each including attributes and the customer's adoption status, A step of identifying multiple patterns, wherein each pattern defines a grouping of customer records among the multiple customer records according to the attributes of the multiple customer records, A step of assigning the plurality of patterns to a plurality of segments such that each of the plurality of patterns is assigned to one of the plurality of segments, and the plurality of patterns are distributed among the plurality of segments according to an algorithm that seeks to maximize the minimum effectiveness of the plurality of segments, wherein the effectiveness of each segment is a function of the adoption status of the customer records among the plurality of customer records that match the pattern among the plurality of patterns distributed among the segment A system that is effective in performing a certain action. (Item 15) The algorithm is the system described in item 14, which includes the step of solving the linear integer programming feasibility problem according to equation LFIP-F using binary search algorithm 1. (Item 16) The system according to item 14, wherein each of the multiple patterns has a threshold value for each of the attributes of each pattern. (Item 17) The executable code further runs on one or more processors: The steps include processing the multiple customer records according to the decision tree to obtain an initial pattern set, The steps include selecting from the initial pattern set to obtain the multiple patterns, The system described in item 14, which allows the user to identify the aforementioned multiple patterns. (Item 18) The executable code further runs on one or more processors: A step of removing patterns that have support below the minimum support, wherein the support of each pattern in the set of patterns indicates the number of customer records that match each pattern, A step of removing patterns having an effectiveness below a minimum effectiveness, wherein the effectiveness of each pattern in the set of patterns represents the percentage of customer records that match each pattern having a positive adoption status. A step of removing each pattern in the initial pattern set that has a set of customer records from among the plurality of customer records that matches each pattern, such that the maximum percentage of the set of customer records exceeds the maximum percentage of the set of customer records that also matches another pattern in the initial pattern set. The system described in item 17 is effective for selecting from the initial pattern set and obtaining the multiple patterns. (Item 19) The system according to item 18, wherein the aforementioned multiple is at least 2. (Item 20) The executable code is further useful in causing the one or more processors to calculate the effectiveness of each segment as a function of an exhaustive matrix of each pattern assigned to each segment, the exhaustive matrix of each pattern having a value of 1 / n for each customer record among the plurality of customer records that match each pattern, where n is the number of patterns among the plurality of patterns that match each customer record, as described in item 14. [Brief explanation of the drawing]
[0008] To facilitate understanding of the advantages of the present invention, a more specific description of the invention, which is briefly outlined above, will be provided by reference to the specific embodiments illustrated in the accompanying drawings. Under the understanding that these drawings depict only typical embodiments of the invention and are therefore not intended to limit its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings.
[0009] [Figure 1] Figure 1 is a schematic block diagram of components for implementing customer predictive segmentation according to one embodiment of the present invention.
[0010] [Figure 2] Figure 2 is a schematic block diagram of the computing device.
[0011] [Figure 3] Figure 3 is a process flow diagram of a method for performing predictive segmentation according to one embodiment of the present invention.
[0012] [Figure 4] Figure 4 is a schematic diagram illustrating the decision tree extracted from customer data.
[0013] [Figure 5] Figure 5 is a plot of the distribution of pattern effectiveness versus the number of rules.
[0014] [Figure 6] Figure 6 is a graph showing predictor variables for describing energy customer registration.
[0015] [Figure 7] Figure 7 is the feasibility matrix for patterns to be assigned to customer segments.
[0016] [Figure 8] Figure 8 is a plot showing the distribution of overlap between patterns.
[0017] [Figure 9] Figure 9 shows an example of a pattern associated with two segments.
[0018] [Figure 10] Figure 10 is a plot of segment effectiveness versus the lower and upper limits of the number of repetitions.
[0019] [Figure 11] Figure 11 illustrates the pattern / segment allocation matrix.
[0020] [Figure 12] Figure 12 illustrates the overlap of segments.
[0021] [Figure 13] Figure 13 is another schematic diagram illustrating segment overlap.
[0022] [Figure 14] Figure 14 shows a list of segments and the corresponding patterns according to the segmentation algorithm.
[0023] [Figure 15] Figure 15 shows [ka] This plot shows the sensitivity analysis of the segmentation algorithm for [the specified segment].
[0024] [Figure 16] Figure 16 shows [ka] This is a plot of segment effectiveness related to the following:
[0025] [Figure 17] Figure 17 is a scatter plot of segment effectiveness as a function of segmentation complexity. [Modes for carrying out the invention]
[0026] 1. Operating Environment and Overview Referring to Figure 1, the method disclosed herein may be implemented by the illustrated operating environment 100. A server system 102 or other type of computer system may host or access the database 104. The server system 102 may also be replaced by a desktop or laptop computer, or even a mobile device with sufficient computing power. The database 104 may include customer records 106 relating to multiple customers. The method disclosed herein is described in relation to energy customers. Thus, each customer record 106 may include data relating to a single household or customer account, which may therefore include data relating to multiple individuals living together.
[0027] Customer record 106 may include such information as an identifier 108a for one or more customers in the form of name, account number, or other unique identifier. Customer record 106 may also include the customer's address 108b and demographic information 108c relating to one or more individuals associated with customer record 106, such as age, income, sex, occupation, education level, and any other information that may characterize the customer.
[0028] Where the methods disclosed herein are applied to an energy customer, the customer record 106 may further include usage data 108d, for example, hourly kilowatts used per year, month, or day. The usage data 108d may include daily, monthly, or seasonal usage patterns derived from an analysis of electricity consumption data. In other applications, the usage data 108d may include usage for another service or for the purchase of a specific item or necessities.
[0029] The customer record 106 may also include any other available data 108e about the customer that may be useful in identifying patterns describing types of customers and customer behavior.
[0030] The methods disclosed herein are used to analyze data and determine patterns in customer data (demographics, usage, and others) that predict customers taking certain actions. In the case of energy customers, this may include enrolling in an energy efficiency program or taking other measures to reduce consumption or, otherwise, reduce the customer's environmental impact. Thus, the customer record 106 may further include one or more adoption status indicators 108f indicating whether the customer has chosen to participate in a particular program. For example, status 108f may be 1 if the customer has chosen to participate, and 0 otherwise. In other embodiments, the adoption status may be one of a range of values indicating the degree of compliance with program guidelines or the amount of money spent for a particular purpose.
[0031] The database 104 may further store segments 110 having multiple patterns 112 assigned thereto. Each segment 110 has a validity 114, which is a measure of the number of customer records that have a positive adoption status 108f and match one of the patterns 112 assigned to segment 110.
[0032] Segment 110 may be defined by an analysis module 116 that implements the methods disclosed herein below. In particular, the analysis module 116 may include a pattern generation module 118a. The pattern generation module 118a identifies a set of attributes that occur simultaneously in a customer record. As described below, the patterns may be described in terms of thresholds for the values of various attributes in each customer record. Also, as described below, the patterns may be generated using a decision tree or other pattern recognition algorithm.
[0033] The analysis module 116 may further include a pattern pruning module 118b. As described below, the pattern pruning module 118b may prune patterns that do not meet the minimum support, effectiveness, or non-overlap criteria. The analysis module may also include a segmentation module 118c. The segmentation module 118c assigns the patterns 112 that survived pruning 118b to segments 110 such that a set of segments 110 is obtained in which the minimum effectiveness 114 of the segments is increased through an algorithm that distributes patterns among the segments.
[0034] Figure 2 is a block diagram illustrating an exemplary computing device 200. The computing device 200 may be used to perform various procedures, such as those discussed herein. The server system 102 may have some or all of the attributes of the computing device 200.
[0035] The computing device 200 includes one or more processors 202, one or more memory devices 204, one or more interfaces 206, one or more mass storage devices 208, one or more input / output (I / O) devices 210, and a display device 230, all of which are coupled to the bus 212. The processor 202 includes one or more processors or controllers that execute instructions stored in the memory devices 204 and / or mass storage devices 208. The processor 202 may also include various types of computer-readable media, such as cache memory.
[0036] The memory device 204 includes various computer-readable media such as volatile memory (e.g., random access memory (RAM) 214) and / or non-volatile memory (e.g., read-only memory (ROM) 216). The memory device 204 may also include writable ROM such as flash memory.
[0037] The mass storage device 208 includes various computer-readable media such as magnetic tape, magnetic disks, optical disks, and solid-state memory (e.g., flash memory). As shown in Figure 2, a specific mass storage device is a hard disk drive 224. Various drives may also be included within the mass storage device 208, enabling reading from and / or writing to various computer-readable media. The mass storage device 208 includes removable media 226 and / or non-removable media.
[0038] The I / O devices 210 include a variety of devices that enable data and / or other information to be input to or read from the computing device 200. Exemplary I / O devices 210 include cursor control devices, keyboards, keypads, microphones, monitors or other display devices, speakers, network interface cards, modems, lenses, CCDs or other image capture devices, and equivalents.
[0039] The display device 230 includes any type of device capable of displaying information to one or more users of the computing device 200. Embodiments of the display device 230 include monitors, display terminals, video projection devices, and equivalents.
[0040] Interface 206 includes various interfaces that enable the computing device 200 to interact with other systems, devices, or computing environments. Exemplary interfaces 206 include any number of different network interfaces 220, such as interfaces to a local area network (LAN), a wide area network (WAN), a wireless network, and the Internet. Other interfaces include a user interface 218 and a peripheral device interface 222. Interface 206 may also include one or more peripheral interfaces, such as interfaces for pointing devices (mouse, trackpad, etc.), keyboards, and equivalents.
[0041] Bus 212 enables the processor 202, memory device 204, interface 206, mass storage device 208, I / O device 210, and display device 230 to communicate with each other and with other devices or components coupled to bus 212. Bus 212 represents one or more of several types of bus structures, such as the system bus, PCI bus, IEEE 1394 bus, and USB bus.
[0042] For illustrative purposes, programs and other executable program components are shown herein as discrete blocks, but it should be understood that such programs and components may, as they may, reside in different memory components of the computing device 200 and be executed by the processor 202. Alternatively, the systems and procedures described herein may be implemented in hardware, or in a combination of hardware, software, and / or firmware. For example, one or more application-specific integrated circuits (ASICs) may be programmed to implement one or more of the systems and procedures described herein.
[0043] Referring to Figure 3, the server system 102 may perform the illustrated method 300. Method 300 may include a step 302 of receiving customer data. This may include a step of receiving data over a period of time as data is collected about a customer. The received data may include some or all of the data described above so as to be included in the customer record 106.
[0044] Method 300 may further include a step 304 of determining the customer acceptance status. The acceptance status 108f may be included in the customer record when it is received, or when it is received as part of a subsequent program extending the offer to the customer and a response is received. In either case, the data is provided manually or automatically to a server system 102 indicating the acceptance status for each customer. In some embodiments, Method 300 may be performed only for customers who have received an offer.
[0045] Method 300 may further include a step 306 for generating an initial pattern set. For example, step 306 for generating an initial pattern set may include a step of traversing a decision tree as known in the art, where each node of the decision tree is an attribute value or range of attribute values corresponding to attributes 108b-108e of customer record 106. An exemplary decision tree is shown in Figure 5, and the generation of the initial pattern set is described in detail in Section 3.2 “Extracting Predictive Patterns from Data” and Section 5.2 “Predictive Patterns Extracted from Data” below.
[0046] Method 300 may further include a step 308 for selecting an initial set of patterns. This may include removing patterns that do not have sufficient support (i.e., an insufficient number of customer records 106 that match the pattern), patterns that do not have sufficient validity (i.e., an insufficient number of customer records 106 that match the pattern and have a positive adoption status), and patterns that also match another pattern and have a percentage above a threshold for matching customer records. A more detailed description of the selection process is provided in Sections 3.2, “Extracting Predictive Patterns from Data,” and 5.2, “Predictive Patterns Extracted from Data,” below.
[0047] Method 300 may further include a step 310 of assigning patterns to segments according to an algorithm that iteratively approaches a maximum value with respect to the segment's minimum effectiveness, where effectiveness is a measure of how many customer records matching the patterns assigned to each segment have a positive adoption status. This may include a step of running an optimization algorithm, as described in Section 3.1, “Increasing Minimum Effectiveness,” below.
[0048] The segments may then be processed further.312 In particular, segments may be used for targeted marketing; that is, advertisements may be organized and transmitted only to customers who match a pattern of one segment in order to increase their effectiveness. Segments may also be used to visualize customer behavior or for any other business objectives.
[0049] The algorithm implemented by Method 300 is described in more detail in Sections 2 and 3 below. Section 4 includes an overview of the previous approach, and Section 5 illustrates the experimental results using actual customer data.
[0050] Please note that the following description concerns an optimization algorithm that seeks to maximize the minimum effectiveness of a segment. Therefore, references to “maximum,” “optimal,” “optimal,” “minimum,” and “minimum” should be understood not as referring to absolute or actual maximum, optimal, or minimum values, but rather as the maximum, optimal, or minimum values determined under the limitations of the disclosed algorithm and after performing a finite number of iterations of the disclosed algorithm.
[0051] Specifically, "maximizing" a value, "maximizing" a value, and "maximizing" a value are understood to mean an increase in the value compared to the previous iteration of the disclosed algorithm or the case where the disclosed algorithm is not performed, unless a closed set of values is considered and the maximum value within the closed set can be determined with certainty.
[0052] "Minimizing," "minimizing," and "minimizing" a value are understood to mean a reduction in value compared to the previous iteration of the disclosed algorithm or the case where the disclosed algorithm is not performed, unless a closed set of values is considered and the minimum value within the closed set can be determined with certainty.
[0053] "Optimizing" is understood to mean finding a value closer to the absolute optimal than would be possible without performing the disclosed algorithm, but not to mean actually finding the absolute optimal. Similarly, "optimal" value is understood to mean an approximate optimal value, where "approximately" refers to the limits of representing a number and the accuracy of performing mathematical operations on it, the limits of what the disclosed algorithm can theoretically achieve, and the limits of the number of iterations that can be performed in practice.
[0054] 2. Predictive Segmentation A transparent and effective segmentation strategy should achieve the following: 1. Incorporate existing useful expertise and best practices so that practitioners can easily relate to and adopt them. 2. Be clear and intuitive for non-technical program managers in energy utilities and useful for generating marketing communications. 3. Provide an optimality guarantee in terms of effectiveness, i.e., be highly distinctive with respect to its purpose of identifying subgroups of members more likely to take action than consumers randomly selected from the entire population.
[0055] Firstly, a wealth of expertise and practical experience allows energy utilities to hypothesize about certain high-level customer types that they wish to identify from their existing base. For example, the most experienced program managers would agree that “environmentally conscious” consumers will respond to a different type of communication (emphasizing environmental impact) than more “cost-conscious” consumers (who may respond to arguments about saving money).
[0056] Secondly, this method can identify simple logical rules, starting with existing expertise relating certain variables to each given segment (for example, “environmental advocates” may be defined by their income, household type, and level of education), and involving those variables that lead to the most effective segmentation strategy. Such intuitive segments should enable the generation of appropriate messaging strategies. For example, consumers in the “environmental advocates” group would receive messages emphasizing the environmental aspects of energy conservation, while those consumers in the “high-income consumer” category would be informed about ways to reduce their high bills.
[0057] The challenge is to develop an algorithmic segmentation method that incorporates the requirements of points 1 and 2, while ensuring that the best possible segmentation is achieved that guarantees the useful nature of the resulting segments (as presented in point 3 above) and satisfies the imposed structure. The desired outcome is to maximize the impact of marketing communications regarding energy efficiency program enrollment, i.e., to target those customers who are more likely to enroll. Since both coordinating communications and managing campaigns are costly, the focus is on creating messages for a small number of segments and including consumers in those segments who are likely to take action.
[0058] 2.1. Problem setting A population X consisting of N consumers is serviced by an operator (energy utility company). For each consumer, the utility company provides M characteristics, consisting of both consumption and customer characteristics (social demographics and physical construction attributes, etc.). [ka] Observe the following. Therefore, the feature data across all consumers is a matrix. [ka] It is stored internally. The utility operator also observes whether each consumer i has registered for any program within the past year, and this is a binary variable only when customer i has registered. [ka] It will be encoded as follows.
[0059] A utility operator desires to use data (X,y) to identify K segments within a population that are "homogeneous" with respect to attribute X, with the aim of notifying, simplifying, and increasing the effectiveness of targeted communications for demand-side efficiency program registration. Based on previous marketing research, the utility operator may have certain hypotheses regarding the "types" of customers they serve. This prior knowledge is assumed to take the following forms: "Environmental advocates" are relatively high-income earners or have at least a university degree. "Home improvement seekers" are homeowners or the breadwinners of their homes.
[0060] Next, the data (X,y) is set [ka] The pattern, [ka] By extracting these, these hypotheses can be used to make them concrete, and they are descriptive in that they refer to the characteristics of consumers who exhibit these patterns, and predictive in that consumers who fit a certain pattern are more likely to register than consumers randomly selected from the entire population. Patterns can therefore be defined as logical expressions of the following forms: [ka] During the ceremony, [ka] This is the base rule (logical statement). Therefore, a pattern is defined as a series of logical conjunctions. Interchangeably, a pattern can be called a set of consumers that follow the logical definition of the pattern. The base rule takes the following form: [ka]
[0061] Therefore, the base rule is the variable x, which points to the direction (either "≧" or "≦"). j (The j-th variable in x) and a threshold t learned from the data j Defined by rule P. j A rule is considered to be in agreement with the hypothesis if both the variable defining the rule and its direction match the hypothesis. Similarly, a pattern P is defined as being in agreement with the hypothesis by δ if it contains a rule that matches the hypothesis, where δ≧1.
[0062] It is useful to define a coverage matrix C that summarizes the range to which item i is covered by pattern m. [ka]
[0063] The effectiveness of pattern P may be calculated as the (empirical) registration probability of consumers covered by that pattern. [ka]
[0064] Using the above settings, the K segments are a set of patterns such that all patterns within each segment exhibit a delta agreement with the hypothesis defining that segment. [ka] Defined as follows. [ka] Let's define a (known) consistency matrix that describes the tolerance relationship between segments and patterns. [ka]
[0065] Finally, the segmentation would look like the following set of individual segments. [ka]
[0066] 2.2 Effective Segmentation Here, we consider segmentation strategies that are effective when registration rates are distinguishable between consumer segments. That is, a good strategy (with respect to K segments) is a probability q that is very different (either smaller or greater) than the overall rate q observed in the entire population. k , registering with k=1,...,K will identify those segments within the population. For example, if the segmentation consists of groups A and B with K=2, then all consumers in A have registered, but consumers in B have not (and therefore q A =1 and q B If q = 0), it is fully valid. A completely invalid segmentation is when consumers in A register at the same rate as consumers in B (and therefore q A =q B Naturally, consumers can be grouped into two segments by always including everyone who has registered for an efficiency program in one of the segments. However, the challenge is to identify patterns within consumer characteristics X that lead to clear and intuitive definitions of segments that also predict registration.
[0067] The effectiveness of each segment may be calculated in a similar manner to the effectiveness of the pattern, as the (empirical) registration probability of consumers within that segment. [ka]
[0068] The segment is therefore, [ka] If so, it is a figure of excellent value for registration. In the formula, [ka] This is the registration rate within the overall population. The problem we want to solve is to ensure that the resulting segments have, for example, the following desirable effectiveness properties, at least [ka] And, at most [ka] The goal is to distribute the patterns to each segment. • Maximize minimum effectiveness. [ka] • Ensure an appropriate balance of effectiveness across segments. [ka] In the equation, we use θ, which is a given weighting vector.
[0069] Regarding this, the determination variables are as follows: [ka] Define. [ka]
[0070] Therefore, segment k is defined as follows: [ka]
[0071] Next, the problem is to find the value of z such that one of the objectives (8 - 9) is maximized and the following feasibility constraint (F0) is satisfied. mk becomes. [Chemical formula]
[0072] For a given segment, many patterns that are executable, i.e., [Chemical formula] can exist. Furthermore, the patterns can overlap (i.e., the defined sets of consumers are not mutually exclusive [Chemical formula] ). Then, if the segments within S also happen to contain overlapping patterns within the described customers, they can overlap. This poses an additional complication to the appropriate formulation of the optimization problem that addresses (8 - 9) and satisfies the constraint (F0).
[0073] If the patterns do not overlap, the segment effectiveness can be described as follows: [Chemical formula] [[ID=�6]]
[0074] However, since pattern overlap can be substantial, the above formula overcounts consumers who fall into multiple patterns of [Chemical formula] One simplification adopted to address this problem is to relax the definition of the coverage matrix C, noting that consumers covered by n different patterns can be considered to have a coverage rate of 1 / n fraction on each pattern. This results in a modified coverage matrix [Chemical formula] In other words, it is converted to the following: [ka]
[0075] Therefore, the modified coverage matrix assigns weights to each consumer i that represents the fractional coverage rate of a single pattern (giving each pattern equal importance). For convenience, this modified matrix is still referred to as C.
[0076] 3. Calculation of forecast segments The design of the algorithm for calculating predictive segmentation will depend on the specific form the objective function takes (all constraints are in simple linear form). Here, we focus on a situation where the objective is to allocate acceptable patterns to K segments such that the minimum effectiveness is maximized across the segments (see equation (8)). This is a natural requirement for a program manager who wants to have a guarantee about the minimum effectiveness of its targeted communication strategy.
[0077] 3.1. Increasing the minimum effectiveness The above equation in equation (12) is a set of K vectors z that encode the decision variable for each segment. k To utilize this, and to express the objectives and constraints in a more user-friendly affine form using a single decision variable vector, the following notation can be adopted. [ka] During the ceremony, [ka] We use this. Next, the effectiveness can be expressed as follows: [ka]
[0078] The feasibility conditions for F0 are as follows: [ka]
[0079] In the case of the maximum-minimum objective (8), optimization attempts to increase the lower bound of effectiveness across segments as much as possible. This is q k This results in a relatively homogeneous distribution of s. This situation may be desirable, for example, when measures will be taken for each segment. In this case, the optimization problem may be expressed as follows: [ka]
[0080] The problem (LFIP) is a generalized (max-min) linear-fractional integer program with linear constraints. This class of problem has been extensively studied in the literature (see, for example, Horst and Pardalos (1995), Feng et al. (2011), and Schaible and Shi (2004) for commentaries). Following Boyd and Vandenberghe (2004), we propose the following equivalent formula of (LFIP) as the linear integer programming feasibility problem (LFIP-F). [ka] In the equation, with respect to k=1, ..., K, A is the row [ka] A matrix with rows, where D is a row [ka] This is a matrix accompanied by λ. For a given value of λ, the above feasibility problem (LFIP-F) can be solved using a standard mixed-integer programming package. The initial customer characteristics data can be very large (here, [ka] For the customer, the number of patterns is expected to be much smaller (M~1,000), and the number of segments is also smaller (here, K=5). Then, the standard package can demonstrate its superior ingenuity. Then, the maximum value with the corresponding optimal z. [ka] However, it can be efficiently found using an iterative binary search algorithm 1 (see Table 1 below), which solves the feasibility problem (LFIP-F) at each step. Optimal λ * Starting from a large interval [l0,u0] (here, [0,1]) which is guaranteed to contain λ, the algorithm continuously narrows the interval [l,u] in all steps, λ * Ensure that ∈[u,b] is true. This is outlined in Lemma 1 below, constructed by Patel et al. (2013). [ka]
[0081] Lemma 1. The output of Algorithm 1 is the maximum value of λ within the tolerance ε and within log2(ε0 / ε) iterations. * Optimal z corresponding to * That is the case.
[0082] To prove Lemma 1, Algorithm 1 is the most feasible value of λ, which is a unique value λ. * We must show that we will find this. In this regard, we define the following set of feasible options. [ka]
[0083] This notation has the following characteristics: [ka] segment z * The optimal pattern allocation to is λ * This corresponds to the optimal λ by definition. * The following are executable sets Λ and non-executable sets [ka] This is the (upper) transition point between [the two points]. Therefore, the following must hold true for tolerance parameter ε>0 (small). [ka]
[0084] Algorithm 1 is optimal λ * To prove that we will find it, we need to show that the above conditions are met. In the analysis, we will focus only on terms that contain λ.
[0085] To prove the first condition, we take the following: λ∈Λ and the following must be proven. [ka]
[0086] The fact that λ∈Λ implies the following: [ka]
[0087] Next, λ+ε and the same z λ Regarding this, it has the following characteristics: [ka]
[0088] The second term above is such that ε > 0, and D and z λ Both are positive because they have only non-zero inputs.
[0089] To prove the second condition, the value [ka] Fix it in place, then, [ka] Alternatively, it is desirable to show that ε > 0. [ka] The fact is, [ka] This implies that, and therefore, with respect to a given value of λ, [ka] It must have z λ teeth, [ka] Let λ be the decision variable vector that yields the maximum value and satisfies all other conditions defining the feasibility set Λ. Then, the following occurs: [ka]
[0090] From the non-feasibility of λ, further, [ka] It has, and then, with respect to λ+ε, [ka] The decision vector z that yields the maximum value λ+ε However, as mentioned above, z λ+ε including, [ka] It has z λ+ε Regarding this, it has the following characteristics: [ka]
[0091] Next, [ka] Therefore, [ka] It can be concluded that, therefore, algorithm 1 always uses the optimal allocation vector z * The most feasible λ corresponding to * It will find that. Furthermore, using each step, the algorithm halves the search interval [l,u], [ka] To reach the completion condition, take a maximum of the following steps: [ka] As will be readily apparent, the optimization algorithm approximates the optimal solution such that the optimal solution lies within the search window [l,u] < ε, which becomes smaller with each iteration as described above.
[0092] 3.2. Extraction of prediction patterns from data Given a set of observations encoded as a feature matrix X and a binary response (registration) vector y, it is desirable to extract highly effective (q>>q0) patterns P. In this regard, the following approach is adopted: 1. To generate many decision trees of variable depth (here, up to 5 levels of trees were generated), an ensemble method such as Random Forest or AdaBoost (Hastie et al., 2009) is used, with a classification tree as the base learner. This step allows for the construction of an initial list of patterns P0 obtained by traversing the decision tree to each leaf. Depending on the level of the tree used as the base classifier in the reinforcement ensemble method, these rules can take on a variable form of complexity, from a single sentence (a tree or decision stock with depth 1) to the logical AND of multiple base rules. 2. The pattern list P0 is filtered, and rules that do not correspond to a certain set of "quality" criteria are excluded. For this purpose, a pattern is considered if it satisfies both of the following criteria. [ka] A pattern is considered "effective". Minimum support: |P|>η, i.e., the number of customers matching a pattern must be greater than η such that η+1 is the smallest population matching each pattern. Here, η=500 is used. Minimum effectiveness: q(P)>ζq0. Here, ζ=2 is used. 3. Furthermore, patterns that overlap with other patterns by more than v% (here, v=70%, however, v values of 60-75% may also be used) and have a lower effectiveness q are removed. For example, with respect to pattern P1 having matching customers C1 and effectiveness q1, and pattern P2 having matching customers C2 and effectiveness q2 less than q1, if customers C2 exceeding v% are included in C1, pattern P2 will be selected because it has a lower effectiveness.
[0093] This procedure selects patterns. [ka] It brings a set.
[0094] 4. Literature Review Customer targeting for energy programs has recently garnered attention from seemingly disparate literature in engineering and computer science, operations management, and marketing. This study contributes to the broader discussion in those fields by providing a simple and transparent methodology that leads to clear segmentation building upon existing expertise within operations and marketing departments of energy utilities. Engineering research on demand-side management has recently been motivated by the availability of detailed customer data, including detailed consumption readings and socio-demographic information. Typically, the focus is on several key areas, including: i) To describe the consumption patterns of the user population using whole-house data (from either smart meters or custom appliances) with the aim of notifying users of programs such as time-of-use pricing or smart thermostat control as needed (Kwac et al. (2013), Albert and Rajagopal (2015)); ii) To collect both whole-house and individual appliance experimental data from the combined signal and reconstruct distinct end uses (Carrie Armel et al. (2013), Kolter and Jaakkola (2012)); and iii) To study the average impact of different external factors (especially weather) on energy use (Houde et al. (2012), Kavousian et al. (2013), Kavousian et al. (2015)).
[0095] More recent literature on energy analysis concerns the characterization of consumption patterns (load profiling) in extensions of traditional demand management practices in utilities, using composite demand profiles to inform programs. A consumer segmentation strategy based on the cost their consumption behavior brings to the grid is proposed by Albert and Rajagopal (2014) as a method for targeting the group of consumers that contribute most to volatility in demand. A popular topic in research is heterogeneity in typical daily load profiles (typically involving clustering of daily user consumption load shapes using off-the-shelf unsupervised algorithms such as K-means), which may later be used for interventions such as discriminatory pricing or energy reduction incentives. This approach has been adopted, for example, by Flath et al. (2012), Rasanen and Kolehmainen (2009), Figueiredo et al. (2005), Smith et al. (2012), Tsekouras et al. (2007), and Espinoza et al. (2005). Other variations, which segment load profiles based on a first learning-generative model of consumption and then cluster the resulting models, are discussed, for example, by Albert and Rajagopal (2013) and Alzate et al. (2009). However, the approach of this study is largely descriptive in nature, and typically, no clear use cases regarding identified load patterns are provided, and there are currently few programs in utilities that can incorporate such information.
[0096] Meanwhile, operational management and marketing literature has attracted attention for its application to energy over the past few years. This may be influenced by the fact that in many utility companies, the departments involved in allocating, registering, and targeting consumers using efficiency programs have traditionally been either operations or marketing.
[0097] 5. Experimental Setup 5.1. Customer Characteristics Data The data used in this application was obtained from a large energy company in the northeastern United States and consisted of approximately 100 socio-demographic and building characteristics and monthly energy consumption readings over two years for N=957,150 consumers. After standard data cleaning procedures, 43 variables of interest that had at least 80% valid entries across the entire population were selected. Of these, 19 variables were categorical and 24 were numerical. By converting the categorical variables to binary dummy variables, a final dataset of P=304 variables was obtained. A total of 48,310 consumers, corresponding to a proportion of q0=4.9%, had enrolled in any energy efficiency program within two years prior to data collection. [Table 1] [Table 2]
[0098] Table 1 describes several focus category variables. The majority of consumers (approximately 80%) own their homes, while only about 16% rent. Education levels, overall, reflect society in general, with a quarter of consumers holding bachelor's and master's degrees, respectively, and half of consumers having a high school diploma or less. The “environmental awareness” variable summarizes the results of a third-party analysis that considers factors such as magazine subscriptions, community involvement, political learning, and membership in different organizations, resulting in an estimated level of focus on environmental issues.
[0099] Table 2 summarizes some of the more numerical variables of interest. The average year of birth is 1957, which suggests a baby boomer demographic. The average family in the sample lives in a large dwelling (6 rooms) with a length of residence exceeding 12 years.
[0100] 5.2. Prediction patterns extracted from the data Prediction rules were extracted from the data described in Section 3 above. After selection, a list of prediction patterns was created (their effectiveness is at least...). [ka] Each of the three base rules (and had support of at least η=500) contained M0=2,965 patterns with a maximum of 5 base rules (1,852 patterns with 5 base rules, 963 patterns with 4 base rules, 143 patterns with 3 base rules, and 7 patterns with 2 base rules). Figure 4 illustrates an exemplary decision tree of height 3 extracted from the data. The highlighted patterns are paths in the decision tree, starting from a route with an effectiveness (percentage of positive samples) of 8%. Figure 5 illustrates the distribution of pattern effectiveness q(R) for patterns of different complications (2 to 5 base rules) for the M0=2,965 patterns extracted from the data. As expected, the distribution exhibits exponential behavior, with more patterns of lower effectiveness and fewer patterns of higher effectiveness.
[0101] The top 20 most important variables for predicting registration are listed in Figure 6. These include, among other things, the amount of housing owned (financing ratio, available ownership), the size of the house and the family living there, and the family's income. This suggests that registration depends on the perception of financial responsibility and the ability to improve the home. This analysis considered only registration in any energy efficiency program. Analysis of specific programs directed at more specific types of consumers would likely yield more refined distinctions in key variables (such as discounts on insulation as opposed to efficiency appliances).
[0102] 5.3. Associating Patterns with Segments The segments were defined using the results of previous behavioral studies and extensive interactions with energy utilities that provided data. The utilities desired to identify consumers who fell into a small number of already defined segments based on their own internal expertise and research, as well as independent third-party behavioral and marketing studies such as Frankel et al. (2013). As described in Section 2 above, the segmentation objectives were twofold: i) to generate a small number of marketing communications, such as standardized emails, with appropriate information and planning for each segment, and ii) to identify consumers corresponding to each segment who were likely to enroll in energy efficiency programs.
[0103] Based on this prior art, utility companies assumed that consumers fall into K=5 segments: “Environmental Advocates,” “High-Consumer,” “Home Improvement Seekers,” “Cost Prioritizers,” and “Cultural Incentives.” The segment meanings encoding this hypothesis are summarized in Table 3. Given these segment definitions, potential patterns P from P0 were associated with different segments by ensuring that each pattern P δ-coincides (see Section 2) with the hypothesis about the meaning of the individual segment. That is, with respect to a given segment S, their rules [ka] This consists of at least δ base rules that match both the variable j and the direction (either above or below a threshold learned from the data). [ka] It was found to contain [something]. The resulting set of patterns P contained M = 219 patterns. All consumers, [ka] Reduced pattern with 614,830 (64% of the original sample) [Chemical formula] Although it was not covered by the set of [Table 3]
[0104] The number of patterns obtained for each segment and their coverage rate (the number of consumers within the pattern) are also listed in Table 3. The number of patterns is smaller than the initial approximately 3,000, but selecting a sufficiently small number to approach the maximum effectiveness is still a non-trivial task. The association matrix B encoding the pattern / segment assignment feasibility is illustrated in Figure 7. Some patterns can belong to multiple segments, as illustrated in Figure 8. There, the distribution of the number of patterns covering the users is plotted. Most users are covered by a small number of patterns. However, at the same time, there are also a small number of users who fall into more than 50 patterns.
[0105] Two examples of rules extracted from the data and assigned to the segments "high consumers" and "cost prioritizers" are shown in Figure 9. The patterns assigned to "high consumers" contain at least a base rule of δ = 1 with the condition that consumption exceeds a given threshold.
[0106] 6. Results Algorithm 1 was [Chemical formula] used to obtain an almost optimal feasible distribution of patterns to segment Z in the case of [Chemical formula] The search region is narrowed until convergence occurs in 14 iterations. Therefore, the pattern allocation to segment Z is ε=10 -14 It approximates the optimal solution within [time]. The binary search process is illustrated in Figure 10, and this is: [ka] We will show that by iteratively solving the feasibility problem (LFIP-F) using this method, we can find the maximum lower bound λ for segment effectiveness. [ka] The resulting optimal allocation matrix Z is shown in Figure 11, where the horizontal axis orders the patterns by arbitrary ID numbers in the same format as those used in Figure 10 to represent the acceptable allocation matrix B. The algorithm selected a small number of patterns that possess the best efficiency property and satisfy the constraints in (F0).
[0107] The optimal solution contains 10 patterns that spread across the 5 segments. Table 4 summarizes the effectiveness and size of the resulting segments. All final effectiveness frequencies were above 2 × q0, and consumers assigned to one segment ("cultural incentives") registered at approximately three times the rate within the overall population. [Table 4]
[0108] Figure 12 illustrates an example of segment overlap. This overlap is induced because the patterns that make up the segments themselves can and do overlap within the customers they cover. However, segment overlap is a natural concept in reality because consumers may possess certain characteristics that cause them to be considered to belong to one segment (e.g., "cost-conscious"), while other characteristics are shared with consumers in different segments (e.g., "home improvement seekers"). Segmentation techniques transparently account for this situation. A more comprehensive view of segment overlap is presented as a network plot in Figure 13, where each segment is represented as a node whose size is proportional to the number of customers within that segment. The weighting of links between segments represents pairwise overlap of segments. The constraint is, [ka] from [ka] As this changes, the structure of segmentation changes because more patterns are used to construct some of the segments.
[0109] It should be noted that "segments" are constructs defined by program managers to assist in creating and managing communications that differentiate consumers to a certain extent while keeping operational costs and complexity low. They reveal a degree of heterogeneity, but at the same time, they do not allow interventions to be perfectly tailored to individual needs. Imposing the assumption that all consumers belong to only one segment is an unrealistic assumption, and this approach avoids it.
[0110] Figure 14 shows [ka] It includes a list of patterns that define segments corresponding to the optimal pattern distribution for j (precisely defining what "high" and "low" mean) and is augmented with specific information such as additional base rules. For example, one type of "home improvement aspirant" who enrolls in the energy efficiency program at a high rate is a South Asian who earns more than $75,000 per year and owns the ownership of that home worth more than $306,870. Similarly, one type of "environmental protection advocate" is a family that earns more than $75,000 per year, earns at least 2.5 times the average income level of that state, has children, and does not live in an apartment building. The patterns within each segment may then be used to design marketing communications specific to that segment such that they include elements to which consumers within that segment are found to respond. Further, the pattern specificity (from the perspective of the thresholds learned from the data) enables targeting those consumers who are most likely to enroll.
[0111] From the above discussion, it becomes remarkably evident that the resulting segmentation structure strongly depends on the nature of the constraints, particularly
Chem.
Chem.
Chem.
Chem.
[0112] [ka] With respect to a given value of, [ka] Using the objective λ * and the effectiveness value q of each segment k Variations of k=1,···,K were observed. This can then be designed to adapt to the desired effectiveness value of each individual segment of interest, serving as an adjustment parameter for the resulting segmentation complexity. [ka] The values are illustrated in Figure 16. For example, when emphasis is placed on "cultural incentives", [ka] Segmentation accompanied by q is preferable. For all values of k, q k Clearly, λ * Please note that this exceeds [a certain value].
[0113] Finally, the dependence of individual segment effectiveness on segmentation complexity (the total number of patterns selected across segments) is illustrated in Figure 17. This highlights the best possible effectiveness values that can be achieved with respect to a fixed, given value of segmentation complexity. For example, if an efficiency program manager desires to select a total of 20-25 patterns, the optimal effectiveness of the "cultural incentives" segment can always be expected to outperform that of the "cost priority" segment. [ka] Within that scope, "those seeking housing improvements," "advocates for environmental protection," and "cultural incentives" all have an effectiveness score of approximately 11%.
[0114] 7. Conclusion This invention introduces a method for programmatically constructing easily understandable predictive segmentation of energy consumers. The predictive segmentation problem is formulated based on a first extraction of predictive patterns (logical AND) from the data, and then optimally allocating the patterns to segments. Segments were defined using previous behavior and marketing research in energy utilities. The optimal allocation is formulated to solve a generalized (maximum-minimum) linear fractional integer program with linear constraints. An efficient binary search algorithm was used to solve this program. This method was used to identify optimal predictive segments within a population of approximately one million electricity consumers of a large US energy utility. An optimal subset of consumers (whose characteristics align with the utility's general assumptions about the types of consumers it serves and which registered at least twice as many as the approximately 5% registration rate in the overall population) was identified. These segments represent consumers from whom the utility can generate appropriate messages and to whom it is more effective and economical to target.
[0115] The above disclosures refer to accompanying drawings that form part of this specification and illustrate specific implementations in which this disclosure may be put into practice. It should be understood that other implementations may be used, and structural modifications may be made, without departing from the scope of this disclosure. References in the specification such as “one embodiment,” “a certain embodiment,” and “a certain exemplary embodiment” indicate that the embodiments described may include certain features, structures, or characteristics, but not all embodiments may necessarily include certain features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when certain features, structures, or characteristics are described in relation to one embodiment, it is considered that, whether explicitly described or not, such features, structures, or characteristics will be affected in relation to other embodiments, and this is within the knowledge of those skilled in the art.
[0116] Implementations of the systems, devices, and methods disclosed herein may include, or utilize, a special-purpose or general-purpose computer, including computer hardware such as one or more processors and system memory, as discussed herein. Implementations within the scope of this disclosure may also include physical and other computer-readable media for transporting or storing computer-executable instructions and / or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system. A computer-readable medium that stores computer-executable instructions is a computer storage medium (device). A computer-readable medium that transports computer-executable instructions is a transmission medium. Thus, as an example, and not limited to, implementations of the disclosure may include at least two separately distinct types of computer-readable media, namely, a computer storage medium (device) and a transmission medium.
[0117] Computer storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drives ("SSDs") (e.g., based on RAM), flash memory, phase-change memory ("PCM"), other types of memory, other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other media that may be used to store desired program code means in the form of computer executable instructions or data structures and may be accessed by a general-purpose or special-purpose computer.
[0118] Implementations of the devices, systems, and methods disclosed herein may communicate over computer networks. “Network” is defined as one or more data links capable of transporting electronic data between computer systems and / or modules and / or other electronic devices. When information is transferred to or provided to a computer over a network or another communication connection (either wired, wireless, or a combination of wired and wireless), the computer considers the connection to be a suitable transmission medium. The transmission medium may include networks and / or data links that are used to carry desired program code means in the form of computer-executable instructions or data structures and can be accessed by a general-purpose or special-purpose computer. Such combinations should also fall within the scope of computer-readable media.
[0119] Computer executable instructions comprise instructions and data that, when executed in a processor, cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a certain function or set of functions. Computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code. While this subject matter is described in language specific to structural features and / or methodological effects, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the features or effects described above. Rather, the described features and effects are disclosed as exemplary forms for implementing the claims.
[0120] Those skilled in the art will understand that this disclosure may be put into practice within a network computing environment involving many types of computer system configurations, including in-dashboard vehicle computers, personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, tablets, pagers, routers, switches, various storage devices, and equivalents. This disclosure may also be put into practice within a distributed system environment, where both local and remote computer systems linked through a network (by wired data links, wireless data links, or a combination of wired and wireless data links) perform tasks. In a distributed system environment, program modules may reside in both local and remote memory storage devices.
[0121] Furthermore, where necessary, the functions described herein may be performed in one or more of the following: hardware, software, firmware, digital components, or analog components. For example, one or more application-specific integrated circuits (ASICs) may be programmed to perform one or more of the systems and procedures described herein. Certain terms are used throughout the description and claims to refer to specific system components. Components may be referred to by different names as will be understood by those skilled in the art. This document is not intended to distinguish between components that have different names but no difference in function.
[0122] It should be noted that the sensor embodiments discussed above may include computer hardware, software, firmware, or any combination thereof to perform at least some of their functions. For example, a sensor may include computer code configured to run in one or more processors, or hardware logic / electrical circuits controlled by the computer code. These exemplary devices are provided herein for illustrative purposes only and are not intended to limit the scope of the invention. Embodiments of the present disclosure may be implemented in further types of devices that will be known to those skilled in the art.
[0123] At least some embodiments of this disclosure relate to computer program products (e.g., in the form of software) that include such logic stored on any computer-available medium. When such software is executed in one or more data processing devices, it causes the devices to operate as described herein.
[0124] While various embodiments of this disclosure have been described above, it should be understood that they are presented only as examples and not as limitations. It will be apparent to those skilled in the art that various modifications in form and detail can be made therein without departing from the spirit and scope of this disclosure. Accordingly, the scope and scope of this disclosure should not be limited by any of the exemplary embodiments described above, but should be defined only in accordance with the following claims and their equivalents. The above description is presented for illustrative and explanatory purposes. It is not intended to be comprehensive or to limit this disclosure to the form disclosed. Many modifications and variations can be considered as possible in light of the above teachings. Furthermore, it should be noted that any or all of the above alternative implementations may be used in any combination desired to form an additional hybrid implementation of this disclosure.
[0125] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The embodiments described are, in all respects, illustrative only and not limiting. The scope of the present invention is therefore indicated by the appended claims rather than by the above description. All modifications within the meaning and scope of the equivalents of the claims shall be incorporated within that scope.
[0126] The following references are incorporated herein by reference as a whole. [Table 5-1] [Table 5-2] [Table 5-3] [Table 5-4]
Claims
1. A method for computer segmenting of multiple energy customers associated with multiple customer records, wherein the method is performed by one or more processors of a computer system, The one or more processors access a plurality of customer records, the plurality of customer records include a plurality of types of data, and the plurality of types of data include at least resource consumption data. The one or more processors process the plurality of customer records, and the processing results in the identification of a plurality of patterns, each pattern including a logical representation of a combination of rules that the plurality of customer records must satisfy. Includes, The aforementioned process is performed by The one or more processors obtain an initial pattern set by processing the plurality of customer records by traversing a decision tree, wherein each node of the decision tree includes a data threshold or a range of data values. The process involves one or more processors selecting from the initial pattern set by removing at least a subset of patterns from the initial pattern set, thereby forming an updated pattern set that excludes the subset of patterns, wherein the updated pattern set includes the plurality of patterns. The one or more processors assign each pattern in the updated pattern set to one of a plurality of segments, wherein each of the plurality of segments corresponds to a subgroup of the plurality of energy customers associated with customer records that match the pattern assigned to each of the segments. Tested by, method.
2. The method according to claim 1, wherein assigning each pattern in the updated pattern set to one of the plurality of segments is performed according to an algorithm that iteratively increases a threshold effectiveness for the plurality of segments, the effectiveness for each of the plurality of segments representing the proportion of energy customers included in the subgroup of each of the segments participating in the energy saving program.
3. The method according to claim 2, wherein the customer record indicates the registration status of the energy saving program, and the effectiveness of each segment is determined based on the registration status of the customer record among the plurality of customer records that match the pattern assigned to each segment.
4. The method according to claim 2, wherein the algorithm includes solving a linear integer programming feasibility problem using a binary search algorithm.
5. The method according to claim 2, wherein the proportion of energy customers registered in the energy saving program is weighted for each energy customer included in each segment based on a value of 1 / n, where n is the number of patterns of the plurality of patterns to which each corresponding customer record of each energy customer matches.
6. By selecting from the aforementioned initial pattern set, the updated pattern set is formed. The method according to claim 1, comprising removing patterns having support below a threshold support, wherein the support for each pattern in the set of patterns indicates the number of customer records matching each pattern.
7. By selecting from the aforementioned initial pattern set, the updated pattern set is formed. The method according to claim 6, comprising removing patterns having an effectiveness below a threshold effectiveness, wherein the effectiveness of each pattern in the set of patterns represents the percentage of customer records that match each pattern indicating participation in an energy saving program.
8. The method according to claim 7, wherein the threshold effectiveness is greater than the proportion of all customer records among the plurality of customer records indicating participation in the energy saving program, the threshold effectiveness is expressed as a multiple of the proportion of all customer records, and the multiple is greater than 1.
9. The method according to claim 8, wherein the multiple is at least 2.
10. The method according to claim 1, wherein forming the updated pattern set by selecting from the initial pattern set includes removing at least one overlapping pattern from the initial pattern set having a set of customer records having threshold levels that overlap with a subset of customer records defined by another pattern.
11. The method according to claim 10, wherein the overlapping threshold levels are 60 to 75 percent.
12. A system comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, wherein the one or more memory devices store executable code for computer segmentation of a plurality of energy customers associated with a plurality of customer records, and the executable code is Accessing multiple customer records, wherein the multiple customer records include multiple types of data, and the multiple types of data include at least resource consumption data. The process of processing the aforementioned multiple customer records, wherein the processing results in the identification of multiple patterns, each pattern including a logical representation of a combination of rules that the aforementioned multiple customer records must satisfy. This is effective for having one or more processing devices perform the above-mentioned task. The aforementioned process is performed by Obtaining an initial pattern set by processing the multiple customer records by traversing a decision tree, wherein each node of the decision tree includes a data threshold or a range of data values. By removing at least a subset of patterns from the initial pattern set, and by selecting from the initial pattern set, an updated pattern set is formed that excludes the subset of patterns, wherein the updated pattern set includes the plurality of patterns. Assigning each pattern in the updated pattern set to one of a plurality of segments, wherein each of the plurality of segments corresponds to a subgroup of the plurality of energy customers associated with customer records that match the pattern assigned to each of the segments. A system that is carried out by [someone / something].
13. Assigning each pattern in the updated pattern set to one of the plurality of segments is done according to an algorithm that iteratively increases a threshold effectiveness for the plurality of segments, wherein the effectiveness for each of the plurality of segments represents the proportion of energy customers included in the subgroup of each of the segments participating in an energy saving program, according to claim 12.
14. The system according to claim 13, wherein the customer record indicates the registration status of the energy saving program, and the effectiveness of each segment is determined based on the registration status of the customer record among the plurality of customer records that match the pattern assigned to each segment.
15. The system according to claim 13, wherein the proportion of energy customers registered in the energy saving program is weighted for each energy customer included in each segment based on a 1 / n value that matches the corresponding customer record of each energy customer.
16. By selecting from the aforementioned initial pattern set, the updated pattern set is formed. The system according to claim 12, comprising removing patterns having support below a threshold support, wherein the support for each pattern in the set of patterns indicates the number of customer records matching each pattern.
17. By selecting from the aforementioned initial pattern set, the updated pattern set is formed. The system according to claim 16, comprising removing patterns having an effectiveness below a threshold effectiveness, wherein the effectiveness of each pattern in the set of patterns represents the percentage of customer records that match each pattern indicating registration for an energy saving program.
18. By selecting from the aforementioned initial pattern set, the updated pattern set is formed. The system according to claim 12, comprising removing at least one overlapping pattern from the initial pattern set having a set of customer records having threshold levels that overlap with a subset of customer records defined by another pattern.