US20080040202A1 - Generating an Optimized Price Schedule for a Product - Google Patents

Generating an Optimized Price Schedule for a Product Download PDF

Info

Publication number
US20080040202A1
US20080040202A1 US11/875,209 US87520907A US2008040202A1 US 20080040202 A1 US20080040202 A1 US 20080040202A1 US 87520907 A US87520907 A US 87520907A US 2008040202 A1 US2008040202 A1 US 2008040202A1
Authority
US
United States
Prior art keywords
location
inventory
demand
state
price
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/875,209
Inventor
Joachim Walser
Vibhu Kalyan
Srinivas Palamarthy
James Crawford
Mukesh Dalal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Blue Yonder Group Inc
Original Assignee
I2 Technologies US Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US11/875,209 priority Critical patent/US20080040202A1/en
Application filed by I2 Technologies US Inc filed Critical I2 Technologies US Inc
Assigned to I2 TECHNOLOGIES US, INC. reassignment I2 TECHNOLOGIES US, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CRAWFORD, JAMES M., JR., DALAL, MUKESH, PALAMARTHY, SRIMVAS, KALYAN, VIBHU, WALSER, JOACHIM P.
Assigned to I2 TECHNOLOGIES US, INC. reassignment I2 TECHNOLOGIES US, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORD TO CORRECT ASSIGNOR NAME PREVIOUSLY RECORDED ON REEL 020068 FRAME 0852. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: CRAWFORD, JAMES M., JR., DALAL, MUKESH, PALAMARTHY, SRINIVAS, KALYAN, VIBHU, WALSER, JOACHIM P.
Publication of US20080040202A1 publication Critical patent/US20080040202A1/en
Assigned to WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT reassignment WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT PATENT SECURITY AGREEMENT Assignors: JDA TECHNOLOGIES US, INC.
Assigned to JDA TECHNOLOGIES US, INC reassignment JDA TECHNOLOGIES US, INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: I2 TECHNOLOGIES US, INC
Assigned to JDA SOFTWARE GROUP, INC. reassignment JDA SOFTWARE GROUP, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JDA TECHNOLOGIES US, INC.
Assigned to JDA TECHNOLOGIES US, INC. reassignment JDA TECHNOLOGIES US, INC. RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Assignors: WELLS FARGO CAPITAL FINANCE, LLC
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH reassignment CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH FIRST LIEN PATENT SECURITY AGREEMENT Assignors: JDA SOFTWARE GROUP, INC.
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH reassignment CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH FIRST LIEN PATENT SECURITY AGREEMENT Assignors: JDA SOFTWARE GROUP, INC.
Assigned to JDA SOFTWARE GROUP, INC. reassignment JDA SOFTWARE GROUP, INC. RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0697 Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to JDA SOFTWARE GROUP, INC. reassignment JDA SOFTWARE GROUP, INC. RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0809 Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to JDA TECHNOLOGIES US, INC. reassignment JDA TECHNOLOGIES US, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC. TO JDA TECHNOLOGIES US, INC.. Assignors: I2 TECHNOLOGIES US, INC.
Assigned to JDA SOFTWARE GROUP, INC. reassignment JDA SOFTWARE GROUP, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: JDA TECHNOLOGIES US, INC.
Assigned to JDA TECHNOLOGIES US, INC. reassignment JDA TECHNOLOGIES US, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION ASSIGNMENT. Assignors: I2 TECHNOLOGIES US, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination

Definitions

  • This invention relates in general to commercial environments, and more particularly to generating an optimized price schedule for a product.
  • An important decision for a business to make is determining the prices of products, goods, or services offered by the business. Pricing decisions are important to a business's success or failure, since these decisions may have a critical impact on customer demand, profitability, and business operations. Informed pricing decisions, however, may be difficult to make, since these decisions may need to reflect a large number of business objectives and operating constraints, and may need to be made for a large number of items across a large number of sales locations. Moreover, pricing decisions may need to be frequently updated in order to adjust for rapid changes in business conditions, such as changes in inventory, demand, or a competitor's prices. Consequently, businesses may benefit greatly from price optimization, which may allow businesses to make effective pricing decisions.
  • a business may generate a price schedule over a time horizon, and may optimize the price schedule in order to maximize the benefit of a product to the business.
  • a price schedule may be optimized to maximize expected profits or revenues over a time horizon, subject to operating constraints such as an allowed frequency of price changes, a maximum number of price changes, or an inventory target level.
  • Optimizing price schedules may be computationally difficult. As a result, previous techniques for generating an optimized price schedule have been inadequate.
  • a method for generating a price schedule includes generating a transition graph having paths. Each path has states, and each state has a price value, an inventory value, and a state value.
  • the transition graph is generated by repeating the following for a number of stages until a last stage is reached.
  • the price value of a successor state is determined.
  • the inventory value of the successor state is calculated using the price value and the inventory value of a predecessor state.
  • the state value of the successor state is calculated using the price value and the inventory value of the predecessor state.
  • an optimal path is selected according to the state values of the states, and a price schedule is determined from the optimal path.
  • a method for computing an elasticity curve includes selecting a demand model having a number of variables. A number of values for each variable are received. Filter sets that restrict the values for at least one variable are defined. An elasticity curve is determined for each filter set by filtering the values for at least one variable using the filter set, and calculating the elasticity curve from the filtered values by performing a regression analysis using the demand model as a regression equation. A quality value is measured for each elasticity curve, and an optimal elasticity curve is selected according to the quality values.
  • a method for determining a sales forecast from an estimated demand and inventory includes defining a number of locations. An inventory and a demand are estimated at each location. An expected number of unrealized sales at each location is calculated using a difference between the demand and the inventory at the location. A sales forecast is determined using the expected number of unrealized sales.
  • Certain embodiments of the present invention may provide one or more technical advantages over previous price scheduling techniques. Selling goods typically requires dynamic adjustment of a sales price over a time horizon. Given a forecast of product demand over time and a model of price elasticity, the present invention may calculate a price schedule that maximizes a business objective such as cumulative revenue, while satisfying business constraints such as a desired price behavior or an inventory target level.
  • the present invention may generate price schedules that satisfy a variety of operating constraints.
  • Price schedules are typically required to meet operating constraints such as a maximum number of price changes within a given time period of a time horizon, a maximum number of price changes over a time horizon, or a maximum price change over a time horizon.
  • Price values may be constrained to meet specific price rules, for example, a price value must have a “9” in the cents position.
  • Price values may be constrained to adhere to certain price reduction levels, such as 25%, 50%, or 75% off a base price. Constraints may be applied to the inventory age as described by the time the products are stored in inventory. The present invention may generate price schedules that satisfy these and other operating constraints.
  • the present invention may allow for optimization of a variety of business objectives.
  • Objectives may include, but are not limited to, margin and revenue considerations, opportunity costs of capital, inventory carrying costs, inventory age, costs of implementing price changes, impact on profits of substitute products, or opportunity costs of allocated shelf-space, or any other suitable objective.
  • the present invention may be extended to incorporate an uncertainty of a demand forecast or an elasticity model in order to achieve certain statistical guarantees of performance of computed price schedules.
  • the invention may be extended to compute price schedules of portfolios of products while considering price constraints between these products, or price schedules for groups of locations given price constraints between locations in the group.
  • the present invention may efficiently generate an optimized price schedule using a “quantized dynamic programming” technique.
  • a transition graph with paths representing possible price schedules may be generated using quantized dynamic programming.
  • An optimal path of the transition graph is selected in order to determine an optimized price schedule.
  • the present invention may improve the efficiency of the optimization by quantizing values associated with the transition graph at various degrees of granularity. Quantizing the state values reduces the size of transition graph, which may improve the processing time and power required to determine an optimal path of the transition graph.
  • the present invention may take into account the elasticity of a product in order to improve the accuracy of the optimization.
  • the elasticity of a product describes a change in the demand of a product in response to a change in the price of the product.
  • the present invention may take into account the effect of unrealized sales due to supply limitations, which may improve the accuracy of the optimal path.
  • An unrealized sale is predicted where there is a demand for a product, but no inventory, and may result when inventory is distributed across a group of locations that are being optimized together.
  • aggregate values only take into account a total demand and a total inventory and do not account for supply limitations.
  • the present invention may be used to compute an optimal sequence of product markdowns for liquidating merchandise, which may enable sellers to better plan and more profitably manage inventory, such as at the end of a product lifecycle. Given initial inventory and price values, a price schedule of product markdowns that maximizes business objectives while satisfying business constraints may be calculated. The price schedule may be used to maximize margin capture rates while reducing margin degradation and to provide accurate estimates of both margin capture rates and margin degradation factors. In addition, the present invention may be used to determine optimal start and end dates of a markdown horizon, or to determine which products should be put on a markdown plan. The present invention may be used to guide the decision of how many units of which product should be acquired for subsequent sale.
  • FIG. 1 illustrates an example system for generating an optimized price schedule for a product
  • FIG. 2 illustrates an example transition graph that represents possible valid price schedules for a product
  • FIG. 3 illustrates an example method for generating an optimized price schedule for a product
  • FIG. 4 illustrates an example method for computing elasticity
  • FIG. 5 illustrates an example method for optimizing a transition graph to generate an optimized price schedule for a product
  • FIGS. 6A through 6C illustrate example an elasticity curve
  • FIG. 7 illustrates an example method for adjusting an aggregate inventory value.
  • FIG. 1 illustrates an example system 10 that generates an optimized price schedule for a product.
  • a price schedule lists prices for a product at successive stages of time.
  • a company 20 may use system 10 to determine an optimized price schedule for a product sold by company 20 .
  • company 20 may include any combination of locations 24 , for example, one or more sales locations 24 .
  • Company 20 and/or one or more locations 24 may include a computer system 26 that may share data storage, communications, or other resources according to particular needs.
  • Computer systems 26 may include appropriate input devices, output devices, mass storage media, processors, memory, or other components for receiving, processing, storing, and communicating information according to the operation of system 10 .
  • the term “computer” is intended to encompass a personal computer, work station, network computer, wireless data port, wireless telephone, personal digital assistant, one or more microprocessors within these or other devices, or any other suitable processing device.
  • Reference herein to a location 24 may include reference to one or more associated computing devices and/or persons, as appropriate.
  • a server 30 manages applications that generate an optimized price schedule.
  • Server 30 includes an optimizer 34 and an elasticity module 36 .
  • Optimizer includes a transition graph generator 32 and a forecast correction module 35 .
  • Transition graph generator 32 may be used to generate a transition graph that represents possible price schedules that satisfy predetermined business constraints.
  • Optimizer 34 optimizes the transition graph generated by transition graph generator 32 in order to determine an optimal path of the transition graph. The optimal path represents an optimal price schedule.
  • Forecast correction module 35 determines a projected number of unrealized sales, and converts a demand forecast into a sales forecast.
  • Elasticity module 36 may be used to determine a projected price elasticity curve that transition graph generator 32 may use to generate a transition graph.
  • a database 40 stores data that may be used by server 30 .
  • History 42 may include data that may be used to generate a price schedule for a product, such as inventory history or sales history of one or more products. History 42 may include, for example, a number of units of a product sold, a price per unit, and a time at which the units were sold.
  • Elasticity curve 44 describes an estimated change in demand for a product in response to a change of a price of the product.
  • Demand forecast 43 describes a forecasted demand over time.
  • Transition graph generator 32 uses elasticity curve 44 to determine an estimated change in the demand of a product in response to a change in the price of the product.
  • Locations 24 and/or database 40 may be coupled to server 30 using one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), a global computer network such as the Internet, or any other appropriate wire line, wireless, or other links.
  • LANs local area networks
  • MANs metropolitan area networks
  • WANs wide area networks
  • Internet global computer network
  • any other appropriate wire line, wireless, or other links may be coupled to server 30 using one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), a global computer network such as the Internet, or any other appropriate wire line, wireless, or other links.
  • FIG. 2 illustrates an example transition graph 50 that represents possible price schedules.
  • Transition graph 50 includes states 52 at different stages 60 .
  • Stages 60 represent time intervals during which a product has a particular price. Stages 60 may represent any suitable time interval, for example, a week. Additionally, the time intervals represented by stages 60 may be equal to each other in length or may differ from each other, for example, using telescoping buffers.
  • n stages 60 are illustrated.
  • a predecessor state may be coupled to a successor state by a transition 53 .
  • a sequence of states 52 from stage 160 a to stage n 60 n coupled by transitions 53 form a path of transition graph 50 .
  • a state 52 may include any combination of values, for example, a stage value 51 , a price value 54 , an inventory value 56 , a state value 58 , and a state history 59 .
  • Stage value 51 represents the number of the stage 60 at which state 52 occurs.
  • Price value 54 represents the price per unit of a product.
  • Price value 54 may alternatively be associated with a transition 53 from a predecessor state to a successor state.
  • Inventory value 56 represents the number of units of the product in the inventory of company 20 , typically at the beginning of the state following transactions at previous states.
  • State value 58 represents the value of state 52 , and is used to calculate the value of the paths of transition graph 50 .
  • State value 58 may be computed from, for example, the sales of a product, the expected profit of a product, the gross margin of a product, the inventory carrying cost of an optimal path leading to the state, the number of price changes of an optimal path leading to the state, or the average selling price of a product.
  • State history 59 of state 52 includes information associated with a path from the initial state to state 52 .
  • state history 59 may include a number of price changes since stage 60 a or a number of stages since a last price change.
  • State history 59 may include a certainty value that measures the certainty of state value 58 . The certainty value may be determined from an error margin associated with the calculation of state value 58 .
  • transition graph 50 includes state 52 a at stage 60 a .
  • State 52 a has a price value 54 of “$100.00,” an inventory value 56 of “500 units”, a state value 58 of “0” (since state 52 a is an initial state), and a state history 59 h .
  • State 52 a is a predecessor state to successor states 52 b - e .
  • Successor states 52 b - e represent possible states at stage 60 b given state 52 a at stage 60 a .
  • States 52 b - e include price values “$100.00,” “$95.00,” “$90.00,” and “$85.00,” respectively.
  • These price values 54 represent possible prices of the product at stage 60 b given that the product has a price value of $100.00 at stage 60 a .
  • Inventory values 56 of “400 units” for states 52 b - e represent the number of units at stage 60 b given that there were five hundred units with a price value of $100.00 per unit at stage 60 a .
  • Inventory value 56 may be computed using a demand forecast, and elasticity curve 44 provided by elasticity module 36 .
  • State values 58 of states 52 b - e measure the value of states 52 b - e given that one hundred units were sold at a price value of $100.00 per unit.
  • the values 54 , 56 , 58 , and 59 may be quantized to reduce the number of successor states 52 , which may reduce the complexity of transition graph 50 . Reducing the complexity of transition graph 50 may in turn reduce the processing power and time needed to generate transition graph 50 , which may be important if transition graph 50 is large.
  • price value 54 may be quantized. For example, specific price values 54 may be predetermined for each stage. “Each” as used in this document means each member of a set or each member of a subset of a set. In the illustrated example, the price values “$100.00”, “$95.00,” “$90.00,” and “$80.00” may be predetermined for states 52 b - e .
  • changes in the price values 54 from one stage 60 to another stage 60 may be predetermined. For example, price changes of $0.00, ⁇ $5.00, ⁇ $10.00, and ⁇ $15.00 may be predetermined for states 52 b - e .
  • price increments may be predetermined. For example, price values at $5.00 increments may be predetermined for states 52 b - e.
  • inventory values 56 may be quantized. Inventory increments may be predetermined, and inventory values 56 at a successor stage 60 computed from price value 54 and an inventory value 56 at a predecessor stage 60 may be rounded up or down to the appropriate quantized inventory value 56 .
  • an inventory increment may be predetermined to be ten units, and inventory values 56 of states 52 may be rounded up or down to inventory values at increments of ten units. Rounding of inventory values, however, is not required to store the states, but may be used to compare states.
  • constraints may be used to reduce the number of successor states 52 generated from a predecessor state 52 .
  • Constraints may be placed on price value 54 .
  • a maximum and a minimum price change may be used to limit the difference between price values 54 of a successor state 52 and the price values 54 of a predecessor state 52 .
  • a maximum price change is ⁇ $15.00, and no minimum price change is given.
  • An absolute minimum price value 54 and an absolute maximum price value 54 may be defined to limit the price value 54 of any state 52 .
  • a maximum price value is the starting price of “$100.00,” and a minimum price value is “$50.00.”
  • a minimum and a maximum number of price changes may be used to control the number of times price value 54 may change from stage 60 a to stage 60 n .
  • initial maximum and minimum price changes may be used to limit the price change from stage 60 a to stage 60 b
  • subsequent maximum and minimum price changes may be used to limit price changes from stage 60 b to stage 60 n .
  • a minimum number of stages 60 between price changes may be used to avoid frequent price changes.
  • a maximum number of price changes may be defined to limit the number of price changes from stage 60 a to stage 60 n.
  • Constraints may be placed on inventory values 56 .
  • a maximum ending inventory may be used to eliminate states 52 at stage 60 n that include inventory values 56 that are too high.
  • constraints may define a penalty or cost for inventory left at the last stage 60 .
  • Maximum and minimum inventory values 56 may be used to control the unit's inventory at each stage 52 .
  • FIG. 3 illustrates an example method for generating an optimized price schedule for a product.
  • elasticity module 36 accesses demand forecast 43 from database 40 .
  • elasticity module 36 computes an optimal elasticity curve 44 .
  • Elasticity curve 44 describes the change in the demand for a product in response to a change in the price of the product.
  • a method for computing elasticity curve 44 is described in more detail with reference to FIG. 5 .
  • Demand forecast 43 is adjusted at step 82 .
  • Demand forecast 43 may be adjusted in order to take into account unrealized sales that are estimated at one or more sales locations 24 .
  • a method for adjusting demand forecast 43 is described in more detail with reference to FIG. 7 .
  • Demand forecast 43 is converted to a sales forecast at step 84 . Generating an optimized price schedule for locations 24 in the aggregate uses a sales forecast.
  • a method for converting demand forecast 43 is described in more detail with reference to FIG. 7 .
  • transition graph generator 32 generates a transition graph 50 that represents possible price schedules for a product.
  • a method for generating transition graph 50 described with reference to FIG. 4 described with reference to FIG. 4 .
  • optimizer 34 determines an optimal path of transition graph 50 .
  • the optimal path represents an optimized price schedule for company 20 . Determining an optimal path is described in more detail with reference to FIG. 4 .
  • a price schedule is determined from the optimal path at step 92 .
  • the price schedule is output at step 94 .
  • a computer 26 may output the price schedule.
  • FIG. 4 illustrates an example method for generating an optimized price schedule using dynamic programming.
  • a transition graph 50 is generated.
  • An optimal path of transition graph 50 is selected to determine an optimized price schedule.
  • a user at location 24 may use computer 26 to initiate transition graph generator 32 , which may in turn use elasticity module 36 and optimizer 34 to generate an optimized price schedule.
  • Generating a price schedule includes generating transition graph 50 that comprises paths.
  • Each path includes states 52 , and each state 52 may include, but is not limited to, the following: a stage 60 relating to the state's position in the time horizon, an assigned price, a projected inventory level, a state value, and a record of historic information, such as number of previous price changes.
  • the inventory level, value, and history of state 52 reflect the best path from the origin of transition graph 50 that leads to state 52 .
  • Transition graph 50 may be generated by repeating the following for a number of stages 60 until a final stage is reached.
  • the price value of a successor of a current state 52 is determined using a forecast of product demand at the current stage 60 and a mathematical model of the current stage's price-demand response, also referred to as “price-demand elasticity.”
  • the process of generating successor states may be called “state expansion”.
  • the stage 60 , inventory level, value, and history of the successor state 52 are calculated using the current state information in addition to the forecasted demand and price-demand elasticity for the current state.
  • the process of state expansion may be carried out for states 52 of a given stage, advancing stage 60 by stage 60 through the time horizon in order to construct transition graph 50 .
  • an optimal path is selected according to the state values and other information of states 52 .
  • a price schedule is determined from the optimal path.
  • transition graph generator 32 defines states 52 and transitions 53 of transition graph 50 .
  • c i represents the inventory of state q i
  • v i represents the value of state q i .
  • h i represents accumulated state history of state q i .
  • Set Q is defined as the set of all states q i . While the state history may include various aspects relating to an optimal path to the state such as a number of price changes, the state representation as expressed by Equation (6) abstracts away the details of the state history. Different representations of a state may be used. Unless otherwise noted, the components of a state are labeled using the state's annotation. For example, the state q′ has components labeled (s′, p′, c′, v′, h′).
  • State value v i is used to evaluate states q i during state expansion. State value v i may represent, for example, revenues accumulated through state q i . Additional or alternative criteria may be used to select an optimal final state from transition graph 50 .
  • an evaluation function finalval Q ⁇ R that maps states to real numbers may be used to evaluate inventory values and other values of a final state.
  • a feasibility function finalfeasible: Q ⁇ 0,I ⁇ may be used to determine whether a final state is feasible according to the constraints. For example, a feasibility function may be used to determine whether a final inventory value is acceptable.
  • Initial conditions and data are received at step 152 .
  • Initial conditions may include a maximum number of stages n, an initial state q 0 , and a maximum number M of inventory units allowed at the last stage n. Other constraints may also be included in the initial conditions.
  • Initial conditions may also include quantization criteria such as quantized inventory levels C and quantized price levels P. Quantization of inventory and price values may be defined by Equations (7): ⁇ c :R ⁇ C quantization of inventory (7) ⁇ c :R ⁇ P quantization of price
  • the quantization may be used to limit the number of states that may be generated at each stage while constructing the transition graph.
  • Initial data may include a demand forecast F s at a stage s, and an elasticity adjustment E(p,s) for price p at stage s that may be used to adjust demand forecast F s .
  • Elasticity adjustment E(p,s) may be determined from the elasticity curve calculated by elasticity module 36 according to the method as described in connection with FIG. 5 .
  • an elasticity constant c E may be extracted from the elasticity curve, as expressed by Equation (1), and may be used to determine E(p,s).
  • Transition 53 from a predecessor state 52 to a successor state 52 may be defined by a state-transition function expressed by Definition (9) that has a state-transition operator : (s,p,c,v,h) (s′,p′,c′,v′,h′), if and only if (9)
  • Transition 53 provides an example of a state-transition function.
  • Transition 53 may be defined in any suitable manner.
  • constraints may be placed on transition 53 in order to limit the successor states 52 of a state 52 . Any of the components of state 52 may be constrained.
  • a constraint may, for example, prohibit drastic or frequent changes in the price values.
  • a price-adjusted demand forecast F s . E(p,s) may be adjusted to take into account unrealized sales that occur at one or more sales locations 24 .
  • a method for adjusting the price-adjusted demand forecast is described in more detail in connection with FIG. 7 .
  • the following summary outlines a method for determining an optimal final state.
  • the method expands transition graph 50 and determines an optimal feasible final state.
  • An optimized price schedule may be determined from the optimal feasible final state and transition graph 50 .
  • the subsequent description provides a more detailed description of the method.
  • the data structures may include set K at stage i, which is a set of maximal states q that may be coupled by transitions 53 from initial state q 0 to a state at stage i.
  • a maximal state 52 may be calculated according to state value v.
  • Equation (10) expresses that at any time, set K contains only maximal states, that is, states (s, p, c, v, h) for which there is no better state, having the same values of s, p, h, and the same quantized value of c, that is reachable from q 0 .
  • set K is defined as ⁇ q 0 ⁇ .
  • Set F is a set of successor states 52 that may be coupled to a maximal predecessor state 52 of set K.
  • Set S is a set of transitions 53 that couple a maximal predecessor state of set K to an unexplored successor state 52 of set U.
  • Successor states 52 are generated at step 158 .
  • Successor states 52 may be generated by adding state transitions to the set S k , according to Equation (11):
  • S k : S k ⁇ ⁇ ( q * , q ′ ) ⁇ K ⁇ F
  • q _ ⁇ F & ⁇ ( q * , q ′ ) ⁇ ⁇ arg ⁇ ⁇ max ( q 1 , q 2 ) ⁇ K ⁇ F ⁇ ⁇ ⁇ v z
  • Ordered pair (q*,q′) is a state-transition to be added, and q is a reachable state of set F that conforms to the specific price value p .
  • the argmax expression yields an ordered pair (q*,q′).
  • State q′ of the ordered pair represents a value-maximal successor state q′, given fixed price value p , state history value h , and fixed inventory value c , modulo the given quantization ⁇ c , and state q* represents the origin of the transition.
  • State q binds inventory value c and state history value h , and enforces that only states which equivalent state history values are compared in the argmax expression.
  • a successor state 52 may be indexed by its maximal predecessor state 52 in order to allow for efficient retrieval of maximal states 52 from previous stages 60 .
  • the index may be implemented in any suitable manner, for example, using a hash function or static array indexing. Invalid successor states 52 may be eliminated according to the constraints specified in the initial conditions.
  • Values for the successor state 52 are quantized and adjusted at step 160 .
  • Values for successor states 52 may be quantized and adjusted using Equations (7).
  • Price value p′ is quantized according to the quantization criteria specified in the initial conditions. Quantizing values reduces the complexity of transition graph 50 , which may improve the processing time required to determine an optimal path of transition graph 50 .
  • Inventory c′ is also adjusted using the elasticity adjustment E(p,s). Inventory c′ may also be adjusted in order to take into account unrealized sales that occur at one or more sales locations 24 . A method for adjusting inventory values 56 is described in more detail in connection with FIG. 7 .
  • Quantization may be applied in any suitable manner. For example, price values may be stored as quantized values, and inventory values may be stored as exact precise values. When different states are compared using Equation (11), the inventory values may be compared after quantization. If the quantized values are the same, the two successors can be regarded identical according to Equation (11).
  • transition graph generator 32 determines whether there is a next stage 60 . If there is a next stage 60 , transition graph generator 32 returns to step 156 to define successor states 52 at the next stage 60 . If there is no next stage 60 at step 164 , transition graph generator 32 proceeds to step 166 , where optimizer 34 determines an optimal path of transition graph 50 .
  • the selection of the optimal path may be limited by a constraint specified in the initial conditions, which may be labeled as finalfeasible. Additionally or alternatively, a predetermined certainty value may limit the optimal paths to paths that satisfy the predetermined certainty value.
  • a price schedule is determined from the optimal path at step 168 .
  • the path comprises a sequence of states 52 that describe a price value at each stage 60 .
  • the price values at each stage 60 are converted into a price schedule for a product.
  • the method is terminated.
  • a user may program transition graph generator 32 to periodically perform the method, for example, daily or weekly, in order to provide an updated price schedule generated using recent data.
  • the present invention may be used to compute an optimal sequence of product markdowns for liquidating merchandise, which may enable sellers to better plan and more profitably manage inventory, for example, at the end of a product lifecycle. Given initial inventory and price values, a price schedule of product markdowns that maximizes business objectives while satisfying business constraints may be calculated.
  • FIG. 5 illustrates an example method for computing elasticity.
  • a user at location 24 may use computer 26 to initiate elasticity module 36 to compute an elasticity curve 44 .
  • elasticity module 36 determines an elasticity curve from state history and may use different filter sets to determine the elasticity curve. In general, each filter set is used to filter product data. Regression analysis is performed on the filtered data to yield elasticity curves. The fit of the data and the elasticity curves is measured, and an elasticity curve is selected.
  • Elasticity module 36 begins at step 110 , where a demand model having dependent and independent variables is determined.
  • Equation (2) may be used as a regression equation, where ln(D) is the dependent variable and ln(P), ln(1+ ⁇ ), ln(t), and t are the independent variables.
  • values for the dependent and independent variables are received.
  • the values may be derived from data describing one or more products.
  • the products may include the product for which a price schedule is to be generated and/or products similar to the product for which a price schedule is to be generated. For example, a single product may not have sufficient sales history data to generate a meaningful price schedule, so data from similar products may be combined to generate a price schedule.
  • Data for a product may be grouped in data rows, where each data row includes data for a specific stage in time.
  • a data row may include, for example, the following values: Product Identifier, Stage Number, Sales, Price, Revenues, and Promo.
  • Product Identifier identifies the product, and Stage Number identifies the stage.
  • Sales describes the number of units of the products sold during the stage
  • Price defines the price per unit
  • Revenues describe the revenues generated from the sale of the product.
  • Promo describes the number of units sold during a promotion for the product, such as a temporary price reduction.
  • Other or additional values may be used to calculate an elasticity curve. For example, a seasonal index variable that describes how a time of year, such as the Christmas season, affects the demand for a product maybe used.
  • the values for Sales may be used as the values for demand D. Values for Price and Stage Number may be used as the values for price P and time t.
  • Promo Filter is a constraint
  • Filter sets are defined at step 114 .
  • Each filter set comprises one or more constraints that restrict the values for the variables of the demand model.
  • An example filter set is described by Table 1: TABLE 1
  • Example Filter Name Description Value Min Sales Minimum number of sales 5 units Min Revenues Minimum revenues $10 Min Rows Minimum number of data rows 15 points Promo Filter Promotions filter 5% Perc Filter Data value filter 2.5%
  • a data row is removed if Sales is less than Min Sales or Revenues is less than Min Revenues.
  • the data rows for a product are removed if number of data rows for the product is less than Min Rows.
  • Promo Filter is used to define promotion variable ⁇ , as shown in Equation (3). Data rows that include values that are within a first or last percentile given by Perc Filter are removed.
  • Steps 116 through 144 are performed for each filter set in order to determine the filter set that yields an optimal elasticity curve.
  • a filter set is selected.
  • Steps 118 through 136 are performed on data for each product individually in order to eliminate unacceptable data.
  • a product is selected.
  • the values for the product are filtered using the filter set selected at step 116 .
  • the variables are normalized at step 122 .
  • Mean (x) is the average of x.
  • a regression analysis is performed using the demand model, as expressed by Equation (2), as the regression equation of the dependent variable over the independent variables, that is, of ln(D) over ln(P), ln(1+ ⁇ ), ln(t), and t.
  • the regression analysis yields values for coefficients c E , K, q, ⁇ , and ⁇ , which are inserted into Equation (2) to define a regression or elasticity curve.
  • the quality of the elasticity curve is measured at step 126 .
  • the quality of the elasticity curve is determined to be acceptable or not at step 128 .
  • the quality may be acceptable if it satisfies a predetermined criteria. If the quality is not acceptable, the data for the product is eliminated at step 130 , and elasticity module 36 proceeds to step 138 . If the quality is acceptable, elasticity module 36 proceeds to step 132 .
  • an elasticity value is determined from the elasticity curve.
  • the negative of the elasticity coefficient c E of the price variable P may be used as the elasticity value.
  • the elasticity value is required to be positive.
  • elasticity module 36 determines whether there is a next product. If there is a next product, elasticity module 36 returns to step 118 , where the next product is selected. If there is no next product, elasticity module 36 proceeds to step 140 .
  • Steps 140 through 144 are performed on the aggregated data for the products in order to determine which filter set provides an optimized fit of the elasticity curve.
  • the data for the remaining products are aggregated to yield aggregated data.
  • regression analysis is performed on the aggregated data.
  • the regression analysis may use the demand model as expressed by Equation (2) as the regression equation of the dependent variable over the independent variables.
  • the quality of the elasticity curve is measured at step 144 , and may be measured in a manner substantially similar to that described above in connection with step 126 .
  • elasticity module 36 determines whether there is a next filter set. If there is a next filter set, elasticity module 36 returns to step 116 , where the next filter set is selected. If there is no next filter set, elasticity module 36 proceeds to step 148 , where an optimal elasticity curve is selected.
  • the optimal elasticity curve may be the highest quality elasticity curve according to measurements performed at step 144 . Additionally, the elasticity curve may be rewritten in the format of Equation (1) and sent to transition graph generator 32 . After selecting the optimal elasticity curve, elasticity module 36 terminates the method.
  • a user may program elasticity module 36 to perform the method periodically, for example, daily or weekly, in order to provide an updated elasticity curve to transition graph generator 32 .
  • FIGS. 6A through 6C illustrate an example elasticity curve 40 .
  • FIG. 6A illustrates elasticity curve 40 with respect to time.
  • Elasticity curve 40 is computed from price values and demand values.
  • FIG. 6B illustrates elasticity curve 40 and the demand values with respect to time.
  • FIG. 6C illustrates elasticity curve 40 and the demand values with respect to the price values.
  • FIG. 7 illustrates an example method for estimating a sales forecast from a demand forecast and an aggregate inventory value that describes the total inventory spread across a number of locations 24 of company 20 .
  • a demand forecast typically predicts customer demand, but not sales.
  • Computing an optimized price schedule for a number of locations 24 in the aggregate requires the prediction of sales instead of demand.
  • An aggregate sales forecast may be calculated from the aggregate inventory value and demand values from predecessor states 52 .
  • Unrealized sales, or stockouts may be determined in order to predict sales.
  • An unrealized sale is predicted where there is a demand at a location, but no inventory.
  • An unrealized sale may be expressed as a difference between a demand value and an inventory value at any given location 24 .
  • a demand forecast is adjusted to take into account unrealized sales that may be predicted at one or more locations 24 of company 20 , which may improve the accuracy of the predicted inventory values of an optimized price schedule.
  • the method performs a significant adjustment to the demand forecast when inventory levels and forecasted demands are aggregated across a number of locations 24 , or a store-group.
  • the method may be used with the method for generating an optimized price schedule as described with reference to FIG. 4 , in order to improve the accuracy of the predicted number of sales when operating on a store-group level.
  • the method may be used at each state-expansion in order to estimate the unit sales from the demand forecast, thereby significantly improving the accuracy of the inventory level of a successor state, in particular at low inventory levels.
  • the method may be calibrated to a particular location 24 and replenishment situation based on historic sales and inventory figures.
  • This method may be applied as part of the computation of the optimal price schedule, particularly if the estimate is not accurately performed as a preprocessing step. This may be the case if the demand value at each stage of the price scheduling horizon is dependent on a price value, and the future inventory values are dependent on the demand value.
  • the prediction of sales in turn depends on the inventory values, leading to a circular dependency.
  • the circular dependency may be resolved by taking the effect of distributed inventory on projected sales into account at each step of the computation of a price schedule.
  • FIG. 7 describes how a projected number of sales can be computed, given a demand forecast and an aggregate inventory at locations 24 .
  • transition graph generator 32 defines a number n of locations 24 .
  • An inventory s at each location 24 is estimated at step 182 .
  • Inventory s may be estimated by, for example, randomly populating each location 24 with inventory units.
  • a demand at d at each location 24 is estimated at step 184 .
  • Demand d at each location 24 may be estimated by randomly populating each location 24 with demand units. This random sampling may be performed a number of times.
  • the expected number E(M) of unrealized sales is determined at step 186 .
  • steps 182 through 186 may be performed using a probabilistic estimation. Given S units that are assumed to be evenly distributed across a number of n locations, the probability of a location receiving s units may be expressed using a binomial distribution. The binomial distribution may be used to determine the probability of s successful experiments, where the probability of success is 1/n. The random variable that represents the number of units of inventory at any particular store may be denoted by X s .
  • D represents the aggregate demand summed over locations 24
  • X D denotes the random variable that represents the unit demand at a particular location 24 .
  • Equation (19) Bnp ⁇ ( k , n , p ) ⁇ ⁇ k ⁇ e - ⁇ k ! , ( 19 )
  • steps 182 through 186 may be performed using a Poisson approximation to a binomial distribution by computing the probability of a location 24 having an inventory s or demand d using Equation (19).
  • expected number E(M) may be determined using Equation (20):
  • Equation (17) may be performed by using an incomplete beta-function.
  • the inner sum of Equation (17) may be denoted by J, and Equations (21) through (28) may be used to describe the steps to transform J into a form that may be efficiently computed using a standard procedure for the incomplete beta-function.
  • J may then be expressed by J1 and J2, as shown by Equation (23):
  • the aggregate sales forecast is computed according to the expected number of unrealized sales.
  • An aggregate sales forecast at a successor state 52 is calculated by subtracting the expected sales from the aggregate inventory at a predecessor state 52 .
  • the demand does not take into account unrealized sales.
  • the expected number of unrealized sales may be subtracted from the forecasted demand to account for unrealized sales, which may yield a more accurate price schedule.
  • the present invention may efficiently generate an optimized price schedule by using dynamic programming.
  • dynamic programming transition graph 50 with paths representing possible price schedules is generated, and an optimal path of the transition graph 50 is selected in order to determine an optimized price schedule.
  • the present invention may also improve the efficiency of the optimization by using quantized dynamic programming, which involves quantifying values associated with transition graph 50 . Quantizing the values reduces the complexity of transition graph 50 , which may improve the processing time and power required to determine an optimal path of transition graph 50 .
  • the present invention may use an improved calculation of elasticity in order to increase the accuracy of the optimization.
  • the present invention may take into account an unrealized sale that occurs at one of many locations, which may improve the accuracy of the optimal path.

Abstract

Generating a price schedule involves generating a graph having paths that include states with values. The graph is generated by determining the values of a successor state from the values of a predecessor state. An optimal path is selected, and a price schedule is determined from the optimal path. Computing an elasticity curve involves having a demand model, values for demand model, and filter sets that restrict the values. Elasticity curves are determined by filtering the values using filter sets, and calculating the elasticity curve using the demand model. A best-fitting elasticity curve is selected. Adjusting a demand forecast value includes estimating an inventory and a demand at a number of locations. An expected number of unrealized sales at each location is calculated. An sales forecast value is determined according to the expected number.

Description

    CLAIM OF PRIORITY
  • This application is a divisional of U.S. patent application Ser. No. 09/896,388 filed on 28 Jun. 2001 entitled “GENERATING AN OPTIMIZED PRICE SCHEDULE FOR A PRODUCT”, and which claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application Ser. No. 60/238,676, filed Oct. 6, 2000. U.S. patent application Ser. No. 09/896,388 and U.S. Provisional Application Ser. No. 60/238,676 are commonly assigned to the assignee of the present application. The disclosure of related U.S. patent application Ser. No. 09/896,388 and U.S. Provisional Application Ser. No. 60/238,676 are hereby incorporated by reference into the present disclosure as if fully set forth herein.
  • BACKGROUND
  • 1. Technical Field of the Invention
  • This invention relates in general to commercial environments, and more particularly to generating an optimized price schedule for a product.
  • 2. Background of the Invention
  • An important decision for a business to make is determining the prices of products, goods, or services offered by the business. Pricing decisions are important to a business's success or failure, since these decisions may have a critical impact on customer demand, profitability, and business operations. Informed pricing decisions, however, may be difficult to make, since these decisions may need to reflect a large number of business objectives and operating constraints, and may need to be made for a large number of items across a large number of sales locations. Moreover, pricing decisions may need to be frequently updated in order to adjust for rapid changes in business conditions, such as changes in inventory, demand, or a competitor's prices. Consequently, businesses may benefit greatly from price optimization, which may allow businesses to make effective pricing decisions.
  • A business may generate a price schedule over a time horizon, and may optimize the price schedule in order to maximize the benefit of a product to the business. For example, a price schedule may be optimized to maximize expected profits or revenues over a time horizon, subject to operating constraints such as an allowed frequency of price changes, a maximum number of price changes, or an inventory target level. Optimizing price schedules, however, may be computationally difficult. As a result, previous techniques for generating an optimized price schedule have been inadequate.
  • SUMMARY OF THE INVENTION
  • In accordance with the present invention, disadvantages and problems associated with generating price schedules have been substantially reduced or eliminated.
  • In accordance with an embodiment of the present invention, a method for generating a price schedule includes generating a transition graph having paths. Each path has states, and each state has a price value, an inventory value, and a state value. The transition graph is generated by repeating the following for a number of stages until a last stage is reached. The price value of a successor state is determined. The inventory value of the successor state is calculated using the price value and the inventory value of a predecessor state. The state value of the successor state is calculated using the price value and the inventory value of the predecessor state. After the last stage has been reached, an optimal path is selected according to the state values of the states, and a price schedule is determined from the optimal path.
  • In accordance with another embodiment of the present invention, a method for computing an elasticity curve includes selecting a demand model having a number of variables. A number of values for each variable are received. Filter sets that restrict the values for at least one variable are defined. An elasticity curve is determined for each filter set by filtering the values for at least one variable using the filter set, and calculating the elasticity curve from the filtered values by performing a regression analysis using the demand model as a regression equation. A quality value is measured for each elasticity curve, and an optimal elasticity curve is selected according to the quality values.
  • In accordance with another embodiment of the present invention, a method for determining a sales forecast from an estimated demand and inventory includes defining a number of locations. An inventory and a demand are estimated at each location. An expected number of unrealized sales at each location is calculated using a difference between the demand and the inventory at the location. A sales forecast is determined using the expected number of unrealized sales.
  • Certain embodiments of the present invention may provide one or more technical advantages over previous price scheduling techniques. Selling goods typically requires dynamic adjustment of a sales price over a time horizon. Given a forecast of product demand over time and a model of price elasticity, the present invention may calculate a price schedule that maximizes a business objective such as cumulative revenue, while satisfying business constraints such as a desired price behavior or an inventory target level.
  • The present invention may generate price schedules that satisfy a variety of operating constraints. Price schedules are typically required to meet operating constraints such as a maximum number of price changes within a given time period of a time horizon, a maximum number of price changes over a time horizon, or a maximum price change over a time horizon. Price values may be constrained to meet specific price rules, for example, a price value must have a “9” in the cents position. Price values may be constrained to adhere to certain price reduction levels, such as 25%, 50%, or 75% off a base price. Constraints may be applied to the inventory age as described by the time the products are stored in inventory. The present invention may generate price schedules that satisfy these and other operating constraints.
  • The present invention may allow for optimization of a variety of business objectives. Objectives may include, but are not limited to, margin and revenue considerations, opportunity costs of capital, inventory carrying costs, inventory age, costs of implementing price changes, impact on profits of substitute products, or opportunity costs of allocated shelf-space, or any other suitable objective.
  • The present invention may be extended to incorporate an uncertainty of a demand forecast or an elasticity model in order to achieve certain statistical guarantees of performance of computed price schedules. The invention may be extended to compute price schedules of portfolios of products while considering price constraints between these products, or price schedules for groups of locations given price constraints between locations in the group.
  • The present invention may efficiently generate an optimized price schedule using a “quantized dynamic programming” technique. A transition graph with paths representing possible price schedules may be generated using quantized dynamic programming. An optimal path of the transition graph is selected in order to determine an optimized price schedule. The present invention may improve the efficiency of the optimization by quantizing values associated with the transition graph at various degrees of granularity. Quantizing the state values reduces the size of transition graph, which may improve the processing time and power required to determine an optimal path of the transition graph.
  • The present invention may take into account the elasticity of a product in order to improve the accuracy of the optimization. The elasticity of a product describes a change in the demand of a product in response to a change in the price of the product. The present invention may take into account the effect of unrealized sales due to supply limitations, which may improve the accuracy of the optimal path. An unrealized sale is predicted where there is a demand for a product, but no inventory, and may result when inventory is distributed across a group of locations that are being optimized together. Typically, aggregate values only take into account a total demand and a total inventory and do not account for supply limitations.
  • The present invention may be used to compute an optimal sequence of product markdowns for liquidating merchandise, which may enable sellers to better plan and more profitably manage inventory, such as at the end of a product lifecycle. Given initial inventory and price values, a price schedule of product markdowns that maximizes business objectives while satisfying business constraints may be calculated. The price schedule may be used to maximize margin capture rates while reducing margin degradation and to provide accurate estimates of both margin capture rates and margin degradation factors. In addition, the present invention may be used to determine optimal start and end dates of a markdown horizon, or to determine which products should be put on a markdown plan. The present invention may be used to guide the decision of how many units of which product should be acquired for subsequent sale.
  • Systems and methods incorporating one or more of these or other advantages may be well suited for modem commercial environments such as those associated with marking down the price of a product to achieve a predetermined inventory target. Other technical advantages are readily apparent to those skilled in the art from the following figures, descriptions, and claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of the present invention and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates an example system for generating an optimized price schedule for a product;
  • FIG. 2 illustrates an example transition graph that represents possible valid price schedules for a product;
  • FIG. 3 illustrates an example method for generating an optimized price schedule for a product;
  • FIG. 4 illustrates an example method for computing elasticity;
  • FIG. 5 illustrates an example method for optimizing a transition graph to generate an optimized price schedule for a product;
  • FIGS. 6A through 6C illustrate example an elasticity curve; and
  • FIG. 7 illustrates an example method for adjusting an aggregate inventory value.
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 1 illustrates an example system 10 that generates an optimized price schedule for a product. A price schedule lists prices for a product at successive stages of time. A company 20 may use system 10 to determine an optimized price schedule for a product sold by company 20. Depending on the nature of company 20, company 20 may include any combination of locations 24, for example, one or more sales locations 24.
  • Company 20 and/or one or more locations 24 may include a computer system 26 that may share data storage, communications, or other resources according to particular needs. Computer systems 26 may include appropriate input devices, output devices, mass storage media, processors, memory, or other components for receiving, processing, storing, and communicating information according to the operation of system 10. As used in this document, the term “computer” is intended to encompass a personal computer, work station, network computer, wireless data port, wireless telephone, personal digital assistant, one or more microprocessors within these or other devices, or any other suitable processing device. Reference herein to a location 24 may include reference to one or more associated computing devices and/or persons, as appropriate.
  • A server 30 manages applications that generate an optimized price schedule. Server 30 includes an optimizer 34 and an elasticity module 36. Optimizer includes a transition graph generator 32 and a forecast correction module 35. Transition graph generator 32 may be used to generate a transition graph that represents possible price schedules that satisfy predetermined business constraints. Optimizer 34 optimizes the transition graph generated by transition graph generator 32 in order to determine an optimal path of the transition graph. The optimal path represents an optimal price schedule. Forecast correction module 35 determines a projected number of unrealized sales, and converts a demand forecast into a sales forecast. Elasticity module 36 may be used to determine a projected price elasticity curve that transition graph generator 32 may use to generate a transition graph.
  • A database 40 stores data that may be used by server 30. History 42 may include data that may be used to generate a price schedule for a product, such as inventory history or sales history of one or more products. History 42 may include, for example, a number of units of a product sold, a price per unit, and a time at which the units were sold. Elasticity curve 44 describes an estimated change in demand for a product in response to a change of a price of the product. Demand forecast 43 describes a forecasted demand over time. Transition graph generator 32 uses elasticity curve 44 to determine an estimated change in the demand of a product in response to a change in the price of the product.
  • Locations 24 and/or database 40 may be coupled to server 30 using one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), a global computer network such as the Internet, or any other appropriate wire line, wireless, or other links.
  • FIG. 2 illustrates an example transition graph 50 that represents possible price schedules. Transition graph 50 includes states 52 at different stages 60. Stages 60 represent time intervals during which a product has a particular price. Stages 60 may represent any suitable time interval, for example, a week. Additionally, the time intervals represented by stages 60 may be equal to each other in length or may differ from each other, for example, using telescoping buffers. In the illustrated example, n stages 60 are illustrated. A predecessor state may be coupled to a successor state by a transition 53. A sequence of states 52 from stage 160 a to stage n 60 n coupled by transitions 53 form a path of transition graph 50.
  • A state 52 may include any combination of values, for example, a stage value 51, a price value 54, an inventory value 56, a state value 58, and a state history 59. Stage value 51 represents the number of the stage 60 at which state 52 occurs. Price value 54 represents the price per unit of a product. Price value 54 may alternatively be associated with a transition 53 from a predecessor state to a successor state. Inventory value 56 represents the number of units of the product in the inventory of company 20, typically at the beginning of the state following transactions at previous states.
  • State value 58 represents the value of state 52, and is used to calculate the value of the paths of transition graph 50. State value 58 may be computed from, for example, the sales of a product, the expected profit of a product, the gross margin of a product, the inventory carrying cost of an optimal path leading to the state, the number of price changes of an optimal path leading to the state, or the average selling price of a product. State history 59 of state 52 includes information associated with a path from the initial state to state 52. For example, state history 59 may include a number of price changes since stage 60 a or a number of stages since a last price change. State history 59 may include a certainty value that measures the certainty of state value 58. The certainty value may be determined from an error margin associated with the calculation of state value 58.
  • In the illustrated example, transition graph 50 includes state 52 a at stage 60 a. State 52 a has a price value 54 of “$100.00,” an inventory value 56 of “500 units”, a state value 58 of “0” (since state 52 a is an initial state), and a state history 59 h. State 52 a is a predecessor state to successor states 52 b-e. Successor states 52 b-e represent possible states at stage 60 b given state 52 a at stage 60 a. States 52 b-e include price values “$100.00,” “$95.00,” “$90.00,” and “$85.00,” respectively. These price values 54 represent possible prices of the product at stage 60 b given that the product has a price value of $100.00 at stage 60 a. Inventory values 56 of “400 units” for states 52 b-e represent the number of units at stage 60 b given that there were five hundred units with a price value of $100.00 per unit at stage 60 a. Inventory value 56 may be computed using a demand forecast, and elasticity curve 44 provided by elasticity module 36. State values 58 of states 52 b-e measure the value of states 52 b-e given that one hundred units were sold at a price value of $100.00 per unit.
  • The values 54, 56, 58, and 59 may be quantized to reduce the number of successor states 52, which may reduce the complexity of transition graph 50. Reducing the complexity of transition graph 50 may in turn reduce the processing power and time needed to generate transition graph 50, which may be important if transition graph 50 is large. In one embodiment, price value 54 may be quantized. For example, specific price values 54 may be predetermined for each stage. “Each” as used in this document means each member of a set or each member of a subset of a set. In the illustrated example, the price values “$100.00”, “$95.00,” “$90.00,” and “$80.00” may be predetermined for states 52 b-e. Alternatively, changes in the price values 54 from one stage 60 to another stage 60 may be predetermined. For example, price changes of $0.00, −$5.00, −$10.00, and −$15.00 may be predetermined for states 52 b-e. Alternatively, price increments may be predetermined. For example, price values at $5.00 increments may be predetermined for states 52 b-e.
  • Similarly, inventory values 56 may be quantized. Inventory increments may be predetermined, and inventory values 56 at a successor stage 60 computed from price value 54 and an inventory value 56 at a predecessor stage 60 may be rounded up or down to the appropriate quantized inventory value 56. For example, an inventory increment may be predetermined to be ten units, and inventory values 56 of states 52 may be rounded up or down to inventory values at increments of ten units. Rounding of inventory values, however, is not required to store the states, but may be used to compare states.
  • Additionally, constraints may be used to reduce the number of successor states 52 generated from a predecessor state 52. Constraints may be placed on price value 54. For example, a maximum and a minimum price change may be used to limit the difference between price values 54 of a successor state 52 and the price values 54 of a predecessor state 52. In the illustrated example, a maximum price change is −$15.00, and no minimum price change is given. An absolute minimum price value 54 and an absolute maximum price value 54 may be defined to limit the price value 54 of any state 52. In the illustrated example, a maximum price value is the starting price of “$100.00,” and a minimum price value is “$50.00.”
  • A minimum and a maximum number of price changes may be used to control the number of times price value 54 may change from stage 60 a to stage 60 n. Alternatively, initial maximum and minimum price changes may be used to limit the price change from stage 60 a to stage 60 b, and subsequent maximum and minimum price changes may be used to limit price changes from stage 60 b to stage 60 n. A minimum number of stages 60 between price changes may be used to avoid frequent price changes. A maximum number of price changes may be defined to limit the number of price changes from stage 60 a to stage 60 n.
  • Constraints may be placed on inventory values 56. For example, a maximum ending inventory may be used to eliminate states 52 at stage 60 n that include inventory values 56 that are too high. Additionally, constraints may define a penalty or cost for inventory left at the last stage 60. Maximum and minimum inventory values 56 may be used to control the unit's inventory at each stage 52.
  • FIG. 3 illustrates an example method for generating an optimized price schedule for a product. At step 78, elasticity module 36 accesses demand forecast 43 from database 40. At step 80, elasticity module 36 computes an optimal elasticity curve 44. Elasticity curve 44 describes the change in the demand for a product in response to a change in the price of the product. A method for computing elasticity curve 44 is described in more detail with reference to FIG. 5. Demand forecast 43 is adjusted at step 82. Demand forecast 43 may be adjusted in order to take into account unrealized sales that are estimated at one or more sales locations 24. A method for adjusting demand forecast 43 is described in more detail with reference to FIG. 7. Demand forecast 43 is converted to a sales forecast at step 84. Generating an optimized price schedule for locations 24 in the aggregate uses a sales forecast. A method for converting demand forecast 43 is described in more detail with reference to FIG. 7.
  • The values describing the product are quantized at step 86 to reduce the complexity of the computation. At step 88, transition graph generator 32 generates a transition graph 50 that represents possible price schedules for a product. A method for generating transition graph 50 described with reference to FIG. 4. At step 90, optimizer 34 determines an optimal path of transition graph 50. The optimal path represents an optimized price schedule for company 20. Determining an optimal path is described in more detail with reference to FIG. 4. A price schedule is determined from the optimal path at step 92. The price schedule is output at step 94. A computer 26 may output the price schedule.
  • FIG. 4 illustrates an example method for generating an optimized price schedule using dynamic programming. Using dynamic programming techniques, a transition graph 50 is generated. An optimal path of transition graph 50 is selected to determine an optimized price schedule. In one embodiment, a user at location 24 may use computer 26 to initiate transition graph generator 32, which may in turn use elasticity module 36 and optimizer 34 to generate an optimized price schedule.
  • Generating a price schedule includes generating transition graph 50 that comprises paths. Each path includes states 52, and each state 52 may include, but is not limited to, the following: a stage 60 relating to the state's position in the time horizon, an assigned price, a projected inventory level, a state value, and a record of historic information, such as number of previous price changes. The inventory level, value, and history of state 52 reflect the best path from the origin of transition graph 50 that leads to state 52.
  • Transition graph 50 may be generated by repeating the following for a number of stages 60 until a final stage is reached. The price value of a successor of a current state 52 is determined using a forecast of product demand at the current stage 60 and a mathematical model of the current stage's price-demand response, also referred to as “price-demand elasticity.” The process of generating successor states may be called “state expansion”. The stage 60, inventory level, value, and history of the successor state 52 are calculated using the current state information in addition to the forecasted demand and price-demand elasticity for the current state. The process of state expansion may be carried out for states 52 of a given stage, advancing stage 60 by stage 60 through the time horizon in order to construct transition graph 50. After the final stage 60 has been reached and states 52 have been expanded, an optimal path is selected according to the state values and other information of states 52. A price schedule is determined from the optimal path.
  • At step 150, transition graph generator 32 defines states 52 and transitions 53 of transition graph 50. States qi may be defined by Equation (6):
    q i:=(s i ,p i ,c i ,v i ,h i)  (6)
  • where:
  • si represents the stage,
  • pi represents the price at stage si,
  • ci represents the inventory of state qi
  • vi represents the value of state qi,
  • hi represents accumulated state history of state qi.
  • Set Q is defined as the set of all states qi. While the state history may include various aspects relating to an optimal path to the state such as a number of price changes, the state representation as expressed by Equation (6) abstracts away the details of the state history. Different representations of a state may be used. Unless otherwise noted, the components of a state are labeled using the state's annotation. For example, the state q′ has components labeled (s′, p′, c′, v′, h′).
  • State value vi is used to evaluate states qi during state expansion. State value vi may represent, for example, revenues accumulated through state qi. Additional or alternative criteria may be used to select an optimal final state from transition graph 50. For example, an evaluation function finalval: Q→R that maps states to real numbers may be used to evaluate inventory values and other values of a final state. A feasibility function finalfeasible: Q→{0,I} may be used to determine whether a final state is feasible according to the constraints. For example, a feasibility function may be used to determine whether a final inventory value is acceptable.
  • Initial conditions and data are received at step 152. Initial conditions may include a maximum number of stages n, an initial state q0, and a maximum number M of inventory units allowed at the last stage n. Other constraints may also be included in the initial conditions. Initial conditions may also include quantization criteria such as quantized inventory levels C and quantized price levels P. Quantization of inventory and price values may be defined by Equations (7):
    γc:R→C quantization of inventory  (7)
    γc:R→P quantization of price
  • where R is the set of real numbers. In general, the quantization may be used to limit the number of states that may be generated at each stage while constructing the transition graph.
  • Initial data may include a demand forecast Fs at a stage s, and an elasticity adjustment E(p,s) for price p at stage s that may be used to adjust demand forecast Fs. Elasticity adjustment E(p,s) may be determined from the elasticity curve calculated by elasticity module 36 according to the method as described in connection with FIG. 5. For example, an elasticity constant cE may be extracted from the elasticity curve, as expressed by Equation (1), and may be used to determine E(p,s). If only the effect of price on demand is considered, and if elasticity is assumed to be constant over time and given according to the model in Equation (1), E(p,s) may be defined using Equation (8): E ( p , s ) = ( p p 0 ) c E ( 8 )
  • Where
  • cE=elasticity constant
  • p0=base price on which forecast Fs is based
  • Transition 53 from a predecessor state 52 to a successor state 52 may be defined by a state-transition function expressed by Definition (9) that has a state-transition operator
    Figure US20080040202A1-20080214-P00001
    :
    (s,p,c,v,h)
    Figure US20080040202A1-20080214-P00001
    (s′,p′,c′,v′,h′), if and only if  (9)
      • s′=s+1,
      • p′εP,
      • c′=γc(max(0,c−Fs·E(p,s))),
      • v′=v+p·(c−c′),
      • h′captures the new state history and modifies h according to the transition, and
      • the transition to the new state is consistent with any additional constraints that may be imposed.
  • Definition (9) provides an example of a state-transition function. Transition 53, however, may be defined in any suitable manner. In addition, constraints may be placed on transition 53 in order to limit the successor states 52 of a state 52. Any of the components of state 52 may be constrained. A constraint may, for example, prohibit drastic or frequent changes in the price values. A price-adjusted demand forecast Fs. E(p,s) may be adjusted to take into account unrealized sales that occur at one or more sales locations 24. A method for adjusting the price-adjusted demand forecast is described in more detail in connection with FIG. 7.
  • The following summary outlines a method for determining an optimal final state. The method expands transition graph 50 and determines an optimal feasible final state. An optimized price schedule may be determined from the optimal feasible final state and transition graph 50. The subsequent description provides a more detailed description of the method.
    Optimal Price Scheduling Algorithm (Summary)
    Input: Stages n, Forecast Fs,Elasticity E(p,s), Quantizations
    Initial staTe q0
    1 K := { q 0 } , U := Q K , F := { q U : q 0 q }
    2 for k = 1 to n
    3 Sk := {}
    4 for each p _ P
    S k := S k { ( q * , q ) K F : q _ F &
    5 ( q * , q ) = arg max ( q 1 q 2 ) K F { v 2 : q 1 q 2 &
    q 2 = ( k + 1 , p _ , c 2 , v 2 , h _ ) & γ c ( c 2 ) = γ c ( c _ ) }
    6 end
    7 K := K ∪ F
    8 U := U/F
    9 F := { q U : q K : q q }
    10 end
    Output: argmaxq∈K:finalfensible(q){finalval(q)},
    Graph ( K , k = 1 , , n S k )
  • At step 154, data structures that describe transition graph 50 are defined and initialized. The data structures may include set K at stage i, which is a set of maximal states q that may be coupled by transitions 53 from initial state q0 to a state at stage i. A maximal state 52 may be calculated according to state value v. Equation (10) describes a valid invariant for the states in set K: q = ( s , p , c , v , h ) K : q = arg max q Q { v : q 0 * q & q = ( s , p , c , v , h ) & γ c ( c ) = γ c ( c ) } ( 10 )
  • where
    Figure US20080040202A1-20080214-P00001
    denotes a possibly repeated application of the state-transition operator
    Figure US20080040202A1-20080214-P00001
    , as defined by Definition (9). Equation (10) expresses that at any time, set K contains only maximal states, that is, states (s, p, c, v, h) for which there is no better state, having the same values of s, p, h, and the same quantized value of c, that is reachable from q0.
  • Initially, set K is defined as {q0}. Set F is a set of successor states 52 that may be coupled to a maximal predecessor state 52 of set K. Set U is a set of unexplored states 52 at a stage 60, and may be defined by U=(Q\K)\F. Set U may be initialized as U:=Q\K. Set S is a set of transitions 53 that couple a maximal predecessor state of set K to an unexplored successor state 52 of set U. Set S maybe initialized as S:={ }.
  • Successor states 52 are generated at step 158. Successor states 52 may be generated by adding state transitions to the set Sk, according to Equation (11): S k := S k { ( q * , q ) K × F | q _ F & ( q * , q ) = arg max ( q 1 , q 2 ) K × F { v z | q 1 q 2 & q 2 = ( k + 1 , p _ , c 2 , v 2 , h _ ) & γ c ( c 2 ) = γ c ( c _ ) } ( 11 )
  • Ordered pair (q*,q′) is a state-transition to be added, and q is a reachable state of set F that conforms to the specific price value p. The argmax expression yields an ordered pair (q*,q′). State q′ of the ordered pair represents a value-maximal successor state q′, given fixed price value p, state history value h, and fixed inventory value c, modulo the given quantization γc, and state q* represents the origin of the transition. State q binds inventory value c and state history value h, and enforces that only states which equivalent state history values are compared in the argmax expression. Set F, set K, and set U, are updated according to Equations (12):
    F:={q′εU:∃qεK:q
    Figure US20080040202A1-20080214-P00001
    q′}
    K:=K∪F
    U:=U\F  (12)
  • A successor state 52 may be indexed by its maximal predecessor state 52 in order to allow for efficient retrieval of maximal states 52 from previous stages 60. The index may be implemented in any suitable manner, for example, using a hash function or static array indexing. Invalid successor states 52 may be eliminated according to the constraints specified in the initial conditions.
  • Values for the successor state 52 are quantized and adjusted at step 160. Values for successor states 52 may be quantized and adjusted using Equations (7). Price value p′ is quantized according to the quantization criteria specified in the initial conditions. Quantizing values reduces the complexity of transition graph 50, which may improve the processing time required to determine an optimal path of transition graph 50. Inventory c′ is also adjusted using the elasticity adjustment E(p,s). Inventory c′ may also be adjusted in order to take into account unrealized sales that occur at one or more sales locations 24. A method for adjusting inventory values 56 is described in more detail in connection with FIG. 7.
  • Quantization may be applied in any suitable manner. For example, price values may be stored as quantized values, and inventory values may be stored as exact precise values. When different states are compared using Equation (11), the inventory values may be compared after quantization. If the quantized values are the same, the two successors can be regarded identical according to Equation (11).
  • At step 164, transition graph generator 32 determines whether there is a next stage 60. If there is a next stage 60, transition graph generator 32 returns to step 156 to define successor states 52 at the next stage 60. If there is no next stage 60 at step 164, transition graph generator 32 proceeds to step 166, where optimizer 34 determines an optimal path of transition graph 50. The optimal path may be determined the at the final stage, which may be described by Equation (14), in terms of an optimal feasible solution and a transition graph: arg max q K : finalfeasible ( q ) { finalval ( q ) } , Graph ( K , k = 1 , , q S k ) ( 12 )
  • The selection of the optimal path may be limited by a constraint specified in the initial conditions, which may be labeled as finalfeasible. Additionally or alternatively, a predetermined certainty value may limit the optimal paths to paths that satisfy the predetermined certainty value.
  • A price schedule is determined from the optimal path at step 168. The path comprises a sequence of states 52 that describe a price value at each stage 60. The price values at each stage 60 are converted into a price schedule for a product. After the price schedule is determined, the method is terminated. A user may program transition graph generator 32 to periodically perform the method, for example, daily or weekly, in order to provide an updated price schedule generated using recent data.
  • In one embodiment, the present invention may be used to compute an optimal sequence of product markdowns for liquidating merchandise, which may enable sellers to better plan and more profitably manage inventory, for example, at the end of a product lifecycle. Given initial inventory and price values, a price schedule of product markdowns that maximizes business objectives while satisfying business constraints may be calculated.
  • FIG. 5 illustrates an example method for computing elasticity. In one embodiment, a user at location 24 may use computer 26 to initiate elasticity module 36 to compute an elasticity curve 44. According to the method, elasticity module 36 determines an elasticity curve from state history and may use different filter sets to determine the elasticity curve. In general, each filter set is used to filter product data. Regression analysis is performed on the filtered data to yield elasticity curves. The fit of the data and the elasticity curves is measured, and an elasticity curve is selected.
  • Elasticity module 36 begins at step 110, where a demand model having dependent and independent variables is determined. The demand model may be defined by, for example, Equation (1):
    D=KP C E (1+a)q t β e n  (1)
  • where:
  • D=demand
  • P=price
  • α=promotional variable
  • t=time
  • cE=elasticity constant
  • K, q, β, and γ are constants, K>O, and it is expected that cE<0, β>0, and γ<0. Equation (1) may be rewritten as Equation (2):
    ln(D)=ln(K)+c ln(P)+q ln(1+α)+β ln(t)+γt  (2)
  • Equation (2) may be used as a regression equation, where ln(D) is the dependent variable and ln(P), ln(1+α), ln(t), and t are the independent variables.
  • At step 112, values for the dependent and independent variables are received. The values may be derived from data describing one or more products. The products may include the product for which a price schedule is to be generated and/or products similar to the product for which a price schedule is to be generated. For example, a single product may not have sufficient sales history data to generate a meaningful price schedule, so data from similar products may be combined to generate a price schedule.
  • Data for a product may be grouped in data rows, where each data row includes data for a specific stage in time. A data row may include, for example, the following values: Product Identifier, Stage Number, Sales, Price, Revenues, and Promo. Product Identifier identifies the product, and Stage Number identifies the stage. Sales describes the number of units of the products sold during the stage, Price defines the price per unit, and Revenues describe the revenues generated from the sale of the product. Promo describes the number of units sold during a promotion for the product, such as a temporary price reduction. Other or additional values may be used to calculate an elasticity curve. For example, a seasonal index variable that describes how a time of year, such as the Christmas season, affects the demand for a product maybe used.
  • The values for Sales may be used as the values for demand D. Values for Price and Stage Number may be used as the values for price P and time t. Promotion variable α measures the significance of a promotion, and may be defined using Equation (3): α := { Promo Sales , if Promo > Promo Filter 0 otherwise ( 3 )
  • where Promo Filter is a constraint.
  • Filter sets are defined at step 114. Each filter set comprises one or more constraints that restrict the values for the variables of the demand model. An example filter set is described by Table 1:
    TABLE 1
    Example
    Filter Name Description Value
    Min Sales Minimum number of sales 5 units
    Min Revenues Minimum revenues $10
    Min Rows Minimum number of data rows 15 points
    Promo Filter Promotions filter   5%
    Perc Filter Data value filter 2.5%
  • According to the filter set of Table 1, a data row is removed if Sales is less than Min Sales or Revenues is less than Min Revenues. The data rows for a product are removed if number of data rows for the product is less than Min Rows. Promo Filter is used to define promotion variable α, as shown in Equation (3). Data rows that include values that are within a first or last percentile given by Perc Filter are removed.
  • Steps 116 through 144 are performed for each filter set in order to determine the filter set that yields an optimal elasticity curve. At step 116, a filter set is selected. Steps 118 through 136 are performed on data for each product individually in order to eliminate unacceptable data. At step 118, a product is selected. At step 120, the values for the product are filtered using the filter set selected at step 116. The variables are normalized at step 122. Variables may be normalized according to Equations (4):
    Norm(D)=ln(D)−Mean(ln(D))
    Norm(P)=ln(P)−Mean(ln(P))
    Norm(t)=t−Mean(t)
    Norm(ln(t))=ln(t)−Mean(ln(t))
  • where Mean (x) is the average of x.
  • At step 124, a regression analysis is performed using the demand model, as expressed by Equation (2), as the regression equation of the dependent variable over the independent variables, that is, of ln(D) over ln(P), ln(1+α), ln(t), and t. The regression analysis yields values for coefficients cE, K, q, β, and γ, which are inserted into Equation (2) to define a regression or elasticity curve. The quality of the elasticity curve is measured at step 126. The quality may be measured by determining the fit of the elasticity curve to the values that were used to generate the elasticity curve, and may be measured using a Box-Wetz value B expressed by Equation (5): B = ( max i Y ^ i - min i Y ^ i ) / p s 2 n ) ( 5 )
  • where: p = number of parameters s 2 σ 2 V ( Y i ) V _ ( Y ^ ) = i V ( Y ^ i ) / n
  • The quality of the elasticity curve is determined to be acceptable or not at step 128. The quality may be acceptable if it satisfies a predetermined criteria. If the quality is not acceptable, the data for the product is eliminated at step 130, and elasticity module 36 proceeds to step 138. If the quality is acceptable, elasticity module 36 proceeds to step 132.
  • At step 132, an elasticity value is determined from the elasticity curve. The negative of the elasticity coefficient cE of the price variable P may be used as the elasticity value. In one embodiment, the elasticity value is required to be positive.
  • At step 138, elasticity module 36 determines whether there is a next product. If there is a next product, elasticity module 36 returns to step 118, where the next product is selected. If there is no next product, elasticity module 36 proceeds to step 140.
  • Steps 140 through 144 are performed on the aggregated data for the products in order to determine which filter set provides an optimized fit of the elasticity curve. At step 140, the data for the remaining products are aggregated to yield aggregated data. At step 142, regression analysis is performed on the aggregated data. The regression analysis may use the demand model as expressed by Equation (2) as the regression equation of the dependent variable over the independent variables. The quality of the elasticity curve is measured at step 144, and may be measured in a manner substantially similar to that described above in connection with step 126.
  • At step 138, elasticity module 36 determines whether there is a next filter set. If there is a next filter set, elasticity module 36 returns to step 116, where the next filter set is selected. If there is no next filter set, elasticity module 36 proceeds to step 148, where an optimal elasticity curve is selected. The optimal elasticity curve may be the highest quality elasticity curve according to measurements performed at step 144. Additionally, the elasticity curve may be rewritten in the format of Equation (1) and sent to transition graph generator 32. After selecting the optimal elasticity curve, elasticity module 36 terminates the method. A user may program elasticity module 36 to perform the method periodically, for example, daily or weekly, in order to provide an updated elasticity curve to transition graph generator 32.
  • FIGS. 6A through 6C illustrate an example elasticity curve 40. FIG. 6A illustrates elasticity curve 40 with respect to time. Elasticity curve 40 is computed from price values and demand values. FIG. 6B illustrates elasticity curve 40 and the demand values with respect to time. FIG. 6C illustrates elasticity curve 40 and the demand values with respect to the price values.
  • FIG. 7 illustrates an example method for estimating a sales forecast from a demand forecast and an aggregate inventory value that describes the total inventory spread across a number of locations 24 of company 20. A demand forecast typically predicts customer demand, but not sales. Computing an optimized price schedule for a number of locations 24 in the aggregate, however, requires the prediction of sales instead of demand. An aggregate sales forecast may be calculated from the aggregate inventory value and demand values from predecessor states 52.
  • Unrealized sales, or stockouts, may be determined in order to predict sales. An unrealized sale is predicted where there is a demand at a location, but no inventory. An unrealized sale may be expressed as a difference between a demand value and an inventory value at any given location 24. According to the method, a demand forecast is adjusted to take into account unrealized sales that may be predicted at one or more locations 24 of company 20, which may improve the accuracy of the predicted inventory values of an optimized price schedule.
  • The method performs a significant adjustment to the demand forecast when inventory levels and forecasted demands are aggregated across a number of locations 24, or a store-group. The method may be used with the method for generating an optimized price schedule as described with reference to FIG. 4, in order to improve the accuracy of the predicted number of sales when operating on a store-group level. The method may be used at each state-expansion in order to estimate the unit sales from the demand forecast, thereby significantly improving the accuracy of the inventory level of a successor state, in particular at low inventory levels. The method may be calibrated to a particular location 24 and replenishment situation based on historic sales and inventory figures.
  • This method may be applied as part of the computation of the optimal price schedule, particularly if the estimate is not accurately performed as a preprocessing step. This may be the case if the demand value at each stage of the price scheduling horizon is dependent on a price value, and the future inventory values are dependent on the demand value. As has been outlined above, the prediction of sales in turn depends on the inventory values, leading to a circular dependency. The circular dependency may be resolved by taking the effect of distributed inventory on projected sales into account at each step of the computation of a price schedule. FIG. 7 describes how a projected number of sales can be computed, given a demand forecast and an aggregate inventory at locations 24.
  • At step 180, transition graph generator 32 defines a number n of locations 24. An inventory s at each location 24 is estimated at step 182. Inventory s may be estimated by, for example, randomly populating each location 24 with inventory units. A demand at d at each location 24 is estimated at step 184. Demand d at each location 24 may be estimated by randomly populating each location 24 with demand units. This random sampling may be performed a number of times. The expected number E(M) of unrealized sales is determined at step 186.
  • Alternatively, steps 182 through 186 may be performed using a probabilistic estimation. Given S units that are assumed to be evenly distributed across a number of n locations, the probability of a location receiving s units may be expressed using a binomial distribution. The binomial distribution may be used to determine the probability of s successful experiments, where the probability of success is 1/n. The random variable that represents the number of units of inventory at any particular store may be denoted by Xs. At step 182, inventory s at each location 24 may be estimated by calculating the probability of a location 24 having inventory s using Equation (15): p ( X S = s ) = Bnp ( S , s , 1 n ) = ( S s ) · ( 1 n ) s · ( 1 - 1 n ) S - s ( 15 )
  • where S represents the total amount of inventory at all locations 24. Similarly, at step 184, the probability of demand d at each location 24 may be calculated using Equation (16): p ( X D = d ) = Bnp ( D , d , 1 n ) = ( D d ) · ( 1 n ) d · ( 1 - 1 n ) D - d ( 16 )
  • where D represents the aggregate demand summed over locations 24, and XD denotes the random variable that represents the unit demand at a particular location 24.
  • The expected number of unrealized sales E(M) may be calculated at step 186 using Equation (17): E ( M ) = s = 1 S d = s + 1 D p ( S = s , D = d ) · ( d - s ) = s = 1 S p ( S = s ) d = s + 1 D p ( D = d ) · ( d - s ) s = 1 S Bnp ( S , s , 1 n ) · d = s + 1 D Bnp ( D , d , 1 n ) ( d - s ) = s = 1 S [ ( S s ) · ( 1 n ) s · ( 1 - 1 n ) S - s · d = s + 1 D ( D d ) · ( 1 n ) d · ( 1 - 1 n ) D - d ( d - s ) ] ( 17 )
  • To efficiently implement computation of unrealized sales E(M) on system 10, different numerical approximations schemes may be used, depending on the value ranges of the input parameters. In the following, several approximation schemes are described that can be applied according to the value ranges of D, S, and n.
  • The binomial distribution as expressed by Equation (18): Bnp ( k , n , p ) = ( n k ) p k ( 1 - p ) n - k ( 18 )
  • may be approximated by the Poisson distribution for a sufficiently large n, a sufficiently small p, and moderately sized np, as expressed by Equation (19): Bnp ( k , n , p ) λ k - λ k ! , ( 19 )
  • where λ=np. This can be applied, for example, to the computation of E(M) at step 182, if np≧10. Thus, steps 182 through 186 may be performed using a Poisson approximation to a binomial distribution by computing the probability of a location 24 having an inventory s or demand d using Equation (19).
  • At step 186, expected number E(M) may be determined using Equation (20): E ( M ) = s = 1 S d = s + 1 D Bnp ( S , s , 1 n ) · Bnp ( D , d , 1 n ) ( d - s ) = s = 1 S [ ( λ S ) s - λ s s ! · d = s + 1 D ( λ D ) d - λ D d ! ( d - s ) ] ( 20 )
  • Alternatively, the computation in Equation (17) may be performed by using an incomplete beta-function. The inner sum of Equation (17) may be denoted by J, and Equations (21) through (28) may be used to describe the steps to transform J into a form that may be efficiently computed using a standard procedure for the incomplete beta-function. J = d = s + 1 D Bnp ( D , d , 1 n ) ( d - s ) = d = s + 1 D ( D d ) ( 1 n ) d ( 1 - 1 n ) D - d ( d - s ) ( 21 )
  • Probabilities p and q are defined using Equations (22): p = 1 n q = 1 - p ( 22 )
  • J may then be expressed by J1 and J2, as shown by Equation (23): J = d = s + 1 D ( D d ) p d q D - d d - d = s + 1 D ( D d ) p d q D - d s = J 1 - J 2 where J 1 = d = s + 1 D ( D d ) p d q D - d d , and J 2 = s d = s + 1 D ( D d ) p d q D - d ( 23 )
  • Expression ( D d ) d
    may be substituted by Equation (24): ( D d ) d = D ! d ( D - d ) ! d ! = D ( D - 1 ) ! ( D - d ) ! ( d - 1 ) ! = D ( D - 1 d - 1 ) ( 24 )
  • Furthermore, J1 may be described by Equation (25): J 1 = Dp d = s + 1 D ( D - 1 d - 1 ) p d - 1 q D - d = Dp d = s D ( D d ) p d q D - d where : D = D - 1. ( 25 )
  • To compute J, the components J1 and J2 and Equation (26) may be used: l = k 1 Q ( Q I ) p l q Q - 1 = Ip ( k 1 , Q - k 1 + 1 ) ( 26 )
  • where Ix(a,b) is an incomplete beta function given by Equation (27), I x ( a , b ) = 1 B ( a , b ) 0 x t a - 1 ( 1 - t ) b - 2 t where ( 27 ) B ( a , b ) = 0 t a - 1 ( 1 - t ) b - 1 t ( 28 )
  • At step 188, the aggregate sales forecast is computed according to the expected number of unrealized sales. An aggregate sales forecast at a successor state 52 is calculated by subtracting the expected sales from the aggregate inventory at a predecessor state 52. The demand does not take into account unrealized sales. Thus, the expected number of unrealized sales may be subtracted from the forecasted demand to account for unrealized sales, which may yield a more accurate price schedule. After the forecast is adjusted, the method is terminated.
  • The present invention may efficiently generate an optimized price schedule by using dynamic programming. In dynamic programming, transition graph 50 with paths representing possible price schedules is generated, and an optimal path of the transition graph 50 is selected in order to determine an optimized price schedule. The present invention may also improve the efficiency of the optimization by using quantized dynamic programming, which involves quantifying values associated with transition graph 50. Quantizing the values reduces the complexity of transition graph 50, which may improve the processing time and power required to determine an optimal path of transition graph 50. In addition, the present invention may use an improved calculation of elasticity in order to increase the accuracy of the optimization. Moreover, the present invention may take into account an unrealized sale that occurs at one of many locations, which may improve the accuracy of the optimal path.
  • Although the present invention has been described with several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes, variations, alterations, transformations, and modifications as fall within the scope of the appended claims.

Claims (21)

1. A method for determining a sales forecast, comprising:
defining a plurality of locations;
estimating an inventory at each location;
estimating a demand at each location;
calculating an expected number of unrealized sales at each location using a difference between the demand at the location and the inventory at the location; and
determining a sales forecast in response to the expected number.
2. The method of claim 1, wherein:
estimating the inventory at each location comprises randomly populating the locations with a plurality of inventory units; and
estimating the demand at each location comprises randomly populating the locations with a plurality of demand units.
3. The method of claim 1, wherein:
estimating the inventory at each location comprises calculating a probability of each location receiving a number of inventory units according to a binomial distribution; and
estimating the demand at each location comprises calculating a probability of each location receiving a number of demand units according to the binomial distribution.
4. The method of claim 1, wherein:
estimating the inventory at each location comprises calculating a probability of each location receiving a number of inventory units according to an incomplete beta-function; and
estimating the demand at each location comprises calculating a probability of each location receiving a number of demand units according to the incomplete beta-function.
5. A system for determining a sales forecast, comprising:
a database operable to store a plurality of definitions defining a plurality of locations; and
a server coupled to the database and operable to:
estimate an inventory at each location;
estimate a demand at each location;
calculate an expected number of unrealized sales at each location using a difference between the demand at the location and the inventory at the location; and
determine a sales forecast in response to the expected number.
6. The system of claim 5, wherein the server is operable to:
estimate the inventory at each location by randomly populating the locations with a plurality of inventory units; and
estimate the demand at each location by randomly populating the locations with a plurality of demand units.
7. The system of claim 5, wherein the server is operable to:
estimate the inventory at each location by calculating a probability of each location receiving a number of inventory units according to a binomial distribution; and
estimate the demand at each location by calculating a probability of each location receiving a number of demand units according to the binomial distribution.
8. The system of claim 5, wherein the server is operable to:
estimate the inventory at each location by calculating a probability of each location receiving a number of inventory units according to an incomplete beta-function; and
estimate the demand at each location by calculating a probability of each location receiving a number of demand units according to the incomplete beta-function.
9. Logic for determining a sales forecast, the logic encoded in media and when executed operable to:
define a plurality of locations;
estimate an inventory at each location;
estimate a demand at each location;
calculate an expected number of unrealized sales at each location using a difference between the demand at the location and the inventory at the location; and
determine a sales forecast in response to the expected number.
10. The logic of claim 9, further operable to:
estimate the inventory at each location by randomly populating the locations with a plurality of inventory units; and
estimate the demand at each location by randomly populating the locations with a plurality of demand units.
11. The logic of claim 9, further operable to:
estimate the inventory at each location by calculating a probability of each location receiving a number of inventory units according to a binomial distribution; and
estimate the demand at each location by calculating a probability of each location receiving a number of demand units according to the binomial distribution.
12. The logic of claim 9, further operable to:
estimate the inventory at each location by calculating a probability of each location receiving a number of inventory units according to an incomplete beta-function; and
estimate the demand at each location by calculating a probability of each location receiving a number of demand units according to the incomplete beta-function.
13. A system for determining a sales forecast, comprising:
means for defining a plurality of locations;
means for estimating an inventory at each location; means for estimating a demand at each location;
means for calculating an expected number of unrealized sales at each location using a difference between the demand at the location and the inventory at the location; and
means for determining a sales forecast in response to the expected number.
14. A method for generating a price schedule, comprising:
generating a transition graph comprising a plurality of paths, each path comprising a plurality of states, each state having a plurality of values comprising a state value, the transition graph being generated by repeating the following for a plurality of stages until a final stage is reached;
calculating the values of a successor state using the values of a predecessor state; and
quantizing the values of each successor state;
selecting an optimal path according to the state values of the states; and
determining a price schedule from the optimal path.
15. The method of claim 14, wherein the values comprise a price value.
16. The method of claim 14, wherein the values comprise an inventory value.
17. The method of claim 14, wherein selecting the optimal path according to the state values comprises:
determining a state at the final stage having an optimal state value; and
determining a path comprising a state of an initial stage and the state having the optimal state value.
18. The method of claim 14, further comprising eliminating a successor state in response to a constraint.
19. The method of claim 14, further comprising:
computing an elasticity curve; and
computing an inventory value of each successor state using the elasticity curve.
20. The method of claim 14, wherein:
each state has a certainty value; and
selecting the optimal path comprises determining a state at the final stage having a certainty value of a predetermined value.
21. The method of claim 14, further comprising:
defining a plurality of locations;
calculating an expected number of unrealized sales at each location; and
adjusting a value of the successor state in response to the expected number.
US11/875,209 2000-10-06 2007-10-19 Generating an Optimized Price Schedule for a Product Abandoned US20080040202A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/875,209 US20080040202A1 (en) 2000-10-06 2007-10-19 Generating an Optimized Price Schedule for a Product

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23867600P 2000-10-06 2000-10-06
US89638801A 2001-06-28 2001-06-28
US11/875,209 US20080040202A1 (en) 2000-10-06 2007-10-19 Generating an Optimized Price Schedule for a Product

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US89638801A Division 2000-10-06 2001-06-28

Publications (1)

Publication Number Publication Date
US20080040202A1 true US20080040202A1 (en) 2008-02-14

Family

ID=26931859

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/384,640 Abandoned US20060161504A1 (en) 2000-10-06 2006-03-20 Generating an optimized price schedule for a product
US11/875,209 Abandoned US20080040202A1 (en) 2000-10-06 2007-10-19 Generating an Optimized Price Schedule for a Product
US12/115,016 Expired - Fee Related US7937282B2 (en) 2000-10-06 2008-05-05 Generating an optimized price schedule for a product

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/384,640 Abandoned US20060161504A1 (en) 2000-10-06 2006-03-20 Generating an optimized price schedule for a product

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/115,016 Expired - Fee Related US7937282B2 (en) 2000-10-06 2008-05-05 Generating an optimized price schedule for a product

Country Status (4)

Country Link
US (3) US20060161504A1 (en)
AU (1) AU2002211619A1 (en)
DE (1) DE10196754T1 (en)
WO (1) WO2002029696A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110066A1 (en) * 2001-12-10 2003-06-12 I2 Technologies Us, Inc. Generating an optimized pricing plan
US20090216611A1 (en) * 2008-02-25 2009-08-27 Leonard Michael J Computer-Implemented Systems And Methods Of Product Forecasting For New Products
US9208209B1 (en) 2014-10-02 2015-12-08 Sas Institute Inc. Techniques for monitoring transformation techniques using control charts
US9418339B1 (en) 2015-01-26 2016-08-16 Sas Institute, Inc. Systems and methods for time series analysis techniques utilizing count data sets
US20170323318A1 (en) * 2016-05-09 2017-11-09 Wal-Mart Stores, Inc. Entity-specific value optimization tool
US9892370B2 (en) 2014-06-12 2018-02-13 Sas Institute Inc. Systems and methods for resolving over multiple hierarchies
US9934259B2 (en) 2013-08-15 2018-04-03 Sas Institute Inc. In-memory time series database and processing in a distributed environment
US10169720B2 (en) 2014-04-17 2019-01-01 Sas Institute Inc. Systems and methods for machine learning using classifying, clustering, and grouping time series data
US10560313B2 (en) 2018-06-26 2020-02-11 Sas Institute Inc. Pipeline system for time-series data forecasting
US10685283B2 (en) 2018-06-26 2020-06-16 Sas Institute Inc. Demand classification based pipeline system for time-series data forecasting

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539628B2 (en) 2000-03-21 2009-05-26 Bennett James D Online purchasing system supporting buyer affordability screening
US10204349B2 (en) 2000-12-20 2019-02-12 International Business Machines Corporation Analyzing customer segments
US7877286B1 (en) 2000-12-20 2011-01-25 Demandtec, Inc. Subset optimization system
US7660734B1 (en) * 2000-12-20 2010-02-09 Demandtec, Inc. System for creating optimized promotion event calendar
US7523047B1 (en) 2000-12-20 2009-04-21 Demandtec, Inc. Price optimization system
US9773250B2 (en) * 2000-12-20 2017-09-26 International Business Machines Corporation Product role analysis
US7302410B1 (en) * 2000-12-22 2007-11-27 Demandtec, Inc. Econometric optimization engine
US7617119B1 (en) 2000-12-20 2009-11-10 Demandtec, Inc. Price optimization with rule relaxation
US9785953B2 (en) * 2000-12-20 2017-10-10 International Business Machines Corporation System and method for generating demand groups
US10496938B2 (en) 2000-12-20 2019-12-03 Acoustic, L.P. Generating product decisions
US20100010870A1 (en) * 2000-12-20 2010-01-14 Karl Millar System and Method for Tuning Demand Coefficients
US7657470B1 (en) 2000-12-20 2010-02-02 Demandtec, Inc. Financial model engine
US7899691B1 (en) 2000-12-20 2011-03-01 Demandtec, Inc. Econometric engine
US9165270B2 (en) * 2000-12-20 2015-10-20 International Business Machines Corporation Predicting likelihood of customer attrition and retention measures
US7006981B2 (en) 2001-04-04 2006-02-28 Profitlogic, Inc. Assortment decisions
US20040210541A1 (en) * 2001-05-04 2004-10-21 Jeremy Epstien User interface for a rules engine and methods therefor
US7085734B2 (en) 2001-07-06 2006-08-01 Grant D Graeme Price decision support
US7752113B2 (en) * 2001-07-10 2010-07-06 The Boeing Company System, method and computer program product for performing a contingent claim valuation of a multi-stage option
US7698189B2 (en) * 2001-07-10 2010-04-13 The Boeing Company System, method and computer program product for determining a minimum asset value for exercising a contingent claim of an option
US7676413B2 (en) * 2001-07-10 2010-03-09 The Boeing Company System, method and computer program product for determining a minimum asset value for exercising a contingent claim of an option
US7761361B2 (en) * 2001-07-10 2010-07-20 The Boeing Company System, method and computer program product for performing a contingent claim valuation of a combination option
US7739176B2 (en) * 2001-07-10 2010-06-15 The Boeing Company System, method and computer program product for performing a contingent claim valuation of an early-launch option
US20040249642A1 (en) 2003-06-03 2004-12-09 The Boeing Company Systems, methods and computer program products for modeling uncertain future benefits
US7747504B2 (en) * 2001-07-10 2010-06-29 The Boeing Company System, method and computer program product for determining a minimum asset value for exercising a contingent claim of an option
US7676412B2 (en) * 2001-07-10 2010-03-09 The Boeing Company System, method and computer program product for determining a minimum asset value for exercising a contingent claim of an option
US6862579B2 (en) * 2001-07-10 2005-03-01 The Boeing Company Systems, methods and computer program products for performing a generalized contingent claim valuation
US7747503B2 (en) * 2001-07-10 2010-06-29 The Boeing Company System, method and computer program product for determining a minimum asset value for exercising a contingent claim of an option
US6834266B2 (en) 2001-10-11 2004-12-21 Profitlogic, Inc. Methods for estimating the seasonality of groups of similar items of commerce data sets based on historical sales data values and associated error information
US7386519B1 (en) * 2001-11-30 2008-06-10 Demandtec, Inc. Intelligent clustering system
US7809581B1 (en) 2001-11-30 2010-10-05 Demandtec, Inc. Rule relaxation and subset optimization system
US6960135B2 (en) 2001-12-05 2005-11-01 Profitlogic, Inc. Payout distributions for games of chance
US7343355B2 (en) * 2002-03-14 2008-03-11 I2 Technologies Us, Inc. Calculating price elasticity
US7251615B2 (en) 2002-06-07 2007-07-31 Oracle International Corporation Markdown management
US7739166B2 (en) * 2003-06-03 2010-06-15 The Boeing Company Systems, methods and computer program products for modeling demand, supply and associated profitability of a good in a differentiated market
US7599849B2 (en) * 2003-06-03 2009-10-06 The Boeing Company Systems, methods and computer program products for determining a learning curve value and modeling associated profitability and costs of a good
US7769628B2 (en) * 2003-06-03 2010-08-03 The Boeing Company Systems, methods and computer program products for modeling uncertain future demand, supply and associated profitability of a good
US7627494B2 (en) * 2003-06-03 2009-12-01 The Boeing Company Systems, methods and computer program products for modeling a monetary measure for a good based upon technology maturity levels
US7627495B2 (en) * 2003-06-03 2009-12-01 The Boeing Company Systems, methods and computer program products for modeling demand, supply and associated profitability of a good
US8447664B1 (en) 2005-03-10 2013-05-21 Amazon Technologies, Inc. Method and system for managing inventory by expected profitability
US7881986B1 (en) 2005-03-10 2011-02-01 Amazon Technologies, Inc. Method and system for event-driven inventory disposition
US7912748B1 (en) * 2005-06-01 2011-03-22 Sap Ag Method and system for determining price markdown schedule
US7979299B1 (en) * 2005-06-21 2011-07-12 Oracle Int'l. Corp. Methods and apparatus for optimizing markdown pricing
US7543743B1 (en) 2005-10-19 2009-06-09 Amazon Technologies, Inc. Method and system for determining inventory health with respect to a disposition channel
US9858579B1 (en) 2006-02-28 2018-01-02 International Business Machines Corporation Plan tuning engine
US9785951B1 (en) * 2006-02-28 2017-10-10 International Business Machines Corporation Scalable tuning engine
US8639558B2 (en) * 2006-09-25 2014-01-28 International Business Machines Corporation Providing markdown item pricing and promotion calendar
US7945496B2 (en) * 2006-10-18 2011-05-17 Pricemetrix, Inc. Reference price framework
US8160917B1 (en) 2007-04-13 2012-04-17 Sas Institute Inc. Computer-implemented promotion optimization methods and systems
US8812338B2 (en) 2008-04-29 2014-08-19 Sas Institute Inc. Computer-implemented systems and methods for pack optimization
EP2172885A1 (en) * 2008-09-30 2010-04-07 Amadeus S.A.S. Method and system for simulating and optimizing revenue from service fees in or relating to online service processes
CA2694826A1 (en) * 2009-02-24 2011-06-24 Peter R. Fillmore Method for sales forecasting in busines-to-business sales management
US8271318B2 (en) * 2009-03-26 2012-09-18 Sas Institute Inc. Systems and methods for markdown optimization when inventory pooling level is above pricing level
US20110029460A1 (en) * 2009-03-31 2011-02-03 Sherman Robert Schwartz Conservation friendly water & water reclamation utility rate structure
US8177663B2 (en) * 2009-07-23 2012-05-15 WM. T. Burnett IP, LLP Golf club with interchangeable faces and weights
US8285574B2 (en) * 2010-03-11 2012-10-09 International Business Machines Corporation Constrained resource management
US8515835B2 (en) 2010-08-30 2013-08-20 Sas Institute Inc. Systems and methods for multi-echelon inventory planning with lateral transshipment
US8788315B2 (en) * 2011-01-10 2014-07-22 Sas Institute Inc. Systems and methods for determining pack allocations
US8688497B2 (en) 2011-01-10 2014-04-01 Sas Institute Inc. Systems and methods for determining pack allocations
US8311878B2 (en) 2011-03-11 2012-11-13 Oracle International Corporation Optimized pricing solver with prioritized constraints
US8447665B1 (en) 2011-03-30 2013-05-21 Amazon Technologies, Inc. Removal of expiring items from inventory
US8768812B2 (en) 2011-05-02 2014-07-01 The Boeing Company System, method and computer-readable storage medium for valuing a performance option
US8751289B2 (en) * 2011-05-05 2014-06-10 Oracle International Corporation Scalable regression for retail panel data
US8364510B2 (en) * 2011-05-24 2013-01-29 Vuelogic, Llc Revenue optimization for customers or customer subsets
US8386284B2 (en) * 2011-05-25 2013-02-26 International Business Machines Corporation Demand modeling in retail categories using retail sales data sets with missing data elements
US8386285B2 (en) * 2011-05-25 2013-02-26 International Business Machines Corporation Demand modeling and prediction in a retail category
US8666848B1 (en) 2011-10-04 2014-03-04 Amazon Technologies, Inc. Continuous planning review system
US20130103458A1 (en) * 2011-10-19 2013-04-25 Oracle International Corporation Markdown optimization system using a reference price
US9954718B1 (en) 2012-01-11 2018-04-24 Amazon Technologies, Inc. Remote execution of applications over a dispersed network
US20130211877A1 (en) * 2012-02-13 2013-08-15 Oracle International Corporation Retail product pricing markdown system
US8924515B1 (en) 2012-02-29 2014-12-30 Amazon Technologies, Inc. Distribution of applications over a dispersed network
US9715702B2 (en) * 2013-03-19 2017-07-25 Clear Demand, Inc. System and method for determining retail-business-rule coefficients from current prices
US20130325551A1 (en) * 2012-06-05 2013-12-05 Clear Demand, Inc. System and method for modeling demand and optimizing prices with immunity to out-of-stock events
US10949894B1 (en) * 2013-06-07 2021-03-16 Groupon, Inc. Method, apparatus, and computer program product for facilitating dynamic pricing
US10984455B1 (en) 2013-06-28 2021-04-20 Groupon, Inc. Method and apparatus for generating an electronic communication
US10387902B1 (en) 2013-06-28 2019-08-20 Groupon, Inc. Method and apparatus for generating an electronic communication
US10373210B1 (en) 2013-06-28 2019-08-06 Groupon, Inc. Method and apparatus for generating an electronic communication
US10423977B1 (en) 2013-06-28 2019-09-24 Groupon, Inc. Method and apparatus for generating an electronic communication
US10157392B1 (en) * 2014-08-22 2018-12-18 Groupon, Inc. Computer system and computer-executed method for inventory valuation
US20160155137A1 (en) * 2014-12-01 2016-06-02 International Business Machines Corporation Demand forecasting in the presence of unobserved lost-sales
US20170140407A1 (en) * 2015-11-13 2017-05-18 Wal-Mart Stores, Inc. Distributed Computing System
US10977673B2 (en) * 2017-05-03 2021-04-13 Clear Demand, Inc. System and method for rule based forecasting in multichannel, multi-offer, and multi-customer-segment environments
DE102018206390A1 (en) * 2018-04-25 2019-10-31 Localoffercompass Ug (Haftungsbeschränkt) Distributed merchandise management system
US11348047B2 (en) * 2019-06-20 2022-05-31 Walmart Apollo, Llc Systems and methods for safety stock settings using a parallel processing computing architecture
US20210312406A1 (en) * 2020-04-07 2021-10-07 Dgnss Solutions, Llc Artificial intelligence monitoring, negotiating, and trading agents for autonomous vehicles
US11321762B2 (en) * 2020-06-30 2022-05-03 International Business Machines Corporation Automated hybrid propensity decision vector generation using artificial intelligence

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377095A (en) * 1991-07-12 1994-12-27 Hitachi, Ltd. Merchandise analysis system with sales data table and various functions for predicting the sale by item
US5793632A (en) * 1996-03-26 1998-08-11 Lockheed Martin Corporation Cost estimating system using parametric estimating and providing a split of labor and material costs
US5950171A (en) * 1997-08-26 1999-09-07 Madell; John T. System for determining hypothetical book value
US5960407A (en) * 1996-10-08 1999-09-28 Vivona; Robert G. Automated market price analysis system
US5970476A (en) * 1996-09-19 1999-10-19 Manufacturing Management Systems, Inc. Method and apparatus for industrial data acquisition and product costing
US5987425A (en) * 1995-02-28 1999-11-16 United Hardware Distributing Company Variable margin pricing system
US6226625B1 (en) * 1999-07-28 2001-05-01 C. M. & I. Technologies, Inc. Value sharing method for determining pricing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770967A3 (en) * 1995-10-26 1998-12-30 Koninklijke Philips Electronics N.V. Decision support system for the management of an agile supply chain
US6021402A (en) * 1997-06-05 2000-02-01 International Business Machines Corporaiton Risk management system for electric utilities
US6611726B1 (en) * 1999-09-17 2003-08-26 Carl E. Crosswhite Method for determining optimal time series forecasting parameters
US8655749B2 (en) * 2004-09-30 2014-02-18 Sap Ag Methods and systems for distributing stock in a distribution network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377095A (en) * 1991-07-12 1994-12-27 Hitachi, Ltd. Merchandise analysis system with sales data table and various functions for predicting the sale by item
US5987425A (en) * 1995-02-28 1999-11-16 United Hardware Distributing Company Variable margin pricing system
US5793632A (en) * 1996-03-26 1998-08-11 Lockheed Martin Corporation Cost estimating system using parametric estimating and providing a split of labor and material costs
US5970476A (en) * 1996-09-19 1999-10-19 Manufacturing Management Systems, Inc. Method and apparatus for industrial data acquisition and product costing
US5960407A (en) * 1996-10-08 1999-09-28 Vivona; Robert G. Automated market price analysis system
US5950171A (en) * 1997-08-26 1999-09-07 Madell; John T. System for determining hypothetical book value
US6226625B1 (en) * 1999-07-28 2001-05-01 C. M. & I. Technologies, Inc. Value sharing method for determining pricing

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494887B2 (en) * 2001-12-10 2013-07-23 Jda Software Group, Inc. Generating an optimized pricing plan
US20130311239A1 (en) * 2001-12-10 2013-11-21 Jda Software Group, Inc. Generating an Optimized Pricing Plan
US20030110066A1 (en) * 2001-12-10 2003-06-12 I2 Technologies Us, Inc. Generating an optimized pricing plan
US20090216611A1 (en) * 2008-02-25 2009-08-27 Leonard Michael J Computer-Implemented Systems And Methods Of Product Forecasting For New Products
US9934259B2 (en) 2013-08-15 2018-04-03 Sas Institute Inc. In-memory time series database and processing in a distributed environment
US10169720B2 (en) 2014-04-17 2019-01-01 Sas Institute Inc. Systems and methods for machine learning using classifying, clustering, and grouping time series data
US10474968B2 (en) 2014-04-17 2019-11-12 Sas Institute Inc. Improving accuracy of predictions using seasonal relationships of time series data
US9892370B2 (en) 2014-06-12 2018-02-13 Sas Institute Inc. Systems and methods for resolving over multiple hierarchies
US9208209B1 (en) 2014-10-02 2015-12-08 Sas Institute Inc. Techniques for monitoring transformation techniques using control charts
US9418339B1 (en) 2015-01-26 2016-08-16 Sas Institute, Inc. Systems and methods for time series analysis techniques utilizing count data sets
US20170323318A1 (en) * 2016-05-09 2017-11-09 Wal-Mart Stores, Inc. Entity-specific value optimization tool
US10560313B2 (en) 2018-06-26 2020-02-11 Sas Institute Inc. Pipeline system for time-series data forecasting
US10685283B2 (en) 2018-06-26 2020-06-16 Sas Institute Inc. Demand classification based pipeline system for time-series data forecasting

Also Published As

Publication number Publication date
WO2002029696A1 (en) 2002-04-11
DE10196754T1 (en) 2003-11-20
AU2002211619A1 (en) 2002-04-15
US7937282B2 (en) 2011-05-03
US20080208678A1 (en) 2008-08-28
US20060161504A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
US7937282B2 (en) Generating an optimized price schedule for a product
US7343355B2 (en) Calculating price elasticity
US7644863B2 (en) Agent using detailed predictive model
US6978249B1 (en) Profile-based product demand forecasting
US8458014B2 (en) System and method for determining carbon emission-conscious order fulfillment alternatives with multiple supply modes
Cheng et al. A periodic review inventory model with demand influenced by promotion decisions
US8494887B2 (en) Generating an optimized pricing plan
US8271318B2 (en) Systems and methods for markdown optimization when inventory pooling level is above pricing level
US5970465A (en) Method for part procurement in a production system with constrained resources
US7653561B2 (en) Stochastic multiple choice knapsack assortment optimizer
US7693801B2 (en) Method and system for forecasting commodity prices using capacity utilization data
US7848943B2 (en) System and method for supporting purchase or production of products by potential demand prediction
US20080275796A1 (en) System and process for supply management for the assembly of expensive products
US20040230475A1 (en) Optimizing an inventory of a supply chain
US20080046309A1 (en) Optimized Deployment of Parts in a Distribution Network
US20070073737A1 (en) Update processes in an enterprise planning system
US20080147490A1 (en) Optimized Deployment of Parts in a Supply Chain Network
US7774226B2 (en) Accepting bids under uncertain future demands
US7856371B2 (en) Pull planning for unserviceable parts in connection with on-demand repair planning
US20020188529A1 (en) System and method for calculation of controlling parameters for a computer based inventory management
Urban Supply contracts with periodic, stationary commitment
US10977609B1 (en) Distribution-independent inventory approach under multiple service level targets
US11238482B1 (en) Method and system for managing clearance items
JPH11120255A (en) Method and device for managing inventory
US20200034859A1 (en) System and method for predicting stock on hand with predefined markdown plans

Legal Events

Date Code Title Description
AS Assignment

Owner name: I2 TECHNOLOGIES US, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WALSER, JOACHIM P.;KALYAN, VIBHU;PALAMARTHY, SRIMVAS;AND OTHERS;REEL/FRAME:020068/0852;SIGNING DATES FROM 20010622 TO 20010625

AS Assignment

Owner name: I2 TECHNOLOGIES US, INC., TEXAS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORD TO CORRECT ASSIGNOR NAME PREVIOUSLY RECORDED ON REEL 020068 FRAME 0852;ASSIGNORS:WALSER, JOACHIM P.;KALYAN, VIBHU;PALAMARTHY, SRINIVAS;AND OTHERS;REEL/FRAME:020173/0626;SIGNING DATES FROM 20010622 TO 20010625

AS Assignment

Owner name: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT, CALIFORNIA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:JDA TECHNOLOGIES US, INC.;REEL/FRAME:026072/0353

Effective date: 20110318

Owner name: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT, CALIFO

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:JDA TECHNOLOGIES US, INC.;REEL/FRAME:026072/0353

Effective date: 20110318

AS Assignment

Owner name: JDA TECHNOLOGIES US, INC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:I2 TECHNOLOGIES US, INC;REEL/FRAME:026468/0119

Effective date: 20100205

AS Assignment

Owner name: JDA SOFTWARE GROUP, INC., ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JDA TECHNOLOGIES US, INC.;REEL/FRAME:026740/0676

Effective date: 20110524

Owner name: JDA SOFTWARE GROUP, INC, ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JDA TECHNOLOGIES US, INC;REEL/FRAME:026740/0676

Effective date: 20110524

AS Assignment

Owner name: JDA TECHNOLOGIES US, INC., ARIZONA

Free format text: RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, LLC;REEL/FRAME:029529/0812

Effective date: 20121221

AS Assignment

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, NEW YORK

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:JDA SOFTWARE GROUP, INC.;REEL/FRAME:029556/0809

Effective date: 20121221

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, NEW YORK

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:JDA SOFTWARE GROUP, INC.;REEL/FRAME:029556/0697

Effective date: 20121221

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: JDA SOFTWARE GROUP, INC., ARIZONA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0809;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:040337/0356

Effective date: 20161012

Owner name: JDA SOFTWARE GROUP, INC., ARIZONA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0697;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:040337/0053

Effective date: 20161012

AS Assignment

Owner name: JDA TECHNOLOGIES US, INC., TEXAS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC. TO JDA TECHNOLOGIES US, INC.;ASSIGNOR:I2 TECHNOLOGIES US, INC.;REEL/FRAME:055136/0623

Effective date: 20100205

AS Assignment

Owner name: JDA SOFTWARE GROUP, INC., ARIZONA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:JDA TECHNOLOGIES US, INC.;REEL/FRAME:055257/0747

Effective date: 20110524

AS Assignment

Owner name: JDA TECHNOLOGIES US, INC., TEXAS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION ASSIGNMENT;ASSIGNOR:I2 TECHNOLOGIES US, INC.;REEL/FRAME:056813/0110

Effective date: 20100205