Many services may be provided that are paid for by customers based on an amount of the services consumed. For instance, a household may consume natural gas for heating, cooking, and other reasons. The household may be charged for the gas consumption by a gas company according to an amount of the natural gas that is used. Periodically, a natural gas meter of the household may be read by the natural gas company, and the natural gas company may charge the household for the amount of natural gas used since a prior reading was taken according to a predetermined rate (e.g., dollars per cubic feet). Many other products and services may be paid for in this manner.
In some cases, a service may have an included quantity of the service that the consumer does not pay for (or pays a predetermined flat amount for). The consumer may pay for the service at a predetermined rate for amounts of the service that are consumed over the included quantity. Furthermore, the service may have a monetary cap for the consumer. The monetary cap may be used to limit the financial liability for the consumer for using the service, or for other purpose.
Various techniques may be used to determine a duration for which a metered transaction may continue, such as for the situation where there is a monetary cap. According to a first example technique, the services may be rated on every usage event to determine how much money has been used, and the determined amount may be compared with the monetary cap. However, this technique is computationally and data intensive (e.g., the consumption amount of the meter(s) has to be collected and then rated as frequently as the service is used by a consumer).
According to a second example technique, the services may be rated according to a schedule (e.g., periodically, such as on a daily basis, weekly basis, etc.) to determine how much money has been used, and the determined amount may be compared with the monetary cap. However, this technique has drawbacks, including that it frequently results in an overshoot (spending over the monetary cap) because on average, a half of the last period is over when the services are rated. This drawback can be mitigated by using a variable schedule as the monetary cap approaches (e.g., performing the rating increasingly often), but this is not easy if there are significant variations in consumption rates. The efficiency of this second technique as compared to the first technique is directly proportional to the consumption reporting rate (e.g., is more accurate the more often rating is performed). However, because of its indiscriminate nature, the second technique leads to wasted data accesses and computations being performed.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Methods, systems, and computer program products are provided for using reverse rating to determine consumption and payments due for used of metered services by consumers. The reverse rating techniques may be applied to metered services that have a monetary cap (e.g., monetary cap enforcement), to situations where metered services have a predetermined set commitment amount (e.g., monetary commitment situations), and to further metered services situations. Reverse rating may reduce a number of meter readings that are made and/or a number of rating computations relative to conventional techniques. Furthermore, the reverse rating techniques may be applied to a consumer that consumes one or more services according to a single meter or to a set of meters.
According to one method implementation, a plurality of consumption readings associated with a second time may be received from a set meters tracking consumption by a consumer. Consumption rates may be determined for the meters based on the received consumption readings and on initial consumption values from a first time prior to the second time. A monetary liability function may be determined for the consumer based on the consumption rates and a plurality of rating functions associated with the meters. A third time may be calculated based on the monetary liability function at which a monetary target is reached by the meters. The monetary target may be a monetary cap on consumption by the meters, a monetary commitment value, or may have other significance.
Implementations may be used in various applications. According to a monetary cap implementation, a system may include a consumption rate determiner, a monetary liability function determiner, a monetary target time calculator, and a consumption quota calculator. The consumption rate determiner is configured to determine a consumption rate for each of a plurality of meters tracking consumption by a consumer to generate a plurality of consumption rates. The monetary liability function determiner is configured to determine a monetary liability function for the consumer based on the consumption rates and a plurality of rating functions associated with the meters. The monetary target time calculator is configured to calculate an estimated time at which a monetary cap is reached by the meters based on the monetary liability function. The consumption quota calculator is configured to calculate a consumption quota for each of the meters at the estimated time based on a corresponding consumption rate to determine a plurality of consumption quotas for the plurality of meters.
The system may further include a trigger event monitor configured to determine at a second time that a consumption quota corresponding to a meter was reached. In response, the trigger event monitor is configured to determine whether the monetary cap is reached based on meter readings taken at the second time. An updated consumption quota is determined for each of the meters when the monetary cap is determined to not be reached. If the monetary cap was reached, one or more actions may be taken.
According to a monetary commitment value implementation, a system may include a consumption rate determiner, a monetary liability function determiner, and a monetary target time calculator. The consumption rate determiner is configured to receive a plurality of consumption readings associated with an end time of a billing cycle from a plurality of meters tracking consumption by a consumer, and to determine consumption rates for the meters based on the received consumption readings and a plurality of initial consumption values associated with a begin time of the billing. The monetary liability function determiner is configured to determine a discounted monetary liability function for the consumer based on the consumption rates and a plurality of discounted rating functions associated with the meters. The monetary target time calculator is configured to calculate an intermediate time between the begin time and the end time at which a monetary commitment value of the consumer is reached by the meters based on the discounted monetary liability function.
The system may further include a monetary value calculator configured to calculate a monetary value for consumption by the meters subsequent to the intermediate time until the end time. The monetary value calculator may calculate this monetary value for consumption using a non-discounted monetary liability function for the meters.
Computer program products containing computer readable storage media are also described herein that store computer code/instructions for performing reverse rating for overage billing with regard to multiple simultaneous meters, including applications of reverse rating to monetary cap enforcement and to monetary commitment situations, as well as enabling additional embodiments described herein.
Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings. It is noted that the invention is not limited to the specific embodiments described herein. Such embodiments are presented herein for illustrative purposes only. Additional embodiments will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
The present specification discloses one or more embodiments that incorporate the features of the invention. The disclosed embodiment(s) merely exemplify the invention. The scope of the invention is not limited to the disclosed embodiment(s). The invention is defined by the claims appended hereto.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Numerous exemplary embodiments of the present invention are described as follows. It is noted that any section/subsection headings provided herein are not intended to be limiting. Embodiments are described throughout this document, and any type of embodiment may be included under any section/subsection. Furthermore, embodiments disclosed in any section/subsection may be combined with any other embodiments described in the same section/subsection and/or a different section/subsection in any manner.
Many services may be provided that are paid for by customers (consumers) based on an amount of the services consumed. For example, a meter may track how much of a service is consumed, and the meter may be read to determine how much the consumer has consumed since a last time the meter was read or since the beginning of a current billing cycle. The customer may then be billed for the amount consumed. Many products and services may be paid for in this manner, such as consumption of natural gas, electricity, call minutes used by a cell phone user, text messages (e.g., SMS) sent and/or received by a device (e.g., smart phone) user, data bandwidth downloaded by a consumer to a computing device, etc.
According to embodiments, techniques of reverse rating may be used to determine aspects of consumption by metered services, including determining billing amounts for such metered services. Reverse rating may be used to determine a duration for which a metered transaction may continue. For instance, reverse rating may be used to estimate when a consumer may reach a monetary cap for a metered service that the user is using. For a system that charges its consumers based on their consumption of a set of meters, reverse rating enables the computation of future or past meter consumption based on an optional included amount of service, a rate of consumption of the services associated with the meters, and a rating function.
Reverse rating embodiments may be applied to situations where a monetary cap is present for a set of meters, and situations where a monetary commitment value is present for a set of meters. According to a monetary commitment value situation, customers receive a discount on their service overage up a monetary commitment amount that they commit to paying. “Overage” refers to service consumption that the consumer pays for at a rate (e.g., dollars per amount of resource used), as distinguished from any set amounts of service consumption that the consumer does not pay for on a rated basis (e.g., included minutes for a cell phone call plan, included text messages, etc.). “Overage” billing refers to billing for such overage service consumption.
For instance, in an example monetary cap embodiment, a consumer may have a set amount of money that the consumer is willing to pay up to for rated service, but not exceed (the monetary cap), during a time period (e.g., a month or other billing cycle time period) for one or more services being tracked by a set of meters. At any time within the time period, the current consumption can be rated according to reverse rating by reading the set of meters and determining the current monetary consumption amount. For instance, a linear consumption rate may be determined based on a difference between the current meter readings and prior meter readings. A rating function (e.g., a cost per consumption amount) may be applied to the linear consumption rate to determine the current monetary consumption amount. The amount that the current monetary consumption amount is less than the monetary cap is an amount remaining to be consumed. This remaining amount may be distributed across the set of meters to provide each meter with a consumption quota. The monetary cap is not hit unless one of the meters exceeds a previously computed quota. As such, any time a quota is met by a meter, it may be checked whether or not the monetary cap has been reached. If the monetary cap has not been reached, reverse rating may be used to again to assign new consumption quotas to the set of meters. Typically, a reason why the monetary cap is not reached when one of the quotas is exceeded is because the consumption quotas are approximations (assumptions of future consumption). These quotas are adjusted over time with each iteration (through reverse rating).
Such an embodiment has advantages over conventional techniques, because determinations of whether the monetary cap has been reached may be performed much less often (e.g., whenever a meter of the set of meters reaches its consumption quota, rather than whenever usage occurs or at a periodic rate). Preliminary results indicate that such rating may occur 350 times less often than using previous techniques that check consumption on an hourly schedule. In some cases, if the monetary cap is set properly (e.g. just high enough to make sure that consumption is not running amok), such rating may actually occur once per time period.
In an example monetary commitment value embodiment, reverse rating may be used to calculate a time at which the monetary commitment value was reached by consumption by the consumer during a billing cycle. In this manner, the consumer may pay the monetary commitment value for consumption up to that calculated time (as a discount), and may pay standard rates for subsequent consumption during the billing cycle.
For instance,
As shown in
Vendor system 102 is a system managed by one or more parties, including a party that provides services to consumers such as consumer 110. Vendor system 102 may be implemented in one or more devices, including computers and/or other equipment. Any number of consumers may be serviced by vendor system 102. First and second services 104a and 104b are services that are provided to consumer 110 by vendor system 102. Although two services are shown in vendor system 102 in
In the example of
As shown in
Furthermore, as shown in
Reverse rating system 108 is configured to perform one or more reverse rating processes to generate consumption information 116. Consumption information 116 may include one or more generated parameters, such as a time in the past at which a particular monetary consumption amount of first service streams 114a-114n and second service streams 122a-122n (and optionally further service streams) is estimated to have occurred, a time in the future at which a particular monetary consumption amount of first service streams 114a-114n and second service streams 122a-122n is estimated to occur, or other consumption information.
Reverse rating system 108 may be configured in various ways to perform its functions, and may operate in various ways, in embodiments. For instance,
Flowchart 200 begins with step 202. In step 202, a plurality of consumption readings associated with a second time is received from a plurality of meters tracking consumption by a consumer. For example, as shown in
Meter reader 302 may include one or more of any type of interface for receiving meter readings from meters, being configured in hardware or hardware combined with software and/or firmware. For instance, in an embodiment, meter reader 302 may include a device configured to read meters in wired or wireless manner. In another embodiment, meter reader 302 may include a web service, an application programming interface (API), or other computer-based and/or network accessible interface for receiving consumption readings from meters over a network. Example networks over which consumption readings may be received include a personal area network (PAN), a local area network (LAN), a wide area network (WAN), or any combination of networks, such as the Internet.
In step 204, a consumption rate for each of the plurality of meters is determined based on the received plurality of consumption readings and a plurality of initial consumption values associated with a first time prior to the second time to generate a plurality of consumption rates. For example, as shown in
In an embodiment, based on consumption readings 312 and initial consumption values 314, consumption rate determiner 306 may generate a plurality of linear consumption rates 316, which includes a linear consumption rate determined for each meter. For instance, in an embodiment, consumption rate determiner 306 may generate linear consumption rates 316 according to
In step 402, a difference between one of the received consumption readings corresponding to the meter and one of the initial consumption values corresponding to the meter is determined For instance, for each meter tracking consumption by a consumer, consumption rate determiner 306 may subtract the initial consumption value included in initial consumption values 314 from the consumption reading included in consumption readings 312 to determine a difference. It is noted that for included quantities used as initial consumption values may be treated as a negative value (that is below zero).
In step 404, the determined difference is divided over a difference in time between the second time and the first time. For instance, for each meter tracking consumption by a consumer, consumption rate determiner 306 may divide the determined difference (determined in step 402) by a difference in time between the second time (when the meter reading was captured) and the first time (associated with the initial consumption value) to generate a linear consumption rate. In this manner, linear consumption rates 316 may be determined. In other embodiments, linear consumption rates 316 may be determined in other ways, as would be apparent to persons skilled in the relevant art(s) from the teachings herein.
For purposes of illustration,
In the example of
Each of the three meters may indicate consumption of a respective resource at any rate, depending on how the consumer consumes the corresponding resource. For instance, the consumer may consume a resource at a constant rate, at a cyclical rate, at a randomly fluctuating rate, any combination thereof or any other rate. For instance, an actual consumption plot line 536 (shown as a dotted line) shows an example rate of consumption indicated by the first meter for a first service. As shown in
However, in an embodiment, according to step 204, a linear consumption rate for each of the three meters is determined based on their corresponding initial consumption values and meter reading values. The linear consumption rate is used rather than using the actual consumption rate, which may fluctuate in a manner that is not linear as described above. Using the linear consumption rate as an estimated consumption rate advantageously simplifies calculations. For instance, according to flowchart 400, a difference may be determined for each meter by subtracting the initial consumption value at the first time from the meter reading value at the second time, and the difference may be divided by the difference between the second time and first time.
For instance, and for purposes of illustration, an example data service that provides data to a consumer that is monitored by three meters is described. The data service may provide data to the consumer that is measured in megabytes. Referring to
Similarly, the second meter may have second initial value 526 equal to −300 megabytes and second meter reading value 532 equal to 36 megabytes, resulting in a second linear consumption rate for the second meter of (300−−36)/(24−0)=14 megabytes/hour. The third meter may have third initial value 528 equal to −500 megabytes and third meter reading value 534 equal to −120 megabytes, resulting in a third linear consumption rate for the third meter of (−100−−500)/(24−0)=16.67 megabytes/hour. These calculated linear consumption rates may be output by consumption rate determiner 306 in linear consumption rates 316.
According to embodiments, the calculated linear consumption rates may be extrapolated across a timeline of interest to be used to estimate consumption values anywhere along the timeline. For instance, as shown in
Storage 304 may include one or more of any type of storage mechanism for storing information, including initial consumption values 314. For instance, storage 304 may include one or more of a magnetic disc (e.g., in a hard disk drive), an optical disc (e.g., in an optical disk drive), a magnetic tape (e.g., in a tape drive), a memory device such as a RAM device, a ROM device, etc., and/or any other suitable type of storage medium.
Note that although consumption rate determiner 306 is described above and elsewhere herein as determining linear consumption rates for the meters, in other embodiments, consumption rate determiner 306 may be configured to determine non-linear consumption rates for the meters. Consumption rate determiner 306 may determine non-linear consumption rates in any manner, such as determining them based on historical data or in another manner. Thus, embodiments described herein are also applicable to the determining of non-linear consumption rates, and the use of non-linear consumption rates in determining times when monetary targets are reached, determining consumption quotas, and calculating times at which monetary commitment values are reached.
Referring back to
For instance, continuing the above data service example, each of the three meters may have a corresponding rating function. For example, the three meters may have the following rating functions:
first meter: $10 per megabyte (for consumption over 100 megabytes)
second meter: $5 per megabyte (for consumption over 300 megabytes)
third meter: $15 per megabyte (for consumption over 500 megabytes)
As such, the rating functions for the first, second, and third meters are constant (non-tiered or tapered) rating functions. These rating functions are provided for purposes of illustration, and are not intended to be limiting.
Furthermore, as indicated above, the rating functions are effective for the meters for their respective overage amounts, which begin after their predetermined flat included amounts of service consumption are exhausted. For instance, as described above, the first meter has an included amount of 100 megabytes, the second meter has an included amount of 300 megabytes, and the third meter has an included amount of 500 megabytes. The rating functions indicating a cost for consumption indicated by each meter do not indicate a cost (e.g., indicate a zero cost) until the corresponding included amount of consumption is used up. For instance,
In an embodiment, in step 206, a monetary liability function may be determined for consumption by the set of meters by generating a monetary liability function for each of the meters, and combining (e.g., summing) the resulting monetary liability functions. For instance, continuing the above example, the three monetary liability functions for the three meters may be generated as follows, by multiplying together the respective linear consumption rate, rating function, and a time “t” variable:
where
t1=time 514,
t2=time 516, and
t3=time 520.
In this example, the three monetary liability functions for the three meters may be combined together (e.g., added together) to determine the overall monetary liability function for the three meters. For instance, monetary liability function determiner 308 may organize and combine the three monetary liability functions according to their corresponding time segments (separated by inflection points). In the current example, monetary liability function determiner 308 may combine the three monetary liability functions as shown below:
Techniques for combining multiple monetary liability functions to determine an overall monetary liability function will be known to persons skilled in the relevant art(s).
For purposes of illustration,
As shown in
Referring back to
For instance, in an embodiment, monetary target time calculator 310 may set monetary target value 324 equal to monetary liability function 318, and may solve the resulting equation for the variable t to determine output time 320.
For illustrative purposes, continuing the above data service example, monetary target value 324 may be received as $6000. In this example, time 514 (t1) may be 10 hours, time 516 (t2) may be 20 hours, and time 520 (t3) may be 30 hours. As such, the received monetary target value may be set equal to the monetary liability function for the three meters determined in step 206. Solving the above combined monetary liability function for the variable t results in output time 320. For instance, in this example, monetary target time calculator 310 may generate output time 320 as follows, by solving for time t:
amount at time 516=75$ (20−10)=$750
amount at time 520=75$ (30−10)+70$(30−20)=$2200
The next tier is the last tier, so this where the cap will be hit eventually, so the following equation may be solved:
$6000=75$(t−10)+70$(t−20)+250.05$(t−30)
Which is equivalent to:
$6000=(75$+70$+250.05$)×t−$9651.50
$15,651.50=$395.05×t
t=39.619
In this example, output time 320 is determined to be equal to 39.619 hours. Referring to
As mentioned above, the values used for the data service example are provided for purposes of illustration, and are not intended to be limiting.
Accordingly, reverse rating system 300 of
A. Example Monetary Cap Enforcement Embodiments
In embodiments, reverse rating may be applied to monetary cap enforcement.
Such an embodiment may enable consumers to limit their financial liability for overage in the form of a capped monetary amount per billing cycle. In embodiments, reverse rating may be applied in various ways to enforce such a cap, preventing the monetary value of consumption by a consumer to exceed the monetary cap.
For instance, in an embodiment, at the beginning of a billing cycle, and based on a consumption rate (from a previous billing cycle or an arbitrary default) and a monetary cap, reverse rating may be used to estimate an amount of consumption by a set of meters that would trigger the monetary cap being met. This estimate may be used to calculate a consumption quota for each meter. Subsequently, the meters are monitored to determine whether a quota is hit. Whether a quota is hit may be detected, even at scale, by maintaining the determined quotas in association with the total consumption since the beginning of the billing cycle. The overall monetary cap is not hit until at least one of the determined quotas is hit, and no further rating operations are needed to be performed until at least one of the determined quotas is hit (saving a number of calculations relative to conventional techniques). When a quota is hit by a meter, either the monetary cap is also hit (which may trigger an action, such as suspending service, sending a warning message to the consumer, etc.) or the monetary cap is not yet hit, and a new set of quotas may be determined for the set of meters using techniques of reverse rating. This process may be repeated until the billing cycle ends, at which time the process may begin again.
A reverse rating system may be configured in various ways to perform monetary cap enforcement, in embodiments. For instance,
Flowchart 700 begins with step 702. In step 702, a linear consumption rate is determined for each of a plurality of meters tracking consumption by a consumer. For instance, in one embodiment, at the beginning of a billing cycle, a linear consumption rate may be retrieved from storage (e.g., storage 304 of
In step 704, a monetary liability function is determined for the consumer based on the plurality of linear consumption rates and a plurality of rating functions associated with the plurality of meters. For instance, in an embodiment, as shown in
As described above,
In step 706, an estimated time is calculated at which a monetary cap is reached by the plurality of meters based on the monetary liability function. For instance, as shown in
Referring to
In an embodiment, the consumer may optionally be provided with the estimated time as a projected time at which the monetary cap is reached by the consumer. In this manner, the consumer may be able to change its consumption rates (e.g., increasing or decreasing) associated with one or more of the meters, if needed.
Referring back to
For instance, in an embodiment, a consumption quota may be determined for a meter by consumption quota calculator 802 by subtracting the inflection time point (the time when the included consumption amount for the meter is reached) from output time 320, and multiplying the corresponding linear consumption rate by the result. Consumption quota calculator 802 may perform this calculation for each meter of the set of meters to generate consumption quotas 806.
For example, if monetary cap enforcement is applied to the three meters in the data service example, and assuming that output time 320 is 39.619 hours, consumption quotas may be generated for the three meters as follows:
first meter: 7.5 megabytes/hour×(39.619−10) hours=222.1425 megabytes
second meter: 14 megabytes/hour×(39.619−20) hours=274.666 megabytes
third meter: 16.67 megabytes/hour×(39.619−30) hours=160.34873 megabytes
In this example, consumption quota calculator 802 may output these three consumption quotas for the three meters in consumption quotas 806.
As shown in
For instance, in an embodiment, trigger event monitor 804 may operate according to
In step 902, a trigger event is detected. For example, as shown in
In step 904, whether the monetary cap is reached is determined in response to detection of a trigger event. In an embodiment, if trigger event monitor 804 determines in step 902 that a trigger event occurred, trigger event monitor 804 may perform a determination of whether the monetary cap has been reached. If the monetary cap has been determined to be reached, appropriate action may be taken.
Flowchart 1000 starts with step 1002. In step 1002, it is determined that, at a second time, a consumption quota of the plurality of consumption quotas corresponding to a meter of the plurality of meters was reached by the meter. For example, in an embodiment, trigger event monitor 804 may receive consumption information 808 (e.g., from consumption aggregator 118 of
It is noted that in an embodiment, consumption information 808 may include a tuple for each meter, the tuple including [total consumption since the beginning of the cycle, quota determined by quota calculator] (consumption aggregator 118 may store quotas, in an embodiment). When a consumption event (a consumption message) is received, the amount of consumption is added to the total and is compared with the quota by consumption aggregator 118. If the quota is exceeded, consumption aggregator 118 may “publish” a quota exceeded message for the given subscription. Another entity (trigger event monitor 804) may “subscribe” to the published message, receive events, and take appropriate action as described herein.
Thus, in one embodiment, trigger event monitor 804 may compare each meter reading to the consumption quota of the corresponding meter. If a meter reading of at least one meter has reached the corresponding consumption quota, trigger event monitor 804 has detected a trigger event. In another embodiment, this comparison and determination of whether a trigger event has occurred may be performed by consumption aggregator 118. In such an embodiment, consumption aggregator 118 may generate a trigger event message (e.g., a quota exceeded message) that is received by trigger event monitor 804. Operation proceeds from step 1002 to step 1004.
In step 1004, it is determined whether the monetary cap has been reached. In an embodiment, when trigger event monitor 804 determines that a meter reading for a meter of the set of meters has reached the corresponding consumption quota for the meter, trigger event monitor 804 is configured to determine whether the monetary cap has been reached. In an embodiment, to determine whether the monetary cap has been reached, trigger event monitor 804 calculates a current monetary value of consumption. For instance, trigger event monitor 804 may receive rating functions 326, which includes a plurality of rating functions corresponding to the plurality of meters, and are functions configured to enable monetary costs for consumption to be determined for the consumer at different times of the timeline of interest. Trigger event monitor 804 may, for each meter, may apply the corresponding rating function to the current consumption amount (e.g., from meter readings 126a-126n and 128a-128n), and may sum the resulting amounts to calculate the current monetary value of consumption. Trigger event monitor 804 may compare the calculated current monetary value of consumption to the monetary cap to determine whether the monetary cap has been reached.
If the monetary cap is determined to be reached, operation proceeds from step 1004 to step 1006. If the monetary cap is determined to not have been reached, operation proceeds from step 1004 to step 1008.
In step 1006, action is taken. For instance, because trigger event monitor 804 determined the monetary cap to be reached, trigger event monitor 804 may perform one or more actions, such as generating action signal 810, as described above. Operation of flowchart 1000 may be complete after step 1006 is performed if the subscription/service is stopped.
In step 1008, an updated consumption quota is determined for each of the plurality of meters. For instance, because trigger event monitor 804 determined the monetary cap to not be reached, trigger event monitor 804 may generate an update consumption quotas instruction 812. Update consumption quotas instruction 812 is an instruction to determine updated consumption quotas for the set of meters that may subsequently be used as triggers to determine whether the monetary cap has been reached. When the updated consumption quotas are determined, operation may proceed from step 1008 back to step 1002.
For instance, as shown in
For example, when update consumption quotas instruction 812 is received, consumption readings associated with the second time may be received from meters 106a-106n by meter reader 302, as shown in
As shown in
B. Example Monetary Commitment Situation Embodiments
In embodiments, reverse rating may be applied to monetary commitment situations. In a monetary commitment situation, a consumer commits/agrees to pay a flat monetary commitment value/amount for a service or set of services that the consumer will use/consume over a billing period. For consumption having a monetary consumption value below and up to the flat monetary commitment amount, the consumer receives a monetary discount (e.g., a percentage discount relative to standard rates) on the consumption. For consumption above the flat monetary commitment amount, the consumer pays standard, non-discounted rates on the consumption.
Embodiments may use reverse rating to determine amounts that a consumer is billed in a monetary commitment situation. Reverse rating may be used to determine a discount on their consumption up to the amount they commit to paying. Further consumption may be rated at the standard, non-discounted, retail rates. For instance, reverse rating may be applied to past time periods during a billing cycle or period (assuming the consumer did not commit to pay more than they actually consumed during the billing period). For a determined amount of consumption at the end of a billing cycle, a discounted rating function, and the monetary commitment value, reverse rating may be used to determine when the monetary commitment value was reached during the billing cycle and the corresponding consumption at that time. The rest of the consumption during that billing cycle may be rated using a standard, retail rating function.
A reverse rating system may be configured in various ways to handle a monetary commitment value, in embodiments. For instance,
Flowchart 1100 begins with step 1102. In step 1102, a plurality of consumption readings associated with an end time of a billing cycle is received from a plurality of meters tracking consumption by a consumer. For example, as shown in
In step 1104, a linear consumption rate for each of the plurality of meters is determined based on the received plurality of consumption readings and a plurality of initial consumption values associated with a begin time of the billing cycle to generate a plurality of linear consumption rates. For example, as described above with respect to
Based on consumption readings 312 and initial consumption values 314, consumption rate determiner 306 generates a plurality of linear consumption rates 316, which includes a linear consumption rate determined for each meter. For instance, consumption rate determiner 306 may generate linear consumption rates 316 as described above (e.g., with respect to
For instance, with respect to the three meter example of
Referring back to
In step 1108, an intermediate time between the begin time and the end time is calculated at which a monetary commitment value of the consumer is reached by the plurality of meters based on the discounted monetary liability function. For instance, as shown in
For instance, referring to
In an embodiment, the consumer may optionally be provided with the calculated intermediate time as a time at which the monetary commitment value was estimated to have been reached by consumption by the consumer. In this manner, the consumer is provided some information as to how the bill for the billing period is generated (discounted rates applied before the intermediate time; standard rates applied after the intermediate time). Furthermore, the consumer may be able to change its consumption rates (e.g., increasing or decreasing) associated with one or more of the meters, if needed, for future billing periods. Furthermore, the amount of consumption at the intermediate time may be determined for each meter by multiplying the determined intermediate time by the corresponding linear consumption rate (the included amount may be subtracted from the result if desired to only show the amount of consumption over the included amount).
Accordingly, using the calculated intermediate time, a bill that indicates a monetary value of consumption over the billing cycle by the consumer may be generated. The monetary commitment value may be used for the bill portion for the begin time to the intermediate time and a non-discounted monetary liability function may be used to determine the bill portion subsequent to the intermediate time until the end time.
For instance,
Flowchart 1300 begins with step 1302. In step 1302, a monetary value is calculated for consumption by the plurality of meters subsequent to the intermediate time until the end time. For instance, in an embodiment, as shown in
For instance, in an embodiment, monetary consumption value 1210 may be generated according to
In step 1402, a non-discounted monetary liability function is determined based on the determined linear consumption rates and a plurality of non-discounted rating functions associated with the meters. For instance, in an embodiment, as shown in
In step 1404, the monetary value of the consumption by the plurality of meters from the intermediate time to the end time of the billing cycle is calculated based on the non-discounted monetary liability function. As shown in
Referring back to
Bill generator 1204 may generate bill 1214 in any manner, including as an electronic document (e.g., delivered via email, etc.), as a paper document, or in other form.
Note that it is possible that in a monetary commitment situation, the consumer may over commit, such that the time calculated in step 1108 (output time 320) is actually after the end time (the monetary commitment value is not reached during the billing cycle). In such situations, the consumer may decide to lower their monetary commitment value, particularly if this situation is chronic over time. This over commitment may average out over time (due to consumption varying from month-to-month). In an embodiment, the excess amount of the commitment may be rolled over into the following billing cycle.
C. Further Embodiments for Reverse Rating
It is noted that in embodiments, reverse rating may be used in further applications, as would be apparent to persons skilled in the relevant art(s), as well as in combinations of applications, including those applications described herein. For instance, reverse rating may be used in a metering system that uses both a monetary cap and a monetary commitment value. In such an embodiment, each reverse rating operation that occurs as part of the monetary cap detection (e.g., as described with respect to
Reverse rating system 108, consumption aggregator 118, reverse rating system 300, meter reader 302, consumption rate determiner 306, monetary liability function determiner 308, monetary target time calculator 310, monetary commitment enforcement system 800, consumption quota calculator 802, trigger event monitor 804, monetary commitment enforcement system 1200, monetary value calculator 1202, billing generator 1204, flowchart 200, flowchart 400, flowchart 700, flowchart 900, flowchart 1000, flowchart 1100, flowchart 1300, and flowchart 1400 may be implemented in hardware, or hardware and any combination of software and/or firmware. For example, reverse rating system 108, consumption aggregator 118, reverse rating system 300, meter reader 302, consumption rate determiner 306, monetary liability function determiner 308, monetary target time calculator 310, monetary commitment enforcement system 800, consumption quota calculator 802, trigger event monitor 804, monetary commitment enforcement system 1200, monetary value calculator 1202, billing generator 1204, flowchart 200, flowchart 400, flowchart 700, flowchart 900, flowchart 1000, flowchart 1100, flowchart 1300, and/or flowchart 1400 may be implemented as computer program code configured to be executed in one or more processors and stored in a computer readable storage medium. Alternatively, reverse rating system 108, consumption aggregator 118, reverse rating system 300, meter reader 302, consumption rate determiner 306, monetary liability function determiner 308, monetary target time calculator 310, monetary commitment enforcement system 800, consumption quota calculator 802, trigger event monitor 804, monetary commitment enforcement system 1200, monetary value calculator 1202, billing generator 1204, flowchart 200, flowchart 400, flowchart 700, flowchart 900, flowchart 1000, flowchart 1100, flowchart 1300, and/or flowchart 1400 may be implemented as hardware logic/electrical circuitry.
For instance, in an embodiment, one or more of reverse rating system 108, consumption aggregator 118, reverse rating system 300, meter reader 302, consumption rate determiner 306, monetary liability function determiner 308, monetary target time calculator 310, monetary commitment enforcement system 800, consumption quota calculator 802, trigger event monitor 804, monetary commitment enforcement system 1200, monetary value calculator 1202, billing generator 1204, flowchart 200, flowchart 400, flowchart 700, flowchart 900, flowchart 1000, flowchart 1100, flowchart 1300, and/or flowchart 1400 may be implemented together in a system-on-chip (SoC). The SoC may include an integrated circuit chip that includes one or more of a processor (e.g., a microcontroller, microprocessor, digital signal processor (DSP), etc.), memory, one or more communication interfaces, and/or further circuits and/or embedded firmware to perform its functions.
As shown in
Computer 1500 also has one or more of the following drives: a hard disk drive 1514 for reading from and writing to a hard disk, a magnetic disk drive 1516 for reading from or writing to a removable magnetic disk 1518, and an optical disk drive 1520 for reading from or writing to a removable optical disk 1522 such as a CD ROM, DVD ROM, or other optical media. Hard disk drive 1514, magnetic disk drive 1516, and optical disk drive 1520 are connected to bus 1506 by a hard disk drive interface 1524, a magnetic disk drive interface 1526, and an optical drive interface 1528, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer. Although a hard disk, a removable magnetic disk and a removable optical disk are described, other types of computer-readable storage media can be used to store data, such as flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROM), and the like.
A number of program modules may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. These programs include an operating system 1530, one or more application programs 1532, other program modules 1534, and program data 1536. Application programs 1532 or program modules 1534 may include, for example, computer program logic (e.g., computer program code or instructions) for implementing reverse rating system 108, consumption aggregator 118, reverse rating system 300, meter reader 302, consumption rate determiner 306, monetary liability function determiner 308, monetary target time calculator 310, monetary commitment enforcement system 800, consumption quota calculator 802, trigger event monitor 804, monetary commitment enforcement system 1200, monetary value calculator 1202, billing generator 1204, flowchart 200, flowchart 400, flowchart 700, flowchart 900, flowchart 1000, flowchart 1100, flowchart 1300, and/or flowchart 1400 (including any step of flowcharts 200, 400, 700, 900, 1000, 1100, 1300, and 1400), and/or further embodiments described herein.
A user may enter commands and information into the computer 1500 through input devices such as keyboard 1538 and pointing device 1540. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, a touch screen and/or touch pad, a voice recognition system to receive voice input, a gesture recognition system to receive gesture input, or the like. These and other input devices are often connected to processor 1502 through a serial port interface 1542 that is coupled to bus 1506, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB).
A display component 1544 is also connected to bus 1506 via an interface, such as a video adapter 1546. In addition to the monitor, computer 1500 may include other peripheral output devices (not shown) such as speakers and printers.
Computer 1500 is connected to a network 1548 (e.g., the Internet) through an adaptor or network interface 1550, a modem 1552, or other means for establishing communications over the network. Modem 1552, which may be internal or external, may be connected to bus 1506 via serial port interface 1542, as shown in
As used herein, the terms “computer program medium,” “computer-readable medium,” and “computer-readable storage medium” are used to generally refer to media such as the hard disk associated with hard disk drive 1514, removable magnetic disk 1518, removable optical disk 1522, as well as other media such as flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROM), and the like. Such computer-readable storage media are distinguished from and non-overlapping with communication media (do not include communication media). Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wireless media such as acoustic, RF, infrared and other wireless media. Embodiments are also directed to such communication media.
As noted above, computer programs and modules (including application programs 1532 and other program modules 1534) may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. Such computer programs may also be received via network interface 1550, serial port interface 1542, or any other interface type. Such computer programs, when executed or loaded by an application, enable computer 1500 to implement features of embodiments of the present invention discussed herein. Accordingly, such computer programs represent controllers of the computer 1500.
The invention is also directed to computer program products comprising software stored on any computer useable medium. Such software, when executed in one or more data processing devices, causes a data processing device(s) to operate as described herein. Embodiments of the present invention employ any computer-useable or computer-readable medium, known now or in the future. Examples of computer-readable mediums include, but are not limited to storage devices such as RAM, hard drives, floppy disks, CD ROMs, DVD ROMs, zip disks, tapes, magnetic storage devices, optical storage devices, MEMs, nanotechnology-based storage devices, and the like.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be understood by those skilled in the relevant art(s) that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.