Method and apparatus for creating compound due-to reports
Summary by NHIP
Compound Due-To Report Creation
The method computes variances for two distinct activity sets using reference states and start-end values, respectively. It then allocates synergy based on the absolute value of raw volume variance and optionally calculates a third set of distribution activity variances.
Claim Score by NHIP
Abstract
Methods and apparatuses for computing a variance between two business metrics is described. In one embodiment, the method computes a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics and with each of the first set of activities having a reference value. Furthermore, the method computes a variance for each of a second set of activities based on the corresponding start and end values of that activity with each of the second set of activities having a start and end value.

Term
Projected expiry 18 December 2030.
- Priority and filed
- Granted
- Today
- Projected expiry
20 claims: 5 independent, 15 dependent
- 1A computer implemented method comprising:computing, using a processor, a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics, wherein each of the first set of activities has a reference value and the first set of activities is associated with a first business metric;computing, using a processor, a variance for each of a second set of activities based on the corresponding start and end values of that activity, wherein each of the second set of activities has a start and end value and the second set of activities is associated with a second business metric;and allocating, using a processor, synergy to the variance for each of the first set of activities and the variance for each of the second set of activities based on an absolute value of raw volume variance.
- 10Broadest claimClaim Score 43, average(NHIP)A computer implemented method comprising:accessing a response model and a first and second plurality of activities, the response model and the first and second plurality of activities are used to compute a business metric volume variance, wherein the first and second plurality of activities define an atomic volume variance level of the business metric, wherein each of the first plurality of activities has a reference value and each of the second plurality of activities has a start and an end value, and wherein the atomic volume variance level is a base level of a set of different volume variances using different pluralities of activities and the set of different volume variances is consistent with the atomic volume variance level;and allocating, using a processor, synergy to the variance for each of the first plurality of activities and the variance for each of the second plurality of activities based on an absolute value of the atomic volume variance.
- 11A machine-readable storage medium having executable instructions to cause a processor to perform a method comprising:computing a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics, wherein each of the first set of activities has a reference value and the first set of activities is associated with a first business metric;computing a variance for each of a second set of activities based on the corresponding start and end values of that activity, wherein each of the second set of activities has a start and end value and the second set of activities is associated with a second business metric;and allocating, using a processor, synergy to the variance for each of the first set of activities and the variance for each of the second set of activities based on an absolute value of raw volume variance.
- 15An apparatus comprising:a difference decomposition module, including a processor, to compute a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics, wherein each of the first set of activities has a reference value and the first set of activities is associated with a first business metric;a hybrid due-to module, including a processor, to compute a variance for each of a second set of activities based on the corresponding start and end values of that activity, wherein each of the second set of activities has a start and end value and the second set of activities is associated with a second business metric;and allocating, using a processor, synergy to the variance for each of the first set of activities and the variance for each of the second set of activities based on an absolute value of raw volume variance.
- 18A system comprising:a processor;a memory coupled to the processor though a bus: and a process executed from the memory by the processor to cause the processor to, computing a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics, wherein each of the first set of activities has a reference value and the first set of activities is associated with a first business metric;computing a variance for each of a second set of activities based on the corresponding start and end values of that activity, wherein each of the second set of activities has a start and end value and the second set of activities is associated with a second business metric;and allocating, using a processor, synergy to the variance for each of the first set of activities and the variance for each of the second set of activities based on an absolute value of raw volume variance.
Independent claims5
177 paragraphs in 6 sections, as filed
FIELD OF THE INVENTION
p-0002This invention relates generally to analysis of multi-dimensional data and more particularly to determining the effect of marketing activities on a business metric.
BACKGROUND OF THE INVENTION
p-0003A goal of business is to explain sales volumes results so as to understand how marketing activities affect the sales volumes, e.g., how much volume these marketing activities contributed to overall sales volume. These volume contributions are useful to calculate effectiveness measures for the activities such as volume per dollar spend or return on investment (ROI). Examples of such activities are activities directly controlled by the business (e.g., our TV advertising, a display for our products, a price increase for our products), activities controlled by another businesses in the market (e.g., a competitor's display, competitor's TV advertising, etc.), and/or the environment itself (e.g. a cold spell, a gas-price increase, etc.). For example, a company may want to know the approximate change in future sales, growth, and profit of the product or service based on these activities or changes in these activities. In addition, many companies want to know the effects of changes in these activities (e.g., marketing, advertising, pricing changes, etc.) on forecasted data (e.g., sales volume growth, profit, etc.) that are dependent on these activities.
p-0004In addition to being applied to a sales volume, these same techniques are used to interpret the effect of activities on other measurable business metrics, e.g., revenue, profit or market share, etc.
p-0005Typically, an analyst uses a mathematical model to estimate how these activities affect sales volumes in the past, or in the future. An example is a regression-based model. A regression-based model will typically relate the sales volumes to each of the activities via a coefficient. The analyst determines the coefficients based on the regression model (or another multivariate technique). The analyst then interprets the coefficient to assign rates of volume changes for each activity. For example, an analyst would determine that for one unit of an activity, such as promotion, would equal X percent or Y units change in sales volume. The analyst then multiplies this coefficient to the change in the amount of the activity, and a corresponding amount of volume is calculated. By doing this analysis for each of the activity/coefficient pairs, the analyst predicts and explains the effect of the activity on volume (or another relevant measurable business metric, like profit, etc.). In addition, in order to explain volume changes across time periods, the analyst would calculate volume contributions by activity for each time period and report the difference as explanation of volume change.
p-0006A problem with this approach is that the interpretation of the derived coefficients is dependent on the model that is used. For example, a price coefficient in a linear model and a multiplicative model for the same volume and activities will differ significantly from each other. This makes aggregation across products or channels for which different types of models were used difficult and requires volume interpreting algorithms specific to the model form used. Furthermore, the rates of volume change are dependent on the set of activities chosen. In addition, the results are inconsistent when using different sets of activities for the same time period. Moreover, some activities do not have natural reference values upon which to base the volume contribution calculations (e.g., price, distribution), and consequently, make it difficult to determine the effect of these activities on the volume and volume change across time periods.
SUMMARY OF THE DESCRIPTION
p-0007Methods and apparatuses for computing a variance between two business metrics is described. In one embodiment, the method computes a variance for each of a first set of activities based on the corresponding reference state of that activity, wherein the variance for an activity is the change in contribution for that activity between the first and second business metrics and with each of the first set of activities having a reference value, Furthermore, the method computes a variance for each of a second set of activities based on the corresponding start and end values of that activity with each of the second set of activities having a start and end value.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0008The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
p-0009<figref idrefs="DRAWINGS">FIG. 1</figref> is a processing block diagram illustrating one embodiment of a volume cube.
p-0010<figref idrefs="DRAWINGS">FIG. 2</figref> is a processing block diagram illustrating one embodiment of a model structure.
p-0011<figref idrefs="DRAWINGS">FIG. 3</figref> is a table illustrating one embodiment of a volume decomposition.
p-0012<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram of one embodiment of a process for calculating a volume decomposition including synergy allocation.
p-0013<figref idrefs="DRAWINGS">FIG. 5</figref> is a table illustrating one embodiment of a volume decomposition calculation.
p-0014<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow diagram of one embodiment of a process for calculating synergy allocations.
p-0015<figref idrefs="DRAWINGS">FIG. 7</figref> is a table illustrating one embodiment of a synergy calculation.
p-0016FIG. <b>8</b>AB are block diagrams illustrating synergy allocation by raw value scaling and absolute value scaling.
p-0017<figref idrefs="DRAWINGS">FIG. 9</figref> is a processing block diagram illustrating one embodiment of a volume decomposition hierarchy.
p-0018<figref idrefs="DRAWINGS">FIG. 10</figref> is a flow diagram of one embodiment of a process for calculating a volume decomposition report for the atomic decomposition level.
p-0019<figref idrefs="DRAWINGS">FIG. 11</figref> is a flow diagram of one embodiment of a process for determining an atomic decomposition level.
p-0020<figref idrefs="DRAWINGS">FIG. 12</figref> is a flow diagram of one embodiment of a process for calculating a volume decomposition report for aggregate scopes of the atomic decomposition level.
p-0021<figref idrefs="DRAWINGS">FIG. 13</figref> is a flow diagram of one embodiment of a process for calculating a volume decomposition report for aggregate scopes of decomposition levels higher in the decomposition hierarchy.
p-0022<figref idrefs="DRAWINGS">FIG. 14</figref> is a chart illustrating one embodiment of a due-to report.
p-0023<figref idrefs="DRAWINGS">FIG. 15</figref> is a block diagram illustrating one embodiment of the different predicted volumes for different time periods.
p-0024<figref idrefs="DRAWINGS">FIG. 16</figref> is a flow diagram of one embodiment of a process for calculating a hybrid due-to and allocating synergy.
p-0025<figref idrefs="DRAWINGS">FIG. 17</figref> is a flow diagram of one embodiment of a process for calculating a compound due-to.
p-0026<figref idrefs="DRAWINGS">FIG. 18</figref> is a diagram of one embodiment of a data processing system that calculates volume decomposition reports, atomic decompositions, volume decomposition hierarchies, hybrid due-to reports, and/or compound due-to reports.
p-0027<figref idrefs="DRAWINGS">FIG. 19</figref> is a diagram of one embodiment of an operating environment suitable for practicing the present invention.
p-0028<figref idrefs="DRAWINGS">FIG. 20</figref> a diagram of one embodiment of a data processing system, such as a general purpose computer system, suitable for use in the operating environment of <figref idrefs="DRAWINGS">FIGS. 4</figref>, <b>6</b>, <b>10</b>-<b>13</b>, <b>16</b>, and <b>17</b>.
DETAILED DESCRIPTION
p-0029In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
p-0030Method and apparatus to interpret a measurable business metric using a response model is described herein. In one embodiment, a response mode is used to calculate a measurable business metric (sales volume, revenue, profit or market share, etc.) In the response model, marketing activities are represented through a set of measurements. These measurements are called “drivers” of the activity. A set of drivers for all activities in the model is called a scenario. A scenario can represent an actual state of the world, i.e. a marketing plan that was actually executed in a real business environment or a hypothetical state of the world that is reflecting assumptions on marketing activities and the business environment for planning or analysis purposes.
p-0031In one embodiment, interpreting the business metric is performed by calculating a volume decomposition and/or a volume variance. Volume decompositions and volume variance reports (also called “due-to reports”) are calculated for any scenario or pair of scenarios, real or hypothetical. The term “executed” value for a driver as the value the driver takes in the scenario, including scenarios that are hypothetical.
p-0032In one embodiment, a volume decomposition is calculated that is independent of the type of response model used to model a sales volume. A volume decomposition gives an indication of the contribution to the sales volume resulting from a set of marketing activities. In one embodiment, the volume decomposition for a set of activities is calculated by toggling drivers for each of those activities between an off and an on state. The off state or an activity corresponds to the scenario in which this activity is not executed (e.g. a promotion is not run or a price is not discounted). In this case, the activity does not add to the volume sold, and it is represented by its drivers taking a reference value. The activity's on state adds a contribution to the volume and is represented by the activity's drivers' executed value. The difference between the volume in the on and off states of an activity is called the raw volume contribution of the activity. In addition, in one embodiment, synergy is allocated to each of the volume contributions based on the absolute value of the volume contributions.
p-0033In another embodiment, a sequence of volume contribution reports are calculated at different levels of detail using a volume decomposition hierarchy that is based on an atomic decomposition level. The atomic decomposition level is a fundamental set of “indivisible” or “atomic” activities. Furthermore, a set of tree hierarchies is defined describing how to roll up the volume contributions from these atomic activities into aggregate activities. In one embodiment, the aggregate activities are formed into a hierarchy of volume decomposition levels that are internally consistent with the atomic decomposition level.
p-0034In a further embodiment, a hybrid due-to report is calculated that indicates, for a set of activities, the volume variance between two different sales volumes. In this embodiment, the volume variance is calculated by toggling each of these activities between a start and end value, where the start and end value are associated with one of the two different sale volumes. Furthermore, the change in base volume between the two different sales volumes is calculated using the first or second set of activities with a response model for the opposite set of activities. In one embodiment, the set of activities do not require a reference value for each of the associated drivers. In addition, in one embodiment, synergy is allocated to each of the volume variances based on the absolute value of the volume variances.
p-0035In a still further embodiment, a compound due-to report is calculated that determines the volume variance for a set of activities between two different sales volumes. In this embodiment, a difference decomposition is used to calculate the volume variance for a set of non-distribution activities that each has drivers with corresponding reference values. A reference value for drivers of an activity represents the activity in the off state and does not add a contribution to the volume. The phrase an “activity is off” is to mean hereinafter the drivers associated with the activity are in their reference value. Hybrid due-to is used to calculate the volume variance for a set of non-distribution activities that do not have drivers with reference values. Volume variance for distribution activities is calculated by subtracting the volume variance calculated for the set of non-distribution activities from one of the two difference sales volumes. In addition, in one embodiment, synergy is allocated to each of the volume variances based on the absolute value of the volume variances.
h-0006Volume Decomposition
p-0036In one embodiment, the state of a business' sales volume measured in a suitable unit (unit count, ounces, dollars, etc., (hereinafter referred to as “volume”) at time t is described by a set of measurements {d<sub>p,t,l</sub><sup>i</sup>}<sub>i=l, . . . k </sub>indexed by product p, time t, and location l. The set of measurements for a fixed i is called a driver. A driver is an action that call affect the volume. A market response model maps a history, e.g. the set of all the measurements for which t≦T, to a volume V<sub>T,p,l </sub>at time T for product p and location l. The market response model can map a set of measurements that occurred in the past to a historical volume result or map a set of predicted measurements to a predicted volume.
p-0037In one embodiment, volume is represented as a volume data cube, with the dimensions being time, product and location. <figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram illustrating one embodiment of volume cubes for historical and predicted sales volumes. In <figref idrefs="DRAWINGS">FIG. 1</figref>, a cube of historical volume <b>102</b> represents a time series of data formed into a multi-dimensional cube, such as V<sub>T,p,l </sub>above. Although in one embodiment, the dimensions of historical volume cube <b>102</b> are time, products and locations, alternate embodiments may have more, less and/or different dimensions. Historical volume <b>102</b> ends at a specific time <b>112</b>. The portion of the cube to the left of actual historical volume <b>102</b> represents the very earliest volume available. Furthermore, in <figref idrefs="DRAWINGS">FIG. 1</figref>, response model <b>110</b>A maps the historical activity <b>104</b> to historical volume <b>102</b>. An activity is an action that can have an affect on the volume and can comprise one or more drivers, as described further below.
p-0038However, historical volume <b>102</b> and historical activity <b>104</b> do not always end at a specified time <b>108</b>. In other embodiments, historical volume <b>102</b> and historical activity <b>104</b> are for any past time period and of varying length, such as a days, weeks, months, years, etc. Furthermore, historical volume information <b>102</b> and historical activity <b>104</b> can have different time lengths or represent overlapping periods of time.
p-0039In addition, response model <b>110</b>B maps a predicted activity <b>106</b> to a predicted volume <b>108</b>. In one embodiment, predicted volume <b>108</b> has the same dimensions as historical volume: time, product, and location. The predicted activity <b>106</b> is copied from the historical activity <b>104</b>, derived from the historical activity <b>104</b>, derived from some other product activity, generated from user input or a combination thereof. This embodiment is meant to be an illustration of predicted activity <b>106</b> and does not imply that predicted activity <b>106</b> always starts at present time <b>108</b>. Other embodiments of predicted activity <b>106</b> can be for any future time period and of varying length, such as a days, weeks, months, years, etc. Furthermore, actual activity <b>104</b> and predicted activity <b>106</b> can have different time lengths. In one embodiment, response model <b>110</b>B is the same as or different than response model <b>110</b>A.
p-0040An analyst uses the response model to estimate the effect of activities on volume. In one embodiment, an activity is described by drivers that each can have a reference value and all executed value. The reference value for an activity's drivers represents the activity in the “off” state, meaning the activity adds no contribution to the volume. Some activities' drivers do not have a meaningful off state and, therefore, no reference value (e.g. number of stores the product is distributed in, price, etc.). An executed value for an activity's drivers is a value that adds a positive or negative contribution to the volume. This represents the activity in the “on” state. An activity is characterized by a subset of drivers and by a scope of those drivers that is affected by the activity.
p-0041In one embodiment, the business' sales volume is represented as the superposition of the base volume (e.g., no promotions, a reference price for all products, average temperature, no advertising, etc.) and an additional volume due to an execution of the set of activities. These activities are activities of the business (e.g., TV advertising, a display for products, a price increase for products), other businesses in the market (e.g., a competitors display, competitors TV advertising, etc.) and/or the environment itself (e.g., a cold spell, a gas-price increase, etc.). An activity is characterized by a deviation of some of the drivers from their reference values for some combinations of products, locations and time periods. In this embodiment, an activity is therefore described by a set of drivers and a scope.
p-0042In one embodiment, the response model is expressed as a mathematical function of a base volume and the volume due to set of activities, as illustrated in Eq. (1):
p-0043<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>Volume</mi><mo>=</mo><mrow><msub><mi>Volume</mi><mi>Base</mi></msub><mo>+</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><msub><mi>β</mi><mi>i</mi></msub></mrow><mo>+</mo><mrow><msub><mi>f</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>Activity</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where Volume is the historical or predicted volume, Volume<sub>Base </sub>is the base volume, B<sub>i </sub>is the coefficient for Activity<sub>i</sub>, f<sub>i </sub>is the function applied to the Activity<sub>i</sub>, and Activity<sub>i </sub>is the activity affecting Volume such as, for example, TV advertising, product display, price increase, etc. While in one embodiment, function ƒ<sub>i </sub>is a linear function, in alternative embodiments, function θ<sub>i </sub>is another function known in the art (e.g., logarithmic functions, exponential functions, algebraic functions, etc.) and/or combinations thereof, For example, in one embodiment, the natural logarithm is used in multiplicative models to represent a constant elasticity model, normalizations are used to model pooling and shrinking across products and locations, adstock is used to model delayed impact of a marketing action on a behavior (e.g., TV), and saturation is used to model diminishing returns (or fatigue) of a marketing action on a behavior). In addition, in one embodiment, each activity is modeled as a function of one or more drivers <br />Activity<sub>i</sub><i>=g</i><sub>i</sub>(<i>d</i><sub>1</sub><i>,d</i><sub>2</sub><i>, . . . , d</i><sub>n</sub>) (2)<br /> where Activity<sub>i </sub>is the activity affecting Volume, g<sub>i </sub>is the function transforming drivers (d<sub>1</sub>, d<sub>2</sub>, . . . d<sub>n</sub>) to Activity<sub>i</sub>, and (d<sub>1</sub>, d<sub>2</sub>, . . . , d<sub>n</sub>) are the drivers affecting Volume. For example, in one embodiment, the activity price comprises drivers NoPromoPrice, the price charged when there is no promotion in a given week and AvgNoPromoPrice, the average price in a given year for product sold without promotion. As another example, in one embodiment, the activity marketing comprises television advertising (TV), Furthermore, in one embodiment, a driver is used for one or more activities as described below.
p-0044While in one embodiment Eqs. (1) and (2) are used to calculate a volume, in alternate embodiments, Eqs. (1) and (2) are used for other purposes (scenario analysis, forecasts, insight generation, financial predictions, etc.). Eqs. (1) and (2) comprises one embodiment of the response model. Furthermore, the response model can have different embodiment than Eqs. (1) and (2). For example, an alternative embodiment of the response model is a generalized parameterized form (Eq. (3)): <br />Volume={acute over (<i>f</i>)}(<i>A</i><sub>1</sub><i>A</i><sub>2</sub><i>, . . . A</i><sub>n</sub><i>,{right arrow over (β)}</i>) (3)<br /> where Volume is the historical or predicted volume, {acute over (f)} is the model form, A<sub>1</sub>, A<sub>2</sub>, . . . , A<sub>n </sub>is the set of activities, and {right arrow over (β)} is the vector of coefficients. This includes any calculation that takes measures of activities as inputs and returns a number describing a measure of sales volume. In addition, the response model is expressed as a velocity model. Eq. (4):
p-0045<maths id="MATH-US-00002" num="00002"><math overflow="scroll"><mtable><mtr><mtd><mrow><mfrac><mi>Volume</mi><mrow><mi>A</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>C</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>V</mi></mrow></mfrac><mo>=</mo><mrow><mover><mi>f</mi><mo>~</mo></mover><mo></mo><mrow><mo>(</mo><mrow><msub><mi>A</mi><mn>1</mn></msub><mo>,</mo><msub><mi>A</mi><mn>2</mn></msub><mo>,</mo><mi>…</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo>,</mo><msub><mi>A</mi><mi>n</mi></msub></mrow><mo>)</mo></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where Volume is the historical or predicted volume, {acute over (f)} is the model form, A<sub>1</sub>, A<sub>2</sub>, . . . , A<sub>n </sub>is the set of activities, and ACV is all-commodity volume, a measure of size of a given location. The response model can also be modeled as a promotion condition model, as in Eqs. (5) and (6):
p-0046<maths id="MATH-US-00003" num="00003"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mi>Volume</mi><mo>=</mo><mrow><munder><mo>∑</mo><mi>PromoCond</mi></munder><mo></mo><msub><mi>Volume</mi><mi>PromoCond</mi></msub></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br />PromoCondε{Feature,Display,FeatureDisplay,TPR,NoPromo}<br />Volume<sub>PromoCond</sub><i>=ACV</i><sub>PromoCond</sub><i>·f</i><sub>PromoCond</sub>(<i>A</i><sub>1</sub><i>,A</i><sub>2</sub><i>, . . . A</i><sub>n</sub>) (6)<br /> where Volume is the historical or predicted volume, Volume<sub>PromoCond </sub>is the volume for that promotion condition, f is the model form, A<sub>1</sub>, A<sub>2</sub>, . . . , A<sub>n </sub>is the set of activities, ACV<sub>promoCond </sub>is the all-commodity volume of those locations that had the specified promotion condition, and PromoCond is type of promotional condition consisting of Feature, Display. Feature+Display, temporary price reduction (TPR), and/or no promotion.
p-0047<figref idrefs="DRAWINGS">FIG. 2</figref> is a processing block diagram illustrating one embodiment of a response model structure. While in one embodiment, <figref idrefs="DRAWINGS">FIG. 2</figref> is a general structure of the response model, in alternate embodiment, the response model structure is a model structure known in the art (e.g. parameterized form, velocity model, promotion condition model, neural network model, agent based model, etc.). In <figref idrefs="DRAWINGS">FIG. 2</figref>, model <b>202</b> comprises coefficients <b>204</b>A-F, variables <b>206</b>A-F, functions <b>208</b>A-B, and drivers <b>210</b>A-H. In one embodiment, a variable represents one of the set of activities affecting the modeled volume. In another embodiment, a variable represents multiple activities or an activity might be represented by multiple variables. In one embodiment, model <b>202</b> is a sequence of calculations in which variables <b>206</b>A-F are combined with coefficients <b>204</b>A-F to calculate a volume. Variables <b>206</b>A-F are composed of drivers <b>210</b>A-H and functions <b>208</b>A-B using those drivers <b>210</b>A-H. For example, variable <b>206</b>A comprises a function <b>208</b>A of drivers <b>210</b>A and driver <b>210</b>B. Furthermore, variable <b>208</b>B comprises driver <b>210</b>D and a function <b>208</b>B of driver <b>210</b>C. In addition, variable <b>208</b>C comprises driver <b>210</b>C and <b>210</b>E. Variable <b>208</b>D comprises driver <b>210</b>F and a function <b>208</b>B of driver <b>210</b>C. Variable <b>206</b>F comprises drivers <b>210</b>G and <b>210</b>H. In addition, a variable does not need to be comprised of drivers. For example, variable <b>206</b>E is not dependent on any drivers. In one embodiment, a variable of this type is a constant.
p-0048In one embodiment, each driver has a scope that is the set of products and locations for which the specific driver (measurement) enters the model. In one embodiment, dec default scope of a driver entering a model is the scope of the model itself, e.g., the price for ProductA in Location1 is part of a model for ProductA in Location1. In another embodiment, the same driver can also be used for ProductB in Location1 in a model for ProductA in Location1 to describe the effect of ProductB's price on ProductA. Furthermore, the scope of a variable is based on the scopes of the drivers that are part of that variable.
p-0049The structure of variables and drivers in the models reflects the activities that the model is designed to take into account for modeling historical and predicted volumes. In one embodiment, the following assumptions on how marketing activities are reflected in each model: <ul><li id="ul0001-0001" num="0000"><ul><li id="ul0002-0001" num="0049">1. Each model has a given set of activities of interest.</li><li id="ul0002-0002" num="0050">2. Activities are described by a set of drivers with a scope associated with each driver.</li><li id="ul0002-0003" num="0051">3. Each driver has a single “off” state in each Product/Week/Location. The driver's off state is also referred to as the driver's reference value.</li><li id="ul0002-0004" num="0052">4. An activity can be on or off. If an activity is off, all drivers used to describe this activity are in their off state. If the activity is on, at least one driver is not at its reference value.</li><li id="ul0002-0005" num="0053">5. The state of the model in which all activities are off is the base state. The volume associated with the base state is the base volume. <br /> In one embodiment, the same driver is used for different variables (and/or activities) and has different scopes. As an example, driver <b>210</b>C is used for variables <b>206</b>B and <b>206</b>D. In this example, driver <b>210</b>C would have one scope for variable <b>206</b>B and another scope for <b>206</b>D. </li></ul></li></ul>
p-0050An example of the relationship between an activity (and/or variable) and individual drivers is the activity end cap display. End cap display represents the marketing activity of placing a product at the end of a supermarket isle in high traffic areas of the store. In one embodiment, the end cap activity is represented as a function of the percentage of stores that have an end cap display for a product and the price (usually a decrease in price) associated with that product on display. The drivers for this activity are the store percentage having the display and the promotional price. The corresponding off state for this activity is zero store percentage and a price corresponding to the base price (e.g., no price decrease).
p-0051With these defined set of activities and associated drivers, the response model described above allows an analyst to compute a base volume and the volume resulting from the set of activities used in the model. In addition, this model allows an analyst to compute a contribution to the volume from each of the set of activities. Each activity can have a positive, negative, or negligent effect on the volume. For example, discounting the price of a product could have a positive effect on volume. Conversely, raising the price on that same product could have a negative effect on volume. Computing volume contributions for each of the set of activities is called a volume decomposition. A volume decomposition allows the analyst to determine which of the set of activities gave the greatest or least amount of volume contribution.
p-0052<figref idrefs="DRAWINGS">FIG. 3</figref> is a table illustrating one embodiment of a volume decomposition. In <figref idrefs="DRAWINGS">FIG. 3</figref>, the base volume <b>304</b> is 89.07% of the total volume. In this embodiment, the activities <b>306</b>A-M make up 11.42% of the total volume with the remaining 0.35% attributed to model error. Each of activities <b>306</b>A-M gives different contributions to the total volume. For example, feature activity <b>306</b>A gives the most contribution at 2.99%, with TV advertising <b>306</b>E and temporary price reduction (TPR) <b>306</b>D also giving contributions to the total volume above 2%. Conversely, some activities give no or little contribution to the total volume, such as feature and display <b>306</b>B, competDistrib8thCont (the distribution of a specific competitor) <b>306</b>L, and competDistribPL (the distribution of Private Label products) <b>306</b>M.
p-0053In one embodiment, model error <b>302</b> is the difference between the calculated total volume (including all activities and allocated synergy) and the actual volume. Model error <b>302</b> is reported as a separate category or is included into the base volume, set of activities, and/or a combination thereof.
p-0054<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram of one embodiment of a process <b>400</b> for calculating a volume decomposition that includes synergy allocation. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>400</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0055Referring to <figref idrefs="DRAWINGS">FIG. 4</figref>, at processing block <b>402</b>, the process begins by processing logic accessing inputs for the volume decomposition calculation. In one embodiment, these inputs comprise the response model, the parameters of the model, the set of activities that contributed to the calculated volume, and a set of drivers associated with each of the activities. In one embodiment, the input corresponds to the response model, coefficients, functions, and set of activities and drivers as described above with respect to <figref idrefs="DRAWINGS">FIG. 2</figref>.
p-0056At processing block <b>404</b>, processing logic determines the driver reference values for each of the set of activities. This is done through user input, rules based on historical driver values or any other logic based on historical data or default values. As per above, the driver reference values represent the off state of the driver. In addition, the off state for an activity means that this activity will yield no additional contribution to the volume. An activity in the off state is defined as having all the drivers comprising that activity will be in the off state.
p-0057At processing blocks <b>406</b> and <b>408</b>, processing logic calculates the base and predicted volume using the response model and the activities with the reference and executed values of these activities, respectively. In one embodiment, processing logic calculates the base volume by setting each of the activities to the off state and using the driver reference values for the base volume calculation. As per above, the base volume represents the sales volume if the business did not do any of the activities for the product(s), location(s) and/or time period(s) represented in the volume cube. Furthermore, processing logic calculates the predicted volumes using the executed driver values. In one embodiment, the executed driver values are the driver values that were actually used or planned to be used.
p-0058In one embodiment, with the accessed response model, processing logic calculates different scenarios with certain activities on and certain activities off. The difference in predicted volume that results from switching an activity on/off is the raw volume attributed to those activities that are switched. Volume attributed to a set of activities may not be the sum of the volumes attributed to the individual activities, This is due to non-linearities of the volume response existing in real life and captured in the model. Different activities might “help” or “hurt” other activities and generate more or less volume if executed together than if executed separately. The difference between the predicted volumes is called synergy and is either reported separately or allocated to the individual activities. Calculating the synergy is further described at processing block <b>420</b> below.
p-0059Processing logic executes a processing loop (processing blocks <b>410</b>-<b>418</b>) to calculate a raw volume contribution for each activity. At processing block <b>412</b>, processing logic sets one of the activities to the opposite state of all the other activities. In one embodiment, processing logic sets the drivers for one of the activities to their off state and sets all the other activities' drivers to the on state. In this embodiment, processing logic calculates the raw volume contribution for the activity using a subtractive scheme, described below. In another embodiment, processing logic sets the drivers for one of the activities to the on state and sets all the other activities to the off state. In this embodiment, processing logic calculates a raw volume contribution for the activity using an additive scheme, described below.
p-0060At processing block <b>414</b>, processing logic calculates the raw volume contribution of an activity using one of the additive and subtractive schemes. Using the inputted set of activities {a<sub>1</sub>, a<sub>2</sub>, . . . a<sub>n</sub>}, indicate that activity i is on such that the drivers associated with the activity take their executed values. Respectively, denote by a<sub>i</sub><sup>0 </sup>that activity i is off such that the drivers associated with the activity take their reference values for the associated scopes. In one embodiment, processing logic calculates raw volume contributions using an additive scheme. In the additive scheme, processing logic calculates the volume difference for the scenarios in which only a single activity is on and the scenario in which all activities are off. The difference is the raw volume contribution attributed to that activity, as shown in Eq. (7). <br />Volume<sup>add</sup>(<i>a</i><sub>i</sub>)=Volume({<i>a</i><sub>1</sub><sup>0</sup><i>, . . . , a</i><sub>i−1</sub><i>,a</i><sub>i</sub><sup>1</sup><i>,a</i><sub>i+1</sub><sup>0</sup><i>, . . . , a</i><sub>n</sub><sup>0</sup>})−Volume({<i>a</i><sub>1</sub><sup>0</sup><i>, . . . a</i><sub>i−1</sub><sup>0</sup><i>,a</i><sub>i</sub><sup>0</sup><i>,a</i><sub>i+1</sub><sup>0</sup><i>, . . . , a</i><sub>n</sub><sup>0</sup>}) (7).<br /> In another embodiment, processing logic calculates the raw volume contribution using a subtractive scheme. In the subtractive scheme, processing logic calculates the volume difference with all activities on with the volume predicted in the case that a single activity is off as shown in Eq. (8): <br />Volume<sup>Subtr</sup>(<i>a</i><sub>i</sub>)=Volume({<i>a</i><sub>1</sub><sup>1</sup><i>, . . . , a</i><sub>i−1</sub><sup>1</sup><i>,a</i><sub>i</sub><sup>1</sup><i>,a</i><sub>i+1</sub><sup>1</sup><i>, . . . a</i><sub>n</sub><sup>1</sup>})−Volume({<i>a</i><sub>1</sub><sup>1</sup><i>, . . . , a</i><sub>i−1</sub><sup>1</sup><i>,a</i><sub>1</sub><sup>0</sup><i>,a</i><sub>i+1</sub><sup>1</sup><i>, . . . , a</i><sub>n</sub><sup>1</sup>}) (8).<br /> The processing loop ends at processing block <b>418</b>.
p-0061At processing block <b>420</b>, processing logic determines the synergy contribution and allocates a portion of that synergy to each individual activity raw volume contribution. Synergy results from the non-linearities in the model. To determine the synergy, processing logic calculates the sum of the activity raw volumes from processing block <b>410</b>-<b>418</b> and calculates an incremental volume. The incremental volume from all activities combined is the difference of the predicted volume when all activities are active and the predicted volume when all of them are inactive. It is independent of the method by which individual activities' raw volume contributions are calculated using Eq. (9): <br />IncVolume=Volume({<i>a</i><sub>1</sub><sup>1</sup><i>,a</i><sub>2</sub><sup>1</sup><i>, . . . , a</i><sub>n</sub><sup>1</sup>})−Volume({<i>a</i><sub>1</sub><sup>0</sup><i>,a</i><sub>2</sub><sup>0</sup><i>, . . . , a</i><sub>n</sub><sup>0</sup>}) (9).<br /> In one embodiment, due to the non-additivity of the world and the model representation of it, it can that the incremental volume does not equal the sum of the raw volume contributions, Eqs. (10a) and (10b):
p-0062<maths id="MATH-US-00004" num="00004"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>IncVolume</mi><mo>≠</mo><mrow><munder><mo>∑</mo><mi>i</mi></munder><mo></mo><mrow><msup><mi>Volume</mi><mi>add</mi></msup><mo></mo><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mn>10</mn><mo></mo><mi>a</mi></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mi>IncVolume</mi><mo>≠</mo><mrow><munder><mo>∑</mo><mi>i</mi></munder><mo></mo><mrow><msup><mi>Volume</mi><mi>subtr</mi></msup><mo></mo><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mn>10</mn><mo></mo><mi>b</mi></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> The difference of incremental volume and total raw volume contribution is defined as synergy, Eqs. (11a) and (11b):
p-0063<maths id="MATH-US-00005" num="00005"><math overflow="scroll"><mtable><mtr><mtd><mrow><msup><mi>Synergy</mi><mi>add</mi></msup><mo>=</mo><mrow><mi>IncVolume</mi><mo>-</mo><mrow><munder><mo>∑</mo><mi>i</mi></munder><mo></mo><mrow><msup><mi>Volume</mi><mi>add</mi></msup><mo></mo><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mn>11</mn><mo></mo><mi>a</mi></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>Synergy</mi><mi>subtr</mi></msup><mo>=</mo><mrow><mi>IncVolume</mi><mo>-</mo><mrow><munder><mo>∑</mo><mi>i</mi></munder><mo></mo><mrow><mrow><msup><mi>Volume</mi><mi>subtr</mi></msup><mo></mo><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mn>11</mn><mo></mo><mi>b</mi></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
p-0064Synergy means that some or all marketing activities result in “the sum being grater than the parts.” This means that the execution of multiple activities in concert (at least as long as these activities make positive contributions to volume) can generate a volume that is higher (or lower) than the sum of the volumes generated by individual execution of all activities. Therefore, additive synergy tends to be positive. For the same reason, subtractive synergy tends to be negative since turning off an individual activity not only loses the lift from that activity but also makes the remaining activities somewhat less effective.
p-0065In one embodiment and depending on the relative size of incremental volume to total volume and the relative lift of different activities, the choice of decomposition scheme has an impact on raw incremental volume. For example, the subtractive method can allocate a relatively higher volume contribution to the “small” effects than the additive method.
p-0066Furthermore, at processing block <b>420</b> and in one embodiment, processing logic allocates the computed synergy to each of the raw volume contributions. By allocating the synergy to the raw volume contributions, processing logic can calculate a volume contribution for an activity that models the actual volume contribution. In one embodiment, processing logic allocates synergy for each activity in the set of activities. In this embodiment, the calculated synergy is the result of the interaction of all the activities. In another embodiment, processing logic excludes one or more of the activities from the synergy allocation. In this alternative embodiment, an activity that is excluded from the synergy allocation will have the final volume contribution equal to the raw volume contribution. For example, an activity is excluded if the activity enters the response model in an additive fashion (e.g., supplemental volume) or activities that will be combined with base volume later to form the reported base volume.
p-0067In alternate embodiments, amongst those activities included into the synergy allocation, synergy is allocated based on different formulae. Examples are proportionate allocation, allocation proportionate to the absolute size of a volume contribution, allocation in equal portions, or any allocation scheme that results in the sum synergy portions allocated to each activity being equal to total synergy
p-0068Before discussing allocation of synergy, it is useful to give an example of an overall volume decomposition calculation. In one embodiment, processing logic allocates synergy with the following properties: raw and final volume contributions have the same sign (no sign flipping); final volume contributions be as close to the raw contributions a possible; and the relative size of final contributions be as close as possible to the relative size of the raw contributions. Allocating synergy with this embodiment is further described in <figref idrefs="DRAWINGS">FIG. 6</figref>, below.
p-0069<figref idrefs="DRAWINGS">FIG. 5</figref> is a table illustrating one embodiment of a volume decomposition calculation using the subtractive scheme. In <figref idrefs="DRAWINGS">FIG. 5</figref>, processing logic computes a volume decomposition <b>522</b> using activities <b>524</b>A-F. Activities <b>524</b>A-F comprise TV advertising <b>524</b>A, print advertising <b>524</b>B, coupons <b>524</b>C, display <b>524</b>D, feature <b>524</b>E, and competition <b>524</b>F. Processing logic uses a response model (not shown) that models this market volume using drivers <b>510</b>A-J. Each of the activities <b>524</b>A-F comprises one or more of drivers <b>510</b>A-J. For example. TV advertising <b>524</b>A comprises TV gross ratings points driver <b>510</b>A, print advertising <b>524</b>B comprises print circulation driver <b>510</b>H, coupons <b>524</b>C comprises coupon circulation driver <b>510</b>F, display <b>5241</b>D comprises percent base volume on display driver <b>510</b>B and display price driver <b>510</b>C, feature activity <b>524</b>E comprises percent base volume on feature driver <b>5101</b> and feature price driver <b>510</b>E, and competition activity <b>524</b>F comprises percent volume on trade competition driver <b>510</b>J. As illustrated in <figref idrefs="DRAWINGS">FIG. 5</figref>, activities <b>524</b>A-F comprise one or more of drivers <b>510</b>A-J. However, not all of drivers <b>510</b>A-J are included in one of activities <b>524</b>A-F. For example, base price driver <b>510</b>I and radio gross ratings point <b>510</b>G are not included in one of activities <b>524</b>A-F. Instead, these drivers add to the base volume <b>508</b> and are not changed during a simulation to determine the raw volume contribution of activities <b>524</b>A-F.
p-0070Furthermore, as described above, each of drivers <b>510</b>A-J has a reference value and an executed value. Processing logic uses the executed value to calculate the expected volume, whereas processing logic uses drivers <b>510</b>A-J reference values to calculate the base volume. Processing logic uses either the reference or expected values at times to calculate an activity's raw volume contribution. Using these values, processing logic calculates an expected volume of 1000 and a base volume of 700. The incremental volume is 300.
p-0071Processing logic uses this model described above to calculate a raw volume contribution for each of activities <b>524</b>A-F. For example, for TV advertising <b>524</b>A, processing logic calculates a volume with TV gross rating point driver <b>510</b>A changed from its expected value of 20 to the reference value of 0. This scenario gives a predicted volume of 950, meaning that the raw volume for TV advertising <b>524</b>A is 50. For the print activity <b>524</b>B, processing logic turns off the print activity driver <b>510</b>H to 0 from 1,000,000. This calculation gives a raw volume contribution for print activity <b>524</b>B of 20. Similarly, processing logic calculates raw volume contributions for coupons <b>524</b>C, display <b>5249</b>, feature <b>524</b>E, and competition <b>524</b>F of 10, 150, 100, and −5, respectively, using the reference values for the associated driver illustrated in <figref idrefs="DRAWINGS">FIG. 5</figref>.
p-0072From the raw volume contributions above, processing logic calculates the absolute value of the raw volume contributions, which are 50, 20, 10, 150, 100, and 5 for activities <b>524</b>A-F, respectively. As will be described below with respect to <figref idrefs="DRAWINGS">FIG. 5B</figref>, the allocated synergy for each activity is −3.73, −1.49, −0.75, −11.19, −7.46, and −0.37 for activities <b>524</b>A-F, respectively. This leads to a final volume contribution of 700 for base volume <b>508</b> and activity <b>524</b>A-F contributions of 46.27, 18.51, 9.25, 138.81, 92.54, and −5.37, respectively.
p-0073In the volume decomposition described above, processing logic allocated synergy based on the absolute values of the raw volume contributions. <figref idrefs="DRAWINGS">FIG. 6</figref> is a flow diagram of one embodiment of a process <b>600</b> for calculating synergy allocations based on the absolute value of the raw volume. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>600</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0074In <figref idrefs="DRAWINGS">FIG. 6</figref>, at processing block <b>602</b>, the process begins by processing logic summing the activity raw volume contributions calculated in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing blocks. Processing logic sets the amount of synergy equal to the incremental volume minus the raw volume sum at processing block <b>604</b>.
p-0075At processing block <b>606</b>, processing logic allocates a portion of the calculated synergy for each of the activity volume contributions based on the absolute values of the raw volume contributions. In one embodiment, let V<sub>1</sub>, V<sub>2</sub>, . . . , V<sub>n </sub>be the raw volume contributions of those activities that are being allocated a portion of the calculated synergy and let S be the calculated synergy to be allocated. In one embodiment, the final volume contribution for each activity i is computed using Eq. (12):
p-0076<maths id="MATH-US-00006" num="00006"><math overflow="scroll"><mtable><mtr><mtd><mrow><msubsup><mi>V</mi><mi>i</mi><mi>Final</mi></msubsup><mo>=</mo><mrow><msub><mi>V</mi><mi>i</mi></msub><mo>+</mo><mrow><mfrac><mrow><mo></mo><msub><mi>V</mi><mi>i</mi></msub><mo></mo></mrow><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo></mo><mrow><mo></mo><msub><mi>V</mi><mi>j</mi></msub><mo></mo></mrow></mrow></mfrac><mo>·</mo><mrow><mi>S</mi><mo>.</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where V<sub>i</sub><sup>Final </sup>is the final volume contribution for an activity i, V<sub>i </sub>is the raw volume contribution for activity i, and S is the total calculated synergy. Furthermore, because synergy S satisfies the inequality,
p-0077<maths id="MATH-US-00007" num="00007"><math overflow="scroll"><mrow><mrow><mrow><mo>-</mo><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo></mo><mrow><mo></mo><msub><mi>V</mi><mi>j</mi></msub><mo></mo></mrow></mrow></mrow><mo>≤</mo><mi>S</mi><mo>≤</mo><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo></mo><mrow><mo></mo><msub><mi>V</mi><mi>j</mi></msub><mo></mo></mrow></mrow></mrow><mo>,</mo><msubsup><mi>V</mi><mi>i</mi><mi>Final</mi></msubsup></mrow></math></maths><br /> and V<sub>i </sub>will have the same sign. In addition, the raw contributions with the same sign are scaled by the factor with a relative size, preserving volume contribution relative size.
p-0078As an example of synergy allocation, <figref idrefs="DRAWINGS">FIG. 7</figref> is a table illustrating one embodiment of a synergy calculation. The volume numbers in <figref idrefs="DRAWINGS">FIG. 7</figref> are derived from the expected/base volumes and volume contributions in <figref idrefs="DRAWINGS">FIG. 5</figref>. For example, incremental volume <b>706</b> has a value of 300 that is the difference of the expected volume <b>704</b> and the base volume <b>508</b>. Summing the raw volume contributions <b>758</b> gives a total of 325. The difference between this sum and the incremental volume is 25, which is the synergy <b>710</b>. In one embodiment, synergy <b>710</b> is allocated to the raw volume contribution using Eq. (7) above.
p-0079As described above, processing logic allocates the synergy based on the absolute value of the raw volume contribution. In an alternate embodiment, processing logic allocates synergy based on the actual raw volume contributions. However, allocating synergy based on raw volume contributions has drawbacks. For example, for negative synergy, allocating based on raw volume contributions can flip the sign of an activity's volume contribution. Sign flipping call change an activity from a positive volume contribution to a negative volume contribution or vice versa. Thus, sign flipping obscures the qualitative contribution as activity has to the volume. As described above, allocating synergy based on the absolute value of the raw volume contribution does not have the sign flipping problem. Furthermore, raw volume synergy allocation can lead to large amounts of scaling to get a small amount of synergy. As will be described below, this can arise for raw volume contributions of opposite signs. FIG. <b>8</b>AB are block diagrams that illustrate synergy allocation based on raw volume contributions and the absolute value of the raw volume contributions. In <figref idrefs="DRAWINGS">FIG. 8A</figref>, diagram <b>800</b> comprises volume contributions of two activities <b>802</b>A-B. In this diagram, raw volume contribution <b>802</b>A is positive and larger than the negative raw volume contribution. Synergy allocations <b>804</b> A-B are allocations that adjust raw volume contribution <b>802</b> A-B in opposite directions. The overall allocated synergy is positive because |allocation <b>804</b>A|>|allocation <b>804</b>B|. In comparison, in <figref idrefs="DRAWINGS">FIG. 8B</figref>, diagram <b>880</b> comprises raw volume contributions <b>852</b>A-B and synergy allocations <b>854</b>A-B. Because the overall synergy allocated is positive and the synergy is allocated based on the absolute value of raw volume contributions <b>852</b>A-B, synergy allocation <b>854</b>A-B are both positive and smaller than the corresponding synergy allocation <b>804</b>A-B in <figref idrefs="DRAWINGS">FIG. 8A</figref>.
p-0080The method described above calculates a volume decomposition for a single predicted volume, e.g., for a single product in a single week and a single location. If a volume decomposition is desired for a set of volumes (multiple Products/Weeks/locations), the volume decompositions for all individual volumes are calculated and the volume contributions to the respective activities are added.
p-0081As described above, in one embodiment, a volume decomposition is computed that is independent of that response model by toggling on/off activities. While the decomposition process is described in terms of decomposing a volume, this process, in alternate embodiments, can be used to decompose other measurable business metrics (e.g., revenue, profit or market share, etc.). For example, in one embodiment, processing logic decomposes another measurable business metric and allocates synergy as described in <figref idrefs="DRAWINGS">FIGS. 4 and 6</figref> above.
h-0007Atomic Decompositions and Decompositions Hierarchies
p-0082The volume decomposition described above illustrates a decomposition at one level of granularity, namely the granularity based on the response model and the set of activities. However, businesses are often interested in seeing decompositions at different levels of granularity. For example, what is considered a single activity for the purpose of one report (e.g. Trade Promotions) might be considered as a collection of multiple activities for another business purpose (e.g. Display, Feature, Feature and Display, and TPR). As another example, a single encompassing activity of TV is broken down into one or more individual activities of national TV, local TV, cable, broadcast, daytime, nighttime, etc. However, due to the potential allocation of synergy at different levels of granularity, the level at which activities are defined will have an impact on the volume contribution attributed to a collection of activities. This can lead to inconsistencies between different decomposition reports. Referring back to the example activity groupings, one report for trade can give a different volume contribution overall than the sum of display, feature, feature and display, TPR activity volume contributions.
p-0083To avoid these inconsistencies, a fundamental set of “indivisible” or “atomic” activities is defined along with a set of trees describing how to roll up the volume contributions from these atomic activities into aggregate activities. Each level of the tree is called a decomposition level with the level for the leaf nodes being the atomic decomposition level. The sequence of levels starting at the atomic decomposition level is called a decomposition hierarchy. Volume contributions for an activity are obtained by summing the volume contributions of all the atomic activities (leaf nodes) underneath the node associated with this activity. The hierarchy of atomic decomposition level and higher decomposition levels is called a volume decomposition hierarchy.
p-0084<figref idrefs="DRAWINGS">FIG. 9</figref> is a block diagram illustrating one embodiment of a volume decomposition hierarchy <b>900</b>. In <figref idrefs="DRAWINGS">FIG. 9</figref>, volume decomposition hierarchy <b>900</b> comprises three decomposition levels: summary level <b>902</b>, detailed level <b>904</b>, and atomic level <b>906</b>. While volume decomposition hierarchy <b>900</b> is illustrated with three levels, in alternate embodiments, volume decomposition hierarchy <b>900</b> has more or less decomposition levels with the same and/or different volume decomposition levels. In particular, volume decomposition hierarchy <b>900</b> can have more than one summary level and/or detailed level.
p-0085Atomic decomposition level <b>906</b> is the lowest level of volume decomposition hierarchy <b>900</b> and comprises the finest granularity of activities. Atomic decomposition level <b>906</b> comprises activities <b>912</b>A-K which are % ACV <b>912</b>A, number of items <b>912</b>B, feature <b>912</b>C, display <b>912</b>D, feature and display <b>912</b>E, TPR <b>912</b>F, National TV <b>912</b>G, local TV <b>912</b>H, print <b>912</b>I, radio <b>912</b>J, and FSI <b>912</b>K. This decomposition level serves as a base for the detailed <b>904</b> and summary <b>902</b> decomposition levels.
p-0086Detailed decomposition level <b>904</b> is a volume decomposition level that is an aggregation of the activities in the atomic decomposition level <b>906</b>, Detailed decomposition level <b>904</b> comprises activities <b>910</b>A-I which are distribution <b>910</b>A, feature <b>910</b>B, display <b>910</b>C, feature and display <b>910</b>D, TPR <b>910</b>E, TV <b>910</b>F, print <b>910</b>G, radio <b>910</b>H, and FSI <b>910</b>I. The activities <b>910</b>A-I in detailed decomposition level <b>904</b> are composed of one or more activities <b>912</b>A-K from the atomic decomposition level <b>906</b>. For example, distribution <b>910</b>A comprises % ACV <b>912</b>A and number of items <b>912</b>B. Furthermore, feature <b>910</b>B, display <b>910</b>C, feature and display <b>910</b>D, TPR <b>910</b>E comprise each of feature <b>912</b>C, display <b>912</b>D, feature and display <b>912</b>E, and TPR <b>912</b>F, respectively. TV <b>910</b>F comprises national TV <b>912</b>G and local TV <b>912</b>H.
p-0087Summary decomposition level <b>902</b> is the highest decomposition level in the volume decomposition hierarchy and presents a volume decomposition of the least number of activities. In one embodiment, summary decomposition level <b>902</b> represents a volume decomposition due to a category of broad activities <b>908</b>A-D. In one embodiment, summary decomposition level <b>902</b> comprises activities <b>908</b>A-D, which are distribution <b>908</b>A, trade <b>908</b>B, media <b>908</b>C, and coupons <b>908</b>D. Each of these activities <b>908</b>A-D are composed of finer granular activities from the decomposition level <b>904</b> that is below the summary decomposition level <b>902</b>. For example, distribution <b>908</b>A comprises distribution <b>910</b>A. Trade <b>908</b>B comprises feature <b>910</b>B, display <b>910</b>C, feature and display <b>910</b>D, and TPR <b>910</b>E activities. Media <b>908</b>C summarizes media advertising activities and comprises TV <b>910</b>F, print <b>9100</b>G, and radio <b>910</b>H activities. Coupons <b>908</b>D summarizes coupon activity and comprises FSI <b>910</b>I.
p-0088Using this hierarchy of volume decomposition <b>900</b>, an analyst can use the high level decomposition <b>902</b> to get an overview of which activities <b>908</b>A-D) give which contributions to the changes in the volume. This analyst or a different analyst can drill down to the detailed <b>904</b> or atomic <b>906</b> volume decompositions to get a finer granularity of the activity contributions. In addition, because the volume decompositions are built upon atomic volume decomposition <b>902</b>, each of volume decompositions <b>904</b> and <b>906</b> are consistent with each other and atomic volume decomposition <b>902</b>. Thus, an analyst can choose the volume decomposition granularity level that best suits the needs of the analyst. In one embodiment, these volume decomposition levels are consistent because the volume contributions at each level have the same total synergy and add to the same total volume contribution.
p-0089<figref idrefs="DRAWINGS">FIG. 10</figref> is a flow diagram of one embodiment of a process <b>1000</b> for calculating a volume decomposition report for the atomic decomposition level. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>1000</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0090Referring to <figref idrefs="DRAWINGS">FIG. 10</figref>, at processing block <b>1002</b>, the process begins by processing logic accessing the defined set of atomic activities. As per above, the defined set of atomic activities is the indivisible set of activities for this response model. The defined set of activities is further described in <figref idrefs="DRAWINGS">FIG. 11</figref> below. Processing logic calculates raw volume contribution for each of the atomic activities at processing block <b>1004</b>. In one embodiment, processing logic calculates the raw volume contributions using additive or subtractive schemes, as described above in <figref idrefs="DRAWINGS">FIG. 4</figref> at processing blocks <b>410</b>-<b>418</b>.
p-0091At processing block <b>1006</b>, processing logic calculates the base volume using the response model. In one embodiment, processing logic calculates the base volume by turning all the atomic activities off as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>408</b> described above. Processing logic calculates the incremental volume from the base and expected volumes at processing block <b>1008</b>. In one embodiment, processing logic calculates the incremental volume as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>406</b>.
p-0092At processing block <b>1010</b>, processing logic calculates the final volume contributions for each of the atomic activities. In one embodiment, processing logic calculates the final volume contributions by allocating the calculated synergy as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>420</b> above. Processing logic presents the base volume and final volume contributions at processing block <b>1012</b>. In one embodiment, processing logic presents this data graphically, in a table, or in another scheme known in the art.
p-0093With the atomic decomposition level calculated, higher volume decomposition levels is defined and/or calculated. <figref idrefs="DRAWINGS">FIG. 11</figref> is a flow diagram of one embodiment of a process <b>1100</b> for determining higher volume decomposition levels based on the atomic volume decomposition levels. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>1100</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0094Referring to <figref idrefs="DRAWINGS">FIG. 11</figref>, at processing block <b>1102</b>, the process begins by processing logic accessing the set of activities for which volume contributions are to be broken out. Processing logic executes a processing loop (processing blocks <b>1104</b>-<b>1110</b>) to calculate a raw volume contribution for each activity. At processing block <b>1106</b>, processing logic defines higher level volume decomposition groups. In one embodiment, processing logic defines a higher volume decomposition group by defining a new set of activities from a lower set of activities. The lower set of activities is the atomic set of activities or a set of activities higher in the volume decomposition hierarchy than the atomic volume decomposition and lower than the set of activities being defined. For example, in <figref idrefs="DRAWINGS">FIG. 9</figref>, processing logic defines activities <b>910</b>A-I for detailed volume decomposition level <b>904</b> based on activities <b>912</b>A-K from the atomic volume decomposition level <b>906</b>. Processing logic defines a set of reference values for each of the drivers in the defined volume decomposition group. The processing loop ends at processing block <b>1110</b>.
p-0095With the different volume decomposition levels defined, the volume decomposition hierarchy is calculated as described in <figref idrefs="DRAWINGS">FIGS. 12 and 13</figref> below. <figref idrefs="DRAWINGS">FIG. 12</figref> is a flow diagram of one embodiment of a process <b>1200</b> for calculating a volume decomposition report for aggregate scopes for the atomic decomposition level. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>1200</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0096Referring to <figref idrefs="DRAWINGS">FIG. 12</figref>, at processing block <b>1202</b>, the process begins by processing logic calculating the base volume and the final volume contributions for the atomic volume decomposition level. In one embodiment, processing logic calculates the base volume and final volume contribution as described <figref idrefs="DRAWINGS">FIG. 4</figref> above. Processing logic sums the respective volume contributions for each activity for the base across product/week/locations in the scope at processing block <b>1204</b>. Processing logic presents the base volume and final volume contributions at processing block <b>1012</b>. In one embodiment, processing logic presents this data graphically, in a table, or in another scheme known in the art.
p-0097<figref idrefs="DRAWINGS">FIG. 13</figref> is a flow diagram of one embodiment of a process <b>1300</b> for calculating a volume decomposition report for aggregate scopes for decomposition levels higher in the decomposition hierarchy. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine, or a combination of both. In one embodiment, process <b>400</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0098Referring to <figref idrefs="DRAWINGS">FIG. 13</figref>, at processing block <b>1302</b>, the process begins by processing logic calculating the base volume and the final volume contributions for the atomic volume decomposition level. In one embodiment, processing logic calculates the base volume and final volume contribution as described <figref idrefs="DRAWINGS">FIG. 4</figref> above.
p-0099At processing block <b>1304</b>, for each volume decomposition group, processing logic sums the volume contributions of the atomic volume decomposition groups in the leaf nodes belonging to the volume decomposition group in the hierarchy. In one embodiment, each leaf nodes is an activity of one of the volume decomposition levels. Furthermore, processing logic assigns this sum to this volume decomposition group. Processing logic presents the base volume and final volume contributions at processing block <b>1012</b>. In one embodiment, processing logic presents this data graphically, in a table, or in another scheme known in the art.
p-0100In one embodiment, an atomic decomposition level and decomposition hierarchy of volume decomposition levels is described that results in a set of internally consistent set of volume decomposition levels. The atomic decomposition level represents a set of activities that are indivisible and are used to build upon other sets of activities and volume decomposition levels that are internally consistent with the atomic decomposition level.
p-0101While the atomic decomposition and decomposition hierarchy is described in terms of decomposing a volume, this process, in alternate embodiments, can be used to calculate atomic decompositions and decomposition hierarchies for other measurable business metrics (e.g., revenue, profit or market share, etc.). For example, in one embodiment, processing logic calculates an atomic decomposition and/or decomposition hierarchy for another measurable business metric as described in <figref idrefs="DRAWINGS">FIGS. 10-13</figref> above.
h-0008Hybrid Due-To Reports
p-0102The volume decomposition and volume decomposition hierarchy described above attempt to answer the question “What activities contribute to a sales volume (or other measurable business metrics)?” While the volume decomposition is applied to one or more products, time period and/or locations, the volume decomposition is typically applied when modeling a single sales volume figure. Another type of report, a “due-to,” determines the volume contributions due to differences in volumes between two different time periods. Thus, a due-to attempts to answer the question “Why is the volume up/down?” and determine how much of the volume change is attributable to each of the specific activities. In one embodiment, the due-to report is particularly useful when analyzing changes in volume for the same set of products over different time periods, such as comparing year-to-year sales volumes.
p-0103An analyst typically would want to know which activity change caused the volume changes. <figref idrefs="DRAWINGS">FIG. 15</figref> is a chart illustrating one embodiment of a due-to report <b>1500</b>. In <figref idrefs="DRAWINGS">FIG. 15</figref>, due-to report <b>1500</b> comprises a starting volume <b>1502</b>, ending volume <b>1504</b>, volume contribution changes <b>1506</b>, base volume change <b>1512</b>, and model error <b>1510</b>. Starting volume <b>1502</b> is the volume from the starting time period and ending volume <b>1504</b> is the volume from the ending time period. Due-to report <b>1500</b> presents the change in starting <b>1502</b> and ending <b>1504</b> volumes as comprising changes in each of the activities volume contribution and the change in the base volume contribution. For example, in <figref idrefs="DRAWINGS">FIG. 15</figref>, the change in the base volume <b>1512</b> adds +2.98% to starting volume <b>1502</b>.
p-0104Furthermore, in <figref idrefs="DRAWINGS">FIG. 15</figref>, changes in the activities volumes <b>1506</b> can be positive, negative, and/or zero, and range from −4% to +3.48%. For example, the volume change attributable to activity NumItems is +3.48%. The model error <b>1510</b> add −0.4% and −1.1% to the change in volume contribution.
p-0105As is known in the art, one scheme to calculate a due-to reports is to calculate volume decomposition reports for the starting and ending volumes and determine the differences in each activity from these reports. This scheme is known in the art as difference decomposition due-to report. The difference decomposition due-to asks the question “how did the volume contributions from my activities change?”
p-0106Difference decompositions are calculated as the difference—activity by activity—of volume contributions in a decomposition in time period two and a decomposition in time period one. However, difference decomposition due-tos have the disadvantage that certain activities that cannot naturally be decomposed and are therefore part of the base volume in decomposition. In one embodiment, some activities do not have a natural reference value and cannot be naturally included in a volume decomposition. Examples of such activities are base price or distribution. As a result, difference decomposition due-tos show these effects as base changes without breaking them out.
p-0107Independent of whether an activity is based on drivers with or without reference values, a due-to is calculated using the start and end value of these activities. This is called a hybrid due-to. The hybrid due-to asks the question “How did the change in the activity levels change the volume?” It compares what would have happened had the analyst not changed the plan to what happened under the changed plan and attributes the difference to the chances in activities.
p-0108The first step in calculating a hybrid due-to is to determining the change in base volume between the two time periods. This change in base volume results from temporal fluctuations in sales volume that occur without being directly caused by a firm's marketing activities and/or from activities that are not modeled in the response model. Note that volume contributions can change even if activities do not change. For example, volume may increase based on word of mouth advertising by a client base or the popularity of a set of products may increase/decrease naturally. This is due to changes in volume that resulted from driver changes not associated with activities, i.e. base changes.
p-0109<figref idrefs="DRAWINGS">FIG. 14</figref> is a block diagram <b>1400</b> illustrating one embodiment of different predicted volumes for different time periods along with the changes attributable to a change in base volume and activities. In <figref idrefs="DRAWINGS">FIG. 14</figref>, starting volume <b>1402</b> is the volume in period <b>1</b> (P<b>1</b>) and ending volume <b>1406</b> is the volume period <b>2</b> (P<b>2</b>), both predicted based on the activities that were executed in periods <b>1</b> and <b>2</b> respectively. In diagram <b>1400</b>, ending volume <b>1406</b> is greater than starting volume <b>1402</b>. We can also predict the volume for period <b>2</b> had we executed the same activities as we executed in period <b>2</b>, resulting in the volume noted by <b>1404</b>. The difference between volumes <b>1404</b> and <b>1402</b> is the change in base volume between the two periods. The changes in volume <b>1406</b> and <b>1402</b> are attributable to changes in the base volume <b>1404</b> and changes due to the activities <b>1410</b>. Volume <b>1404</b> represents the volume <b>1402</b> corrected for the change in base. After adjusting for the change in base volume, the rest of the volume change is attributable to the change in activities <b>1410</b>.
p-0110The raw volumes to be attributed to the changes in activity is calculated by using the driver values in P<b>1</b> as the decomposition reference values and executing one of the decomposition algorithms (e.g., additive, subtractive). In addition, synergy is allocated in any of the ways described above. The changes in volume contribution are also called a volume variance.
p-0111In this embodiment, the drivers in this model have a value defined in period <b>1</b>. For that reason, even drivers without an explicit reference value have a reference value in the hybrid due-to algorithm and, therefore, will have a volume contribution broken out.
p-0112<figref idrefs="DRAWINGS">FIG. 16</figref> is a flow diagram of one embodiment of a process <b>1600</b> for calculating a hybrid due-to and allocating synergy. The process may be performed by processing logic that may comprise hardware (e.g. circuitry, dedicated logic, programmable logic, microcode, etc.). software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>1600</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0113Referring to <figref idrefs="DRAWINGS">FIG. 16</figref>, at processing block <b>1602</b>, the process begins by processing logic accessing the start/end volume and activity values and other input information used in this process (response model, etc.). Processing logic calculates the start and end volumes at processing block <b>1604</b>. In one embodiment, processing logic calculates the start and end volumes as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>406</b>.
p-0114At processing block <b>1606</b>, processing logic calculates the change in base volume. As described above, the change in base volume can result from temporal fluctuation in sales volume that occurs naturally and/or from activities that are not modeled in the response model. In one embodiment, processing logic calculates the change in base volume by calculating one the predicted volume for one period (e.g., end or start volume) using the executed activities of the other period (e.g., start or end executed activities). The difference between these two predicted volumes is the change in base volume.
p-0115Processing logic executes a processing loop (processing blocks <b>1608</b>-<b>1614</b>) to calculate the change in volume contribution for each of the activities. At processing block <b>1610</b>, processing logic sets an activity to one of the start and end value and all of the other activities to the other sets of values. For example, if processing logic sets one activity to the start value, processing logic sets all the other activities to the end value. Using this setup, processing logic calculates the volume contribution for the activity that has the different start/end value. In one embodiment, processing logic calculates the volume contribution by taking the difference between the volume calculated with the different start/end value and the corresponding start/end volume. Examples of this type of calculation are further described in reference with Tables 1-10 below. The processing loop ends at processing block <b>1614</b>.
p-0116At processing block <b>1616</b>, processing logic allocates the synergy to the set of volume contributions calculated in the processing loop above. In one embodiment, processing logic allocates a portion of the calculated synergy for each of the activity volume variances based on the absolute values of the raw volume variances. In one embodiment, let V<sub>1</sub>, V<sub>2</sub>, . . . V<sub>n </sub>be the raw volume variances of those activities that are being allocated a portion of the calculated synergy and let S be the calculated synergy to be allocated. In one embodiment, the final volume variance for each activity i is computed using Eq. (13).
p-0117<maths id="MATH-US-00008" num="00008"><math overflow="scroll"><mtable><mtr><mtd><mrow><msubsup><mi>V</mi><mi>i</mi><mi>Final</mi></msubsup><mo>=</mo><mrow><msub><mi>V</mi><mi>i</mi></msub><mo>+</mo><mrow><mfrac><mrow><mo></mo><msub><mi>V</mi><mi>i</mi></msub><mo></mo></mrow><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo></mo><mrow><mo></mo><msub><mi>V</mi><mi>j</mi></msub><mo></mo></mrow></mrow></mfrac><mo>·</mo><mrow><mi>S</mi><mo>.</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where V<sub>i</sub><sup>Final </sup>is the final volume variance for an activity i, V<sub>i </sub>is the raw volume variance for activity i, and S is the total calculated synergy. Processing logic calculates the model error at processing block <b>1618</b>.
p-0118The example given below illustrates, in one embodiment, how processing logic determines volume “due-to” changes by creating cubes that contain some drivers from both Start and End states. In this example, the set of activities modeled includes marketing, trade, price, and distribution. The marketing activity comprises the driver TV. The trade activity comprises drivers TPR_Price and TPR_ACV. The Price activity comprises drivers NoPromoPrice and AverageNoPromoPrice. The distribution activity comprise driver ACV. The following model is used with these activities to calculate volume (Eq. (14)):
p-0119<maths id="MATH-US-00009" num="00009"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>Volume</mi><mo>=</mo><mrow><mrow><mrow><mo>(</mo><mn>1.5</mn><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><mrow><mi>T</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>V</mi></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mn>2000</mn><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><mrow><mi>AverageNoPromoPrice</mi><mo>-</mo><mi>TPR_Price</mi></mrow><mo>)</mo></mrow><mo>*</mo><mrow><mi>TPR_ACV</mi><mo>/</mo><mi>A</mi></mrow><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>C</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>V</mi></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mn>1000</mn><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><mrow><mi>AverageNoPromoPrice</mi><mo>-</mo><mi>NoPromoPrice</mi></mrow><mo>)</mo></mrow><mo>*</mo><mrow><mrow><mo>(</mo><mrow><mrow><mi>A</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>C</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>V</mi></mrow><mo>-</mo><mi>TPR_ACV</mi></mrow><mo>)</mo></mrow><mo>/</mo><mi>ACV</mi></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mn>150</mn><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><mrow><mi>A</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>C</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mi>V</mi></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> Furthermore, in this example, the subtractive form of the decomposition scheme is used along with the absolute synergy allocation scheme. In other embodiments, other schemes are used.
p-0120Table 1 illustrates the comparison of the start and end driver values for the activities of marketing, trade, price, and distribution.
p-0121<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 1</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Start and End Driver Values.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="49pt" align="left" /><colspec colname="2" colwidth="77pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="49pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Start</entry><entry /></row><row><entry /><entry /><entry /><entry>Cube</entry><entry>End Cube</entry></row><row><entry /><entry>Activity</entry><entry>Drivers</entry><entry>Drivers</entry><entry>Drivers</entry></row><row><entry /><entry namest="offset" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="49pt" align="left" /><colspec colname="2" colwidth="77pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="49pt" align="char" char="." /><tbody valign="top"><row><entry /><entry>Marketing</entry><entry>TV</entry><entry>100</entry><entry>60</entry></row><row><entry /><entry>Trade</entry><entry>TPR_Price</entry><entry>2.1</entry><entry>2.30</entry></row><row><entry /><entry /><entry>TPR_ACV</entry><entry>20</entry><entry>15</entry></row><row><entry /><entry>Price</entry><entry>NoPromoPrice</entry><entry>3.90</entry><entry>4.20</entry></row><row><entry /><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>4.10</entry></row><row><entry /><entry>Distribution</entry><entry>ACV</entry><entry>40</entry><entry>50</entry></row><row><entry /><entry namest="offset" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0122With the end driver values, processing logic calculates the end volume. The end volume is 8,600 units of volume as illustrated in Table 2.
p-0123<tables id="TABLE-US-00002" num="00002"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 2</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculating the End Volume.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="49pt" align="left" /><colspec colname="2" colwidth="84pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="42pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Driver</entry><entry /></row><row><entry /><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry></row><row><entry /><entry namest="offset" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="49pt" align="left" /><colspec colname="2" colwidth="84pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="42pt" align="char" char="." /><tbody valign="top"><row><entry /><entry>Marketing</entry><entry>TV</entry><entry>60</entry><entry>90</entry></row><row><entry /><entry>Trade</entry><entry>TPR_Price</entry><entry>2.30</entry><entry>1,080</entry></row><row><entry /><entry /><entry>TPR_ACV</entry><entry>15</entry><entry>0</entry></row><row><entry /><entry>Price</entry><entry>NoPromoPrice</entry><entry>4.20</entry><entry>−70</entry></row><row><entry /><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry></row><row><entry /><entry>Distribution</entry><entry>ACV</entry><entry>50</entry><entry>7,500</entry></row><row><entry /><entry>Volume</entry><entry /><entry /><entry>8,600</entry></row><row><entry /><entry namest="offset" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0124Processing logic calculates each of the raw volume contributions by toggling each activity from the end value to the start value and recomputing the volume with this configuration. For example, processing logic toggles the market value by setting TV driver to 100. The resulting volume is 8660, or a change of 60 (Table 3).
p-0125<tables id="TABLE-US-00003" num="00003"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 3</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculating the Volume for the Marketing Activity with the</entry></row><row><entry>Starting Driver Value.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Driver</entry><entry /><entry>EndCubeResult −</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry><entry>CurrentResult</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>100</entry><entry>150</entry><entry>−60</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>2.30</entry><entry>1,080</entry><entry>0</entry></row><row><entry /><entry>TPR_ACV</entry><entry>15</entry><entry>0</entry><entry>0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>4.20</entry><entry>−70</entry><entry>0</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry><entry>0</entry></row><row><entry>Distri-</entry><entry>ACV</entry><entry>50</entry><entry>7,500</entry><entry>0</entry></row><row><entry>bution</entry><entry /><entry /><entry /><entry /></row><row><entry>Volume</entry><entry /><entry /><entry>8,660</entry><entry>−60</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0126For the trade activity raw volume contribution, processing logic restores the marketing activity to the end driver value and sets the trade activity to the start value. In this example, processing logic sets the drivers of trade, TPR_Price and TPR_ACV, to 2.1 and 20, respectively. The calculated volume is 9,130 which is a change of −530 (Table 4).
p-0127<tables id="TABLE-US-00004" num="00004"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 4</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculating the Volume for the Trade Activity with the</entry></row><row><entry>Starting Driver Values.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Driver</entry><entry /><entry>EndCubeResult −</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry><entry>CurrentResult</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>60</entry><entry>90</entry><entry>0</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>2.1</entry><entry>1,600</entry><entry>−520</entry></row><row><entry /><entry>TPR_ACV</entry><entry>20</entry><entry>0</entry><entry>0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>4.20</entry><entry>−60</entry><entry>−10</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry><entry>0</entry></row><row><entry>Distri-</entry><entry>ACV</entry><entry>50</entry><entry>7,500</entry><entry>0</entry></row><row><entry>bution</entry><entry /><entry /><entry /><entry /></row><row><entry>Volume</entry><entry /><entry /><entry>9,130</entry><entry>−530</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0128For the price activity, processing logic restores the trade activity to the end driver values and sets the price activity to the start driver values. In this example, processing logic sets the price drivers, NoPromoPrice and AverageNoPromoPrice, to 3.90 and 4.10, respectively. The calculated volume is 8,810, which is a change of −210 (Table 5).
p-0129<tables id="TABLE-US-00005" num="00005"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 5</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculating the Volume for the Price Activity with the</entry></row><row><entry>Starting Driver Values.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Driver</entry><entry /><entry>EndCubeResult −</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry><entry>CurrentResult</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>60</entry><entry>90</entry><entry>0</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>2.30</entry><entry>1,080</entry><entry>0</entry></row><row><entry /><entry>TPR_ACV</entry><entry>15</entry><entry>0</entry><entry>0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>3.90</entry><entry>140</entry><entry>−210</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry><entry>0</entry></row><row><entry>Distri-</entry><entry>ACV</entry><entry>50</entry><entry>7,500</entry><entry>0</entry></row><row><entry>bution</entry><entry /><entry /><entry /><entry /></row><row><entry>Volume</entry><entry /><entry /><entry>8,810</entry><entry>−210</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0130For the distribution activity, processing logic restores the price activity to the end driver values and sets the distribution activity to the start driver values. In this example, processing logic sets the price driver, ACV, to 40. The calculated volume is 7,378, which is a change of 1223 (Table 6).
p-0131<tables id="TABLE-US-00006" num="00006"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 6</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculating the Volume for the Distribution Activity with the</entry></row><row><entry>Starting Driver Values.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Driver</entry><entry /><entry>EndCubeResult −</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry><entry>CurrentResult</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>60</entry><entry>90</entry><entry>0</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>2.30</entry><entry>1,350</entry><entry>−270</entry></row><row><entry /><entry>TPR_ACV</entry><entry>15</entry><entry>0</entry><entry>0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>4.20</entry><entry>−63</entry><entry>−8</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry><entry>0</entry></row><row><entry>Distri-</entry><entry>ACV</entry><entry>40</entry><entry>6,000</entry><entry>1,500</entry></row><row><entry>bution</entry><entry /><entry /><entry /><entry /></row><row><entry>Volume</entry><entry /><entry /><entry>7,378</entry><entry>1,223</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0132Furthermore, processing logic calculates the start volume using the start driver values, which results in a volume of 8,250 and a difference of 350 from the end volume (Table 7).
p-0133<tables id="TABLE-US-00007" num="00007"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 7</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Start Volume and Start Volume/End Volume Difference.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Driver</entry><entry /><entry>EndCubeResult −</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Values</entry><entry>Result</entry><entry>CurrentResult</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="35pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>100</entry><entry>150</entry><entry>−60</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>2.1</entry><entry>2,000</entry><entry>−920</entry></row><row><entry /><entry>TPR_ACV</entry><entry>20</entry><entry>0</entry><entry>0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>3.90</entry><entry>100</entry><entry>−170</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry>4.10</entry><entry>0</entry><entry>0</entry></row><row><entry>Distri-</entry><entry>ACV</entry><entry>40</entry><entry>6,000</entry><entry>1,500</entry></row><row><entry>bution</entry><entry /><entry /><entry /><entry /></row><row><entry>Volume</entry><entry /><entry /><entry>8,250</entry><entry>350</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><br /> However, the sum of the initial volume contributions is 423 (Table 8). This is indicates there is 73 units of synergy that is allocated to the individual volume contributions.
p-0134<tables id="TABLE-US-00008" num="00008"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 8</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Individual Volume Contributions, no Synergy Allocated.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="offset" colwidth="21pt" align="left" /><colspec colname="1" colwidth="56pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="70pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Per</entry></row><row><entry /><entry /><entry /><entry>Activity</entry></row><row><entry /><entry /><entry /><entry>Volume</entry></row><row><entry /><entry>Activity</entry><entry>Driver Names</entry><entry>Delta</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="offset" colwidth="21pt" align="left" /><colspec colname="1" colwidth="56pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="70pt" align="char" char="." /><tbody valign="top"><row><entry /><entry>Marketing</entry><entry>TV</entry><entry>−60</entry></row><row><entry /><entry>Trade</entry><entry>TPR_Price</entry><entry>−530</entry></row><row><entry /><entry /><entry>TPR_ACV</entry></row><row><entry /><entry>Price</entry><entry>NoPromoPrice</entry><entry>−210</entry></row><row><entry /><entry /><entry>AverageNoPromoPrice</entry></row><row><entry /><entry>Distribution</entry><entry>ACV</entry><entry>1223</entry></row><row><entry /><entry>Total</entry><entry /><entry>423</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0135Using the absolute synergy allocation scheme as described above in <figref idrefs="DRAWINGS">FIG. 6</figref>, the final volume contributions are listed in Table 9, For example, for the marketing activity, the incremental volume is −60, absolute value is 60, sum of the absolute value for each activity is 2023, and the total synergy is −73. The allocated portion of the total synergy is −2.2 using Eq. (7) to calculate the synergy allocation for the marketing activity. The final incremental volume for the marketing activity is −62.2.
p-0136<tables id="TABLE-US-00009" num="00009"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="301pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 9</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Synergy Allocation and Final Volume Contributions including Synergy.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="28pt" align="center" /><colspec colname="6" colwidth="49pt" align="center" /><colspec colname="7" colwidth="28pt" align="center" /><colspec colname="8" colwidth="28pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Per</entry><entry>End</entry><entry /><entry /><entry /><entry>Per</entry></row><row><entry /><entry /><entry>Activity</entry><entry>Total −</entry><entry /><entry /><entry>Per</entry><entry>Activity</entry></row><row><entry /><entry /><entry>Volume</entry><entry>Start</entry><entry /><entry /><entry>Activity</entry><entry>Volume</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Delta</entry><entry>Total</entry><entry>Synergy</entry><entry>ABS (Activity)</entry><entry>Adjust.</entry><entry>Delta</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="char" char="." /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="28pt" align="center" /><colspec colname="6" colwidth="49pt" align="char" char="." /><colspec colname="7" colwidth="28pt" align="char" char="." /><colspec colname="8" colwidth="28pt" align="char" char="." /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry>−60</entry><entry /><entry /><entry>60</entry><entry>−2.2</entry><entry>−62.2</entry></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry>−530</entry><entry /><entry /><entry>530</entry><entry>−19.1</entry><entry>−549.1</entry></row><row><entry /><entry>TPR_ACV</entry><entry /><entry /><entry /><entry /><entry>0.0</entry><entry>0.0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry>−210</entry><entry /><entry /><entry>210</entry><entry>−7.6</entry><entry>−217.6</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry /><entry /><entry /><entry /><entry>0.0</entry><entry>0.0</entry></row><row><entry>Distribution</entry><entry>ACV</entry><entry>1223</entry><entry /><entry /><entry>1223</entry><entry>−44.1</entry><entry>1,178.9</entry></row><row><entry>Total</entry><entry /><entry>423</entry><entry>350</entry><entry>−73</entry><entry>2023</entry><entry>−73</entry><entry>350</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><br /> The Final results are listed in Table 10.
p-0137<tables id="TABLE-US-00010" num="00010"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 10</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Final Results.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="6"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="center" /><colspec colname="5" colwidth="28pt" align="center" /><colspec colname="6" colwidth="21pt" align="center" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Gross</entry><entry /><entry /></row><row><entry /><entry /><entry /><entry>Per</entry><entry>Net Per</entry></row><row><entry /><entry /><entry>Start</entry><entry>Activity</entry><entry>Activity</entry><entry>End</entry></row><row><entry>Activity</entry><entry>Driver Names</entry><entry>Cube</entry><entry>Delta</entry><entry>Delta</entry><entry>Cube</entry></row><row><entry namest="1" nameend="6" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="6"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="70pt" align="left" /><colspec colname="3" colwidth="28pt" align="center" /><colspec colname="4" colwidth="28pt" align="char" char="." /><colspec colname="5" colwidth="28pt" align="char" char="." /><colspec colname="6" colwidth="21pt" align="center" /><tbody valign="top"><row><entry>Marketing</entry><entry>TV</entry><entry /><entry>−60</entry><entry>−62.2</entry><entry /></row><row><entry>Trade</entry><entry>TPR_Price</entry><entry /><entry>−530</entry><entry>−549.1</entry></row><row><entry /><entry>TPR_ACV</entry><entry /><entry /><entry>0.0</entry></row><row><entry>Price</entry><entry>NoPromoPrice</entry><entry /><entry>−210</entry><entry>−217.6</entry></row><row><entry /><entry>AverageNoPromoPrice</entry><entry /><entry /><entry>0.0</entry></row><row><entry>Distribution</entry><entry>ACV</entry><entry /><entry>1223</entry><entry>1,178.9</entry></row><row><entry>Total</entry><entry /><entry>8,250</entry><entry /><entry>350</entry><entry>8,600</entry></row><row><entry namest="1" nameend="6" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0138As described above, in one embodiment, a hybrid due-to report is calculated that determines the volume variance between two different volumes for a set of activities that do not have a reference values. Furthermore, in other embodiments, the hybrid due-to is applied to other sets of activities (activities that do have a reference value, distribution activities, etc.).
p-0139In another embodiment, multiple levels of volume variances are computed based on a defined set of atomic activities, a decomposition hierarchy that includes a tree of activities, and a hybrid due-to. In this embodiment, processing logic computes an atomic volume variance level using the defined set of atomic activities as described in <figref idrefs="DRAWINGS">FIG. 16</figref> above. Using this atomic volume variance level, processing logic computes higher levels of volume variance levels based on other sets of activities that are based on the defined set of atomic activities as described in <figref idrefs="DRAWINGS">FIGS. 11-13</figref>. In this embodiment, the volume variances are summed instead of volume contributions.
p-0140While the hybrid due-to is described in terms of calculating a volume variance, this process, in alternate embodiments, can be used to calculate calculating variances for other measurable business metrics (e.g., revenue, profit or market share, etc.), For example, in one embodiment, processing logic calculates a volume variance for another measurable business metric as described in <figref idrefs="DRAWINGS">FIG. 16</figref> above.
h-0009Compound Due-to Reports
p-0141As described above, due-to reports are calculated using difference decomposition or hybrid schemes. Difference decompositions due-to reports is calculated only for activities whose drivers have an appropriate reference value, whereas hybrid due-to reports is used for activities that do or do not have an appropriate reference value. In some cases, users prefer the interpretation of “change in volume contribution of an activity” provided by the difference of decompositions method over the interpretation “change of volume due to change of activity” of the hybrid method. In order to retain the ability to provide volume variance reports across these sets of activities, in one embodiment, these two schemes are combined for calculating the due-to reports. In this embodiment, the difference decomposition is applied to activities that have drivers with a natural reference value, hybrid is applied to non-distribution activities that do not have drivers with a natural reference value, and volume changes resulting from the distribution activities are calculated by subtraction. <figref idrefs="DRAWINGS">FIG. 17</figref> is a flow diagram of one embodiment of a process <b>1700</b> for calculating a compound due-to. The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one embodiment, process <b>700</b> is performed by data processing system <b>1800</b> of <figref idrefs="DRAWINGS">FIG. 18</figref>.
p-0142Referring to <figref idrefs="DRAWINGS">FIG. 17</figref>, at processing block <b>1702</b>, the process begins by processing logic determining the sets of activities that will be calculated by difference decomposition, hybrid, or other. In one embodiment, processing logic calculates the volume contributions for activities with drivers with a natural reference value using difference decomposition. Furthermore, processing logic calculates the volume contributions for all other non-distribution activities using the hybrid scheme. Distribution activities will be calculated by subtracting the difference decomposition and hybrid results from the start/end volume difference.
p-0143For example, in one embodiment, consider a response model consisting of the following activities: TV, trade, price, base price, and distribution. For this set of activities, TV and trade have a reference value, whereas price, base price, and distribution do not. In a compound scheme to calculate the due-to report, TV and trade would be calculated using difference decomposition, price and base price would be calculated using hybrid, and distribution would be calculated by subtraction (Table 11).
p-0144<tables id="TABLE-US-00011" num="00011"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 11</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculation Scheme for Each of the Activities.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="offset" colwidth="42pt" align="left" /><colspec colname="1" colwidth="77pt" align="left" /><colspec colname="2" colwidth="98pt" align="left" /><tbody valign="top"><row><entry /><entry>“Bucket”</entry><entry>Calculation Phase</entry></row><row><entry /><entry namest="offset" nameend="2" align="center" rowsep="1" /></row><row><entry /><entry>TV</entry><entry>DD</entry></row><row><entry /><entry>Trade</entry><entry>DD</entry></row><row><entry /><entry>Price</entry><entry>H</entry></row><row><entry /><entry>Base</entry><entry>H</entry></row><row><entry /><entry>Distribution</entry><entry>Subtraction</entry></row><row><entry /><entry namest="offset" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0145During each of the phases of calculation, the drivers not active during that phase are treated as if they were not of interest to the due-to report. As a result, effects of those drivers will be part of the base volume as described in (Table 12). The overall base volume is the set of unassigned activities as declared in the decomposition level. An effective base is the set of activities that are be treated in a base-like fashion during each phase of the calculation. Activities that are not in the effective base for a phase of the calculation will toggle their driver values. In the difference decomposition phase, the declared base gets lumped into the effective base. In this embodiment, the drivers that are part of the effective base are not toggle in calculating the respective decompositions. In the hybrid phase, the declared base is treated differently from the declared base in the decomposition phase. This means that the drivers in the hybrid declared base are toggled between the two different values.
p-0146<tables id="TABLE-US-00012" num="00012"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 12</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Effective Bases for each of the Activities.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="56pt" align="left" /><colspec colname="2" colwidth="77pt" align="left" /><colspec colname="3" colwidth="70pt" align="left" /><tbody valign="top"><row><entry /><entry>Buckets as</entry><entry>Buckets as</entry><entry>Buckets as</entry></row><row><entry /><entry>Declared</entry><entry>used in DiffD</entry><entry>used in Hybrid</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row><row><entry /><entry>TV</entry><entry>TV<sub>DD</sub></entry><entry>EffectiveBase<sub>H</sub></entry></row><row><entry /><entry>Trade</entry><entry>Trade<sub>DD</sub></entry><entry>EffectiveBase<sub>H</sub></entry></row><row><entry /><entry>Price</entry><entry>EffectiveBase<sub>DD</sub></entry><entry>Price<sub>H</sub></entry></row><row><entry /><entry>Base</entry><entry>EffectiveBase<sub>DD</sub></entry><entry>Base<sub>H</sub></entry></row><row><entry /><entry>Distribution</entry><entry>EffectiveBase<sub>DD</sub></entry><entry>EffectiveBase<sub>H</sub></entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
p-0147At processing block <b>1704</b>, processing logic applies difference decomposition for the activities that have a natural reference value. In one embodiment, processing logic calculates a volume decomposition for each of the start and end scenarios. Using these two volume decompositions, processing logic calculates a volume variance for each of the activities by taking the difference of the two volume decompositions. Furthermore, processing logic could allocate a portion of any calculated synergy for each of the volume variances.
p-0148In the example of activities given in Table 11, processing logic would use the difference decomposition interpretation of the decomposition level (TV<sub>DD</sub>, Trade<sub>DD</sub>, and EffectiveBaseDD) and perform calculation using difference decomposition. Note that for this calculation that activities in EffectivefBase<sub>DD </sub>(price base, and distribution) do not toggle. Processing logic calculates the synergy using Eq. (15): <br />(V<sub>TV</sub><sub><sub2>DD</sub2></sub>+V<sub>Trade</sub><sub><sub2>DD</sub2></sub>)−V<sub>TV</sub><sub><sub2>DD</sub2></sub><sub>-and-Trade</sub><sub><sub2>DD</sub2></sub> (15)<br /> where V<sub>TV</sub><sub><sub2>DD </sub2></sub>is the calculated volume with the TV in the reference value, V<sub>Trade</sub><sub><sub2>DD </sub2></sub>is the calculated volume with trade in the reference value, and V<sub>TV</sub><sub><sub2>DD</sub2></sub><sub>-and-Trade</sub><sub><sub2>DD </sub2></sub>is the calculated volume with TV and trade in the reference values. Processing logic can allocate the synergy in this step or in a later step.
p-0149At processing block <b>1706</b>, processing logic applies the hybrid scheme for the activities that do not have a natural reference value and are not distribution activities. In one embodiment, processing logic calculates a volume variance using the hybrid scheme as described in <figref idrefs="DRAWINGS">FIG. 16</figref>. As applied to the activities in Table 11, processing logic would use the hybrid scheme for price and base price and perform the hybrid calculation. In this embodiment, the activities (TV and trade) in EffectiveBase<sub>H </sub>do not toggle. Processing logic calculates the synergy using Eq. (16): <br />(V<sub>Price</sub><sub><sub2>H</sub2></sub>+V<sub>Base</sub><sub><sub2>H</sub2></sub>)−V<sub>Price</sub><sub><sub2>H</sub2></sub><sub>-and-Base</sub><sub><sub2>H</sub2></sub> (16)<br /> where V<sub>Price</sub><sub><sub2>H </sub2></sub>is the calculated volume for the price in one of the start/end state, V<sub>Base</sub><sub><sub2>H </sub2></sub>is the calculated volume for base price in one of the start/end state, and V<sub>Price</sub><sub><sub2>H</sub2></sub><sub>-and-Base</sub><sub><sub2>H </sub2></sub>is the calculated volume with price and base price in one of the start/end state. Processing logic can allocate the synergy in this step or in a later step.
p-0150At processing block <b>1708</b>, processing logic calculates volume variance for the distribution activities by subtracting the other volume variances calculated in processing blocks <b>1704</b> and <b>1706</b> from the total predicted volume as in Eq. (17): <br /><i>VV</i><sub>Dist</sub><i>=V</i><sub>Pr edicted</sub><i>−ΣVV</i><sub>i</sub>−Synergy<sub>DD</sub>−Synergy<sub>H</sub> (17)<br /> where VV<sub>Dist </sub>is the distribution volume variance, V<sub>Pr edicted </sub>is the predicted volume, ΣVV<sub>i </sub>is sum of the volume variances calculated using the difference decomposition and hybrid schemes, Synergy<sub>DD </sub>is the synergy calculated using difference decomposition, and Synergy<sub>H </sub>is the synergy calculated using the hybrid scheme.
p-0151In an alternate embodiment, processing logic calculates a compound due-to without using the subtraction phase. In this embodiment, processing logic calculates the volume contributions from those activities that are assigned to the difference of decomposition group (DD) using the difference of decomposition method.
p-0152<tables id="TABLE-US-00013" num="00013"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" rowsep="1">TABLE 13</entry></row></thead><tbody valign="top"><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Calculation Scheme for Each of the Activities in a Compound Due-to</entry></row><row><entry>without Subtraction.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="offset" colwidth="42pt" align="left" /><colspec colname="1" colwidth="77pt" align="left" /><colspec colname="2" colwidth="98pt" align="left" /><tbody valign="top"><row><entry /><entry>“Bucket”</entry><entry>Calculation Phase</entry></row><row><entry /><entry namest="offset" nameend="2" align="center" rowsep="1" /></row><row><entry /><entry>TV</entry><entry>DD</entry></row><row><entry /><entry>Trade</entry><entry>DD</entry></row><row><entry /><entry>Price</entry><entry>H</entry></row><row><entry /><entry>Distribution</entry><entry>H</entry></row><row><entry /><entry namest="offset" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><br /> The drivers associated with the activities in DD are set to their decomposition values in the two time periods. The result is a new model predicting volume without the DD activities' contribution. Applying a hybrid due-to algorithm to this new model with respect to those activities not assigned to DD provides both the volume contributions of the non-DD activities as well as the change in base volume.
p-0153In more detail, the compound due-to without subtraction is calculated in the following three steps: <ul><li id="ul0003-0001" num="0000"><ul><li id="ul0004-0001" num="0158">1. Calculate the decompositions for both time periods with respect to the activities in DD. Taking the differences between the corresponding raw volume contributions gives the raw volume contributions for these activities</li><li id="ul0004-0002" num="0159">2. Setting all the drivers that correspond to the activities in DD to their reference values provides a new model. A hybrid due-to is calculated based on this model. For example, the hybrid due-to is calculated as described in <figref idrefs="DRAWINGS">FIG. 16</figref> above. This due-to provides the raw volume contributions for the activities in the hybrid due-to as well as the change in base volume.</li><li id="ul0004-0003" num="0160">3. Synergy (the difference between the sum of all the raw volume contributions and the difference in predicted volumes) is allocated by one of the mechanisms described above.</li></ul></li></ul>
p-0154In another embodiment, multiple levels of volume variances are computed based on a defined set of atomic activities, a decomposition hierarchy that includes a tree of activities, and a compound due-to. In this embodiment, processing logic computes an atomic volume variance level using the defined set of atomic activities as described in <figref idrefs="DRAWINGS">FIG. 17</figref> above. Using this atomic volume variance level, processing logic computes higher levels of volume variance levels based on other sets of activities that are based on the defined set of atomic activities as described in <figref idrefs="DRAWINGS">FIGS. 11-13</figref>. In this embodiment, the volume variances are summed instead of volume contributions.
p-0155While the compound due-to is described in terms of calculating a volume variance, this process, in alternate embodiments, can be used to calculate atomic decompositions and decomposition hierarchies for other measurable business metrics (e.g., revenue, profit or market share, etc.). For example, in one embodiment, processing logic calculates an atomic decomposition and/or decomposition hierarchy for another measurable business metric as described in <figref idrefs="DRAWINGS">FIGS. 10-13</figref> above.
p-0156<figref idrefs="DRAWINGS">FIG. 18</figref> is a block diagram of a data processing system <b>800</b> that calculates volume decompositions, atomic decompositions/volume decomposition hierarchies, hybrid due-tos, and/or compound due-tos. Data processing system is, but not limited to, a general-purpose computer, a multiprocessor computer, several computers coupled by a network, etc. In <figref idrefs="DRAWINGS">FIG. 18</figref>, system <b>1800</b> comprises volume decomposition module <b>1802</b>, decomposition hierarchy module <b>1804</b>, synergy module <b>1806</b>, compound due-to module <b>1808</b>, volume module <b>1810</b>, and hybrid due-to module <b>1812</b>. Volume module <b>1810</b> accesses inputs and calculates a volume results. In one embodiment, inputs comprise the response model, the set of activities and the values for each of those activities as described in <figref idrefs="DRAWINGS">FIG. 2</figref>. In one embodiment, volume decomposition module <b>1802</b> and hybrid due-to module <b>1812</b> direct volume module to calculate one or more of the base volume, expected volumes, volume contributions, etc. Synergy module <b>1806</b> calculates and allocates the synergy as described in <figref idrefs="DRAWINGS">FIG. 7</figref>. In one embodiment, volume decomposition module <b>1802</b> and hybrid due-to module <b>1812</b> direct volume module to calculate and allocate the synergy.
p-0157Volume decomposition module <b>1802</b> comprises base volume module <b>1820</b>, raw volume contribution module <b>1822</b>, expected volume module <b>1824</b>, final volume contribution module <b>1826</b>, and input module <b>1828</b>. Base volume module <b>1820</b> calculates the base volume as described in <figref idrefs="DRAWINGS">FIG. 1</figref>, processing block <b>406</b>. Raw volume contribution module <b>1822</b> calculates the raw volume contributions for each of the activities with a reference value as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing blocks <b>410</b>-<b>418</b>. Expected volume module <b>1824</b> calculates the expected volume as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>406</b>. In one embodiment, base volume module <b>1820</b>, raw volume contribution module <b>1822</b>, and expected volume modules direct volume module <b>1810</b> to calculate the appropriate volume. Final volume contribution <b>1826</b> adds determines the allocated synergy and adds it to each of the raw volume contributions as described <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>420</b>. In one embodiment, final volume module <b>1826</b> uses synergy module <b>1806</b> to determine the synergy allocations. Input module accesses the inputs as described in <figref idrefs="DRAWINGS">FIG. 4</figref>, processing block <b>402</b>.
p-0158Decomposition hierarchy module <b>1804</b> comprises atomic decomposition module <b>1830</b> and higher level decomposition module <b>1832</b>. Atomic decomposition module <b>1830</b> defines and calculates an atomic decomposition level as described in <figref idrefs="DRAWINGS">FIG. 10</figref>. Higher level decomposition module <b>1832</b> calculates levels of volume decompositions based on the atomic decomposition as described in <figref idrefs="DRAWINGS">FIGS. 11-13</figref>.
p-0159Synergy module <b>1806</b> comprises total synergy module <b>1840</b>, and synergy contribution module <b>1842</b>. Total synergy module <b>1840</b> calculates the total synergy based on an incremental volume and raw volume contributions as described in <figref idrefs="DRAWINGS">FIG. 6</figref>, processing block <b>604</b>. Synergy contribution module <b>1842</b> determines the individual synergy contribution for each of the input activities as described in <figref idrefs="DRAWINGS">FIG. 6</figref>, processing block <b>606</b>. In one embodiment, synergy contribution module <b>1842</b> determines the individual synergy contribution based on the absolute value of each raw volume contribution.
p-0160Compound due-to module <b>1810</b> comprises hybrid module <b>1850</b>, difference decomposition module <b>1852</b>, and distribution due-to module <b>1854</b>. Hybrid module calculates the volume variance for non-distribution activities that do not have a reference value as described in <figref idrefs="DRAWINGS">FIG. 17</figref>, processing block <b>1706</b>, Difference decomposition module <b>1852</b> calculates the volume variance for non-distribution activities that have a reference values as described in <figref idrefs="DRAWINGS">FIG. 17</figref>, processing block <b>1704</b>. Distribution due-to module <b>1854</b> calculates the volume variance for distribution activities as described in <figref idrefs="DRAWINGS">FIG. 17</figref>, processing block <b>1708</b>.
p-0161Hybrid Due-to module <b>1812</b> comprises start/end volume module <b>1860</b>, base volume module change module <b>1862</b>, raw volume contribution module <b>1864</b>, synergy module <b>1866</b>, model error module <b>1868</b>, and input module <b>1870</b>. Start/end volume module calculates the start and end volume as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing block <b>1604</b>. Base change volume module <b>1862</b> calculates the base volume change as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing block <b>1606</b>. Raw volume contribution module calculates the raw volume contribution change as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing blocks <b>1608</b>-<b>1614</b>. Synergy module <b>1866</b> calculates the synergy for each of the activities as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing block <b>1616</b>. Model error module <b>1868</b> calculates the model error as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing block <b>1618</b>. Input module <b>1870</b> access the input parameters as described in <figref idrefs="DRAWINGS">FIG. 16</figref>, processing block <b>1602</b>.
p-0162The method described above calculates a due-to report for a single matched pair of predicted volumes (scenarios), e.g. for a single product in single location for two different weeks. If a due-to report is desired for a set matched pairs of scenarios (e.g. multiple Products/Locations for two different weeks), the due-to report for all individual volumes are calculated and the volume contributions to the respective activities are added.
p-0163The processes described herein may constitute one or more programs made up of machine-executable instructions. Describing the process with reference to the flow diagrams in <figref idrefs="DRAWINGS">FIGS. 4</figref>, <b>6</b>, <b>10</b>-<b>13</b>, <b>16</b>, and <b>17</b> enables one skilled in the art to develop such programs, including such instructions to carry out the operations (acts) represented by logical processing blocks on suitably configured machines (the processor of the machine executing the instructions from machine-readable media, such as RAM (e.g. DRAM), ROM, nonvolatile storage media (e.g. hard drive or CD-ROM), etc.). The machine-executable instructions may be written in a computer programming language or may be embodied in firmware logic or in hardware circuitry. If written in a programming language conforming to a recognized standard, such instructions are executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic . . . ), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a machine causes the processor of the machine to perform an action or produce a result. It will be further appreciated that more or fewer processes may be incorporated into the processes illustrated in the flow diagrams without departing from the scope of the invention and that no particular order is implied by the arrangement of blocks shown and described herein.
p-0164<figref idrefs="DRAWINGS">FIG. 19</figref> shows several computer systems <b>1900</b> that are coupled together through a network <b>1902</b>, such as the Internet. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet <b>1902</b> is typically provided by Internet service providers (ISP), such as the ISPs <b>1904</b> and <b>1906</b>. Users on client systems, such as client computer systems <b>1912</b>, <b>1916</b>, <b>1924</b>, and <b>1926</b> obtain access to the Internet through the Internet service providers, such as ISPs <b>1904</b> and <b>1906</b>. Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers, such as web server <b>1908</b> which is considered to be “on” the Internet. Often these web servers are provided by the ISPs, such as ISP <b>1904</b>, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
p-0165The web server <b>1908</b> is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server <b>1908</b> can be part of an ISP which provides access to the Internet for client systems. The web server <b>1908</b> is shown coupled to the server computer system <b>1910</b> which itself is coupled to web content <b>1912</b>, which can be considered a form of a media database. It will be appreciated that while two computer systems <b>1908</b> and <b>1910</b> are shown in <figref idrefs="DRAWINGS">FIG. 19</figref>, the web server system <b>1908</b> and the server computer system <b>1910</b> can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system <b>1910</b> which will be described further below.
p-0166Client computer systems <b>1912</b>, <b>1916</b>, <b>1924</b>, and <b>1926</b> can each, with the appropriate web browsing software, view HTML pages provided by the web server <b>1908</b>. The ISP <b>1904</b> provides Internet connectivity to the client computer system <b>1912</b> through the modem interface <b>1914</b> which can be considered part of the client computer system <b>1912</b>. The client computer system can be a personal computer system, a network computer, a Web TV system, a handheld device, or other such computer system. Similarly, the ISP <b>1906</b> provides Internet connectivity for client systems <b>1916</b>, <b>1924</b>, and <b>1926</b>, although as shown in <figref idrefs="DRAWINGS">FIG. 19</figref>, the connections are not the same for these three computer systems. Client computer system <b>11916</b> is coupled through a modem interface <b>1918</b> while client computer systems <b>1924</b> and <b>1926</b> are part of a LAN. While <figref idrefs="DRAWINGS">FIG. 19</figref> shows the interfaces <b>1914</b> and <b>1918</b> as generically as a “modem,” it will be appreciated that each of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface, or other interfaces for coupling a computer system to other computer systems. Client computer systems <b>1924</b> and <b>1916</b> are coupled to a LAN <b>1922</b> through network interfaces <b>1930</b> and <b>1932</b>, which can be Ethernet network or other network interfaces. The LAN <b>1922</b> is also coupled to a gateway computer system <b>1920</b> which can provide firewall and other Internet related services for the local area network. This gateway computer system <b>1920</b> is coupled to the ISP <b>1906</b> to provide Internet connectivity to the client computer systems <b>1924</b> and <b>1926</b>. The gateway computer system <b>1920</b> can be a conventional server computer system. Also, the web server system <b>1908</b> can be a conventional server computer system.
p-0167Alternatively, as well-known, a server computer system <b>1928</b> can be directly coupled to the LAN <b>1922</b> through a network interface <b>1934</b> to provide files <b>1936</b> and other services to the clients <b>1924</b>, <b>1926</b>, without the need to connect to the Internet through the gateway system <b>1920</b>. Furthermore, any combination of client systems <b>1912</b>, <b>1916</b>, <b>1924</b>, <b>1926</b> may be connected together in a peer-to-peer network using LAN <b>1922</b>, Internet <b>1902</b> or a combination as a communications medium. Generally, a peer-to-peer network distributes data across a network of multiple machines for storage and retrieval without the use of a central server or servers. Thus, each peer network node may incorporate the functions of both the client and the server described above.
p-0168The following description of <figref idrefs="DRAWINGS">FIG. 20</figref> is intended to provide an overview of computer hardware and other operating components suitable for performing the processes of the invention described above, but are not intended to limit the applicable environments. One of skill in the art will immediately appreciate that the embodiments of the invention can be practiced with other computer system configurations, including set-top boxes, hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The embodiments of the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network, such as peer-to-peer network infrastructure.
p-0169<figref idrefs="DRAWINGS">FIG. 20</figref> shows one example of a conventional computer system that can be used in one or more aspects of the invention. The computer system <b>2000</b> interfaces to external systems through the modem or network interface <b>2002</b>. It will be appreciated that the modem or network interface <b>2002</b> can be considered to be part of the computer system <b>2000</b>. This interface <b>2002</b> can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface, or other interfaces for coupling a computer system to other computer systems. The computer system <b>2002</b> includes a processing unit <b>2004</b>, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor. Memory <b>2008</b> is coupled to the processor <b>2004</b> by a bus <b>2006</b>. Memory <b>2008</b> can be dynamic random access memory (DRAM) and can also include static RAM (SRAM). The bus <b>2006</b> couples the processor <b>2004</b> to the memory <b>2008</b> and also to non-volatile storage <b>2014</b> and to display controller <b>2010</b> and to the input/output (I/O) controller <b>2016</b>. The display controller <b>2010</b> controls in the conventional manner a display on a display device <b>2012</b> which can be a cathode ray tube (CRT) or liquid crystal display (LCD). The input/output devices <b>2018</b> can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller <b>2010</b> and the I/O controller <b>2016</b> can be implemented with conventional well known technology. A digital image input device <b>2020</b> can be a digital camera which is coupled to an I/O controller <b>2016</b> in order to allow images from the digital camera to be input into the computer system <b>2000</b>. The non-volatile storage <b>2014</b> is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory <b>2008</b> during execution of software in the computer system <b>2000</b>. One of skill in the art will immediately recognize that the terms “computer-readable medium” and “machine-readable medium” include any type of storage device that is accessible by the processor <b>2004</b> or by other data processing systems such as cellular telephones or personal digital assistants or MP3 players, etc. and also encompass a carrier wave that encodes a data signal.
p-0170Network computers are another type of computer system that can be used with the embodiments of the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory <b>2008</b> for execution by the processor <b>2004</b>. A Web TV system, which is known in the art, is also considered to be a computer system according to the embodiments of the present invention, but it may lack some of the features shown in <figref idrefs="DRAWINGS">FIG. 20</figref>, such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
p-0171It will be appreciated that the computer system <b>2000</b> is one example of many possible computer systems, which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor <b>2004</b> and the memory <b>2008</b> (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
p-0172It will also be appreciated that the computer system <b>2000</b> is controlled by operating system software, which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as WINDOWS OPERATING SYSTEM from Microsoft Corporation in Redmond, Wash., and their associated file management systems. The file management system is typically stored in the non-volatile storage <b>2014</b> and causes the processor <b>2004</b> to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage <b>2014</b>.
ALTERNATIVE EMBODIMENTS
p-0173While various embodiments of the invention have been described, alternative embodiments of the invention can operate differently. For instance, while the flow diagrams in the figures show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.).
p-0174While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.
Contents6
30 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11823225B2 | Cited by | United States of America | Applicant |
| US10755299B2 | Cited by | United States of America | Applicant |
| US9721271B2 | Cited by | United States of America | Applicant |
| US11361342B2 | Cited by | United States of America | Applicant |
| US2004267584A1 | Cites | United States of America | Search report |
| US2005197889A1 | Cites | United States of America | Applicant |
| US2006241922A1 | Cites | United States of America | Applicant |
| US2007067195A1 | Cites | United States of America | Applicant |
| US2008172286A1 | Cites | United States of America | Search report |
| US7392248B2 | Cites | United States of America | Applicant |
| US7783745B1 | Cites | United States of America | Search report |
| International Search Report for PCT Patent Application No. PCT/US09/62816, Jun. 29, 2010, 3 Pgs. | Non-patent | – | Applicant |
| Written Opinion of the International Searching Authority for PCT Patent Application No. PCT/US09/62816, Jun. 29, 2010, 9 Pgs. | Non-patent | – | Applicant |
7 members in 2 offices; this record represents the family
Members7
| Document | Office | Kind | |
|---|---|---|---|
| US2010114625A1 | United States of America | A1 | |
| US2010114637A1 | United States of America | A1 | |
| WO2010051472A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010051472A8 | World Intellectual Property Organization (WIPO) | A8 | |
| WO2010051472A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US8244575B2 | United States of America | B2 | |
| US8255246B2This record | United States of America | B2 |
57 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Expire PatentEXP. | EXP. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| New or Additional Drawing FiledC614 | C614 | |
| Response after Ex Parte Quayle ActionA.QU | A.QU | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Ex Parte Quayle Action (PTOL - 326)MCTEQ | MCTEQ | |
| Quayle actionCTEQ | CTEQ | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Correspondence Address ChangeC.AD | C.AD | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Request for RefundIRFND | IRFND | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Applicant has submitted new drawings to correct Corrected Papers problemsCORRDRW | CORRDRW | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Priority Document Exchange Notice MailedMPDX | MPDX | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Maintenance fee reminder mailedREMI | REMI | |
| AssignmentAS | AS | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08255246
- Application
- 26340108
Titles
- English
- Method and apparatus for creating compound due-to reports
Patent term adjustment
- A delay
- +537 daysthe office missed an examination deadline
- B delay
- +302 dayspendency past three years
- Applicant delay
- −61 days
- Net adjustment
- 778 days
Classification
- CPC, 2
- G06Q10/063
- G06Q30/02
- IPC, 1
- G06Q40 00