# Patent

## Title
Method and system for transferring data from a data warehouse

## Abstract

A method for transferring data from a data warehouse. The method includes selecting data from a data warehouse, generating a data transfer worklist including the data, and transferring the data transfer worklist from the data warehouse to a price planning workbench.

## Background
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
This application claims the benefit of U.S. Provisional Patent Application No. 60/551,221, filed Mar. 8, 2004 and entitled “Inventory Management,” and U.S. Provisional Patent Application No. 60/563,284, filed Apr. 16, 2004 and entitled “Inventory Management,” both of which are hereby incorporated by reference.


FIELD OF THE INVENTION
The present invention relates generally to the field of methods and systems for transferring data from a data warehouse. More particularly, the present invention relates to methods and systems for transferring retail data from a data Warehouse to a price planning workbench.
BACKGROUND OF THE INVENTION
Various market requirements may necessitate price adjustments and/or price planning decisions. The price adjustments and/or price planning decisions often must be implemented in a relatively short period of time. Accordingly, price planning workbenches may be used to facilitate price adjustments and/or price planning decisions.
Price planning workbenches utilize stored retail data to facilitate price planning decisions. For example, in generating a price change, the price planning workbench may utilize data related to retail inventories, number of sales, number of returns, etc. The volume of the retail data may be extensive.
Accordingly, retail data is often stored and organized in a data warehouse implemented separately from the price planning workbench. Retail data may also be stored on one or more additional systems, such as a Internet data sources for daily prices.
Thus, there is a need for a data transfer system and method enabling the transfer of data from a data warehouse to a price planning workbench. There is further a need for such a system and method configured to allow the data transfer to be performed as an asynchronous data transfer in a background process. In addition, there is a need for such a system and method configured to transfer data without additional applications.
SUMMARY OF THE INVENTION
One embodiment of the invention relates to a method for transferring data from a data warehouse. The method includes selecting data from a data warehouse, generating a data transfer worklist including the data, and transferring the data transfer worklist from the data warehouse to a price planning workbench.
Another embodiment of the invention relates to a system for transferring data from a data warehouse. The system includes a data warehouse configured to store retail data, a price planning workbench configured to generate a price planning schedule based on price planning input, the retail data, and a price planning budget associated with the price planning input, and a data transfer channel directly connecting the data warehouse with the price planning workbench to enable transfer of the retail data from the data warehouse to the price planning workbench.
Yet another embodiment of the invention relates to a program product for transferring data from a data warehouse to a price planning workbench. The program product includes machine-readable program code for causing, when executed, one or more machines to perform a series of method steps. The method steps include selecting data from a data warehouse, generating a data transfer worklist including the data, and transferring the data transfer worklist from the data warehouse to a price planning workbench.
Other features and advantages of the present invention will become apparent to those skilled in the art from the following detailed description and accompanying drawings. It should be understood, however, that the detailed description and specific examples, while indicating preferred embodiments of the present invention, are given by way of illustration and not limitation. Many modifications and changes within the scope of the present invention may be made without departing from the spirit thereof, and the invention includes all such modifications.



BRIEF DESCRIPTION OF THE DRAWINGS
The exemplary embodiments will hereafter be described with reference to the accompanying drawings, wherein like numerals depict like elements, and:
FIG. 1 is a general block diagram illustrating an exemplary embodiment of a system for processing data related to retail operations and planning;
FIG. 2 is a process flow block diagram illustrating an exemplary embodiment of a method for transferring markdown controlling and markdown planning information from a slow seller management engine to a price planning workbench;
FIG. 3 is a process flow block diagram illustrating an exemplary embodiment of a method for generating a worklist including manual price changes within a manual pricing engine and transferring the worklist to a price planning workbench to generate a price planning document;
FIG. 4 is a process flow block diagram illustrating an exemplary embodiment of a method for generating a worklist including promotional related information within a promotion management engine and transferring the worklist to a price planning workbench;
FIG. 5 is a detailed process flow block diagram illustrating an exemplary embodiment of a method for processing a price planning document to implement one or more price changes contained in the price planning document;
FIG. 6 is a flowchart illustrating an exemplary embodiment of a method for creating a promotion within price planning workbench;
FIG. 7 is a block diagram illustrating an exemplary embodiment of a user interface for the price planning workbench;
FIG. 8 is a flowchart illustrating an exemplary embodiment of a method for implementing a price planning schedule contained within a price planning document; and
FIG. 9 is a flowchart illustrating an exemplary embodiment of a method for managing the status of a price planning schedule within a price planning document following release of the price planning document.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident to one skilled in the art, however, that the exemplary embodiments may be practiced without these specific details. In other instances, structures and devices are shown in diagram form in order to facilitate description of the exemplary embodiments.
In at least one exemplary embodiment illustrated below, a computer system is described which has a central processing unit (CPU) that executes sequences of instructions contained in a memory. More specifically, execution of the sequences of instructions causes the CPU to perform steps, which are described below. The instructions may be loaded into a random access memory (RAM) for execution by the CPU from a read-only memory (ROM), a mass storage device, or some other persistent storage. In other embodiments, multiple workstations, databases, process, or computers can be utilized. In yet other embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the functions described. Thus, the embodiments described herein are not limited to any particular source for the instructions executed by the computer system.
Referring now to FIG. 1, a general block diagram illustrates an exemplary embodiment of a retail planning system 100 for processing data related to retail operations and planning. Retail planning system 100 includes a data warehouse 120 and a price planning workbench 130.
According to the exemplary embodiment, retail planning system 100 may include additional components configured to manage and implement price planning for retail store operations. For example, retail planning system 100 may further include additional components such as a procurement engine, a supply engine, a merchandise controlling engine, a valuation engine, etc. The components of retail planning system 100 may further be interconnected such that information may be freely exchanged between the components of retail planning system 100.
Retail planning system 100 may further be associated with one or more additional external components such as a plurality of cash register systems associated with retail store locations. The cash register systems may be configured to perform a number of functions associated with retail store operation such as pricing implementation, inventory control, data management, etc.
Retail planning system 100 may be implemented as a single system, a distributed system, or any combination thereof. Retail planning system 100 may be implemented using a single computing system, a plurality of computing systems, software, hardware, or any other system or combination of systems to perform the functions described herein. Further, the components associated with system 100 may also be implement using single or multiple systems.
Data warehouse 120 is a data repository configured to receive, sort, and process information related to retail operations and planning. Data warehouse 120 may also be implemented as using a single or multiple systems. Data warehouse 120 may further include one or more functions associated with it to permit a user to efficiently organize and retrieve stored data. It may also contain historical data on products and services such as past sales and prices. Data warehouse 120 is an end to end data warehouse that provides functionality for the sharing of data and analysis tools to utilize the stored data. Preferably, data warehouse 120 is a SAP Business Information Warehouse (SAP BWTM) provided by SAP.
Price planning workbench 130 is preferably a data processing system or software configured to control, display, interface with operators, or perform other operations to generate a price planning schedule. Although workbench 130 is preferably implemented in an SAP based workbench, interface, and architecture, any other systems may be utilized.
Price planning workbench 130 is a data processing system configured to allow a user to perform pricing tasks (e.g., receive price planning input data, access applicable budgeting data, generate a price planning schedule, implement the price planning schedule, etc.) as will be further described below with reference to FIGS. 2-9. According to an exemplary embodiment, price planning workbench 130 includes a slow seller management engine 132, a manual pricing engine 134, a promotion management engine 136, a user interface 138, a pricing implementation engine 140, and a reporting engine 142.
A price planning schedule may be implemented by a data structure configured to contain information related to one or more price changes. The price changes may include a price change by specifying a new sales price, a percentage change based on the original or current sales price, or an absolute price change by specifying a difference from the original or current sales price. Further, the price planning schedule may include other information associated with the price change such as timing information (e.g., validity dates), quantity limits, automatic versus manual implementation, associated articles, etc. The price planning schedule may further include one or more results based on the price changes included in the price planning schedule. The included one or more results may be actual results based on the scheduled price changes and/or predicted results.
Price planning workbench 130 is generally configured to enable a user to take corresponding budget and/or other values affected by price changes into account in planning and activating price changes to create a price planning schedule based on pricing input information. Exemplary values that may be affected by price changes include sales and stock quantities, prices, price reductions (rebates and discounts), units, profit margins, etc.
During the creation of the price planning schedule, an initial budget planning value may be created representing an effect on the corresponding budget. The initial budget planning value may be generated within data warehouse 120 based on budget utilization from prior periods, as well as the budget for the current period. Subsequently, upon activation of the price changes during defined validity dates, the corresponding budget may be updated based upon actual sales occurring under the price planning schedule and/or forecasted sales. During the updating process, the initial budget planning value may be compared with a budget usage resulting from implementation of the price planning schedule and involved article quantities. Advantageously, implementing a price planning schedule in conjunction with a corresponding budget enables cost control for any price reductions.
According to another embodiment, a user interface may be used to display the results of the proposed price changes contained in the price schedule on a number of values. For example, the user interface may display the effect of a given set of price changes on a store's profitability. Alternatively, results may be configured to be included in the generated price planning schedule.
Generally, engines 132, 134, and 136 communicate with price planning workbench 130 either directly or as a downstream process. Direct communication may include an active exchange of data during processing. Downstream processing includes processing by the engines, followed by a data transfer to workbench 130 for processing by workbench 130. Workbench 130 is configured to interface with each engine using custom information for that engine. For example, engines 132, 134, and 136 may be configured to generate information documents that are customized to each particular engine and transferred to workbench 130. According to an alternative embodiment, engines 132, 134 and 136 may be implemented as components within price planning workbench 130.
Slow seller management engine 132 may be a system configured to communicate with one or more of a budgeting system, a planning system, an inventory system, or any other systems within or in communication with system 100. According to an exemplary embodiment, slow seller management system 132 is configured to identify and recommend pricing or other strategies for products or inventory that is selling at a slower rate than forecast. Pricing strategies may include recommended markdowns to increase sales rate. Slow seller management engine 132 is discussed in further detail below with reference to FIG. 2.
Manual pricing engine 134 may be any system or method for generating price planning input based on manual input received from a user. According to an exemplary embodiment, a user may utilize a user interface associated with manual pricing engine 134 or user interface 138 for price planning workbench 130 to enter one or more price changes such as a new sales price, a percentage change based on the original or current sales price, or an absolute price change by specifying a difference from the original or current sales price. The user may further enter any associated information such as timing information, quantity information, store location information, etc. Manual pricing engine 134 is discussed in further detail below with reference to FIG. 3.
Promotion management engine 136 may be any system or method for generating price planning input based upon one or more promotions. A promotion may be a promotion associated with a particular store, a chain of stores, a particular article, a line of articles, a geographic location or region, etc. A promotion may include a price change, timing information, article information, store location, or any other information related to the promotion to be implemented. Promotion management engine 136 is discussed in further detail below with reference to FIG. 4.
User interface 138 may be any type of interface configured to allow a user to interact with price planning workbench 130 and/or any associated components such as slow seller management engine 132, manual pricing engine 134, and promotion management engine 136. Interface 138 may be configured such that each user is assigned to one or more specific budgets, which in turn are assigned to specific articles. Advantageously, user assignments may be used to define the set of articles that a user is authorized to process. Interface 138 may further be configured to display the status of a price planning schedule during any stage of preparation and/or implementation. Interface 138 is discussed in further detail below with reference to FIG. 7.
Pricing implementation engine 140 may be any type of system or method configured to receive a price planning schedule and communicate with one or more components associated with retail planning system 100 to implement price changes defined in the price planning schedule. Pricing implementation engine 140 may be further configured to implement functions associated with the price changes such as budgets updates, inventory tracking, etc. Pricing implementation engine 140 is discussed in further detail below with reference to FIGS. 8 and 9.
Reporting engine 142 may be any type of system or method configured to operate in conjunction with price planning workbench 130 and user interface 138 to generate and display or otherwise provide one or more results based on proposed price changes. The one or more results may be predicted and/or actual results. For example, a predicted result may be a predicted increase in sales based on the reduction in price. Such predicted results may be generated by price planning workbench 130 based upon historical values, intelligence systems, simple formulas, and/or any other predictive formula or calculation. Actual results may include results known to occur based on the proposed price changes. For example, an actual result may include maximum sales revenue that can be generated based on stock levels and the revised prices.
According to alternative embodiments, price planning workbench 130 may include more, fewer, or different systems than described above to facilitate creation, processing, and maintenance of a price planning schedule. In addition, functions associated with one or more systems described above may alternatively be associated with one or more alternative systems. For example, manual pricing engine 134 may be implemented as a component within promotion management engine 136.
Referring now to FIG. 2, a process flow block diagram illustrates an exemplary embodiment of a method for transferring markdown controlling and markdown planning information from slow seller management engine 132 to price planning workbench 130. Generally, the data is transferred directly to workbench 130 through a background processing-capable interface and saved within workbench 130 as described below.
In a step 205, slow seller management engine 132 is configured to apply one or more sets of rules to generate one or more price change proposals from one or more markdown profiles. The markdown profiles used to generate the price change proposals may include sets of price changes that are applied to single articles or groups of articles based on levels of inventory that remain unsold after a specific time period.
According to an exemplary embodiment, the price changes proposals created from the markdown profiles may be saved in a worklist 210 using batch processing on a data warehouse system. Worklist 210 at this point may include information related to the price change proposal such as a price activation level, an actual lifecycle, a total lifecycle, an analysis date, a sales quota, a target sales quota, a proposed markdown percentage, a current stock level, a unit of measure, articles affected by the price changes, etc. Worklist 210 may include information related to single articles or group of articles. The worklist is associated with an infocube. In a data warehouse system, the infocube is a storage container where data regarding an article or group of articles is stored. This data comes from, for example, points-of-sale (e.g., retail outlets) and relates to actual sales of the relevant articles. The Price Planning Workbench contains association of worklists with infocube so that the system knows what infocube to access in order to store or retrieve data. Analysis programs and corresponding report generators access the infocubes to retrieve historical sales data, for example, in order to make determinations regarding current pricing and price reductions for the relevant articles.
After worklist 210 is created on the backend data warehouse system, it may be transferred in a step 215 to a rough worklist 220 in price planning workbench 130, which may be running on a front end system. According to an exemplary embodiment, the transfer from the back end data warehouse system to price planning workbench 130 on the front end system may be accomplished using a background processing-capable interface. As persons skilled in the art will appreciate, transferring step 215 may include multiple substeps such as formatting the worklist in an outbound message, transferring the message via XI asynchronous transfer, reformatting the worklist received in an inbound message, etc.
According to an exemplary embodiment, transferring step 215 includes a data enrichment substep. For example, rough worklist 220 may be populated with exchange budget data such as sales prices, budget data, stocks, etc. Rough worklist 220 may be populated with such enriched data when rough worklist 220 is initially created and/or at periodic updates and/or in real-time. The data source may be associated with data warehouse 120, workbench 130, and/or any other source, both internal and external.
According to an exemplary embodiment, user interface 138 of price planning workbench 130 may be configured to allow a user to intervene in the data enrichment process. Intervention may include the data enrichment step described above, setting timing information to control when the enrichment step occurs, defining the scope of the information to be used in the data enrichment step, etc. Advantageously, allowing the user to intervene provides the user with greater control to provide relevant and contemporaneous data in the creation of a price planning schedule.
According to an exemplary embodiment, transferring step 215 may also include a substep that checks for conflicts within rough worklist 220. For example, rough worklist 220 may include price changes for a particular color, while the pricing reference material is for a generic article. Any inconsistent data found during this process may be reported to the user through user interface 138. Prior to processing worklist 220 containing the erroneous data records, user interface 138 may be configured to allow the user to correct the errors if necessary. The errors may be recorded in an error log for later analysis to reduce future occurrences.
From rough worklist 220, a user may transfer the price change proposals to an editing area 225 of user interface 138 as will be discussed in further detail below with reference to FIG. 7. Editing may include any process involving a change in one or more prices or price change proposals for items included in a worklist. Editing may further include approval or rejection of any prices and/or price change proposals. Editing area 225 may further be configured to display additional data associated with the items, prices, price change proposals, etc. that may be useful during editing. Editing may further include constrained editing in which the changes that can be made by a user are constrained by one or more external constraints, such as the budget, inventory levels, policy, etc.
Transfer of the price change proposals to editing area 225 of user interface 138 may further including a substep of generating one or more results based on the price change proposals. Generating the one or more results may include generating actual and predictive results based on the price changes. Reporting engine 142 may be configured to generate the one or more results.
An actual result may be a result that will occur based upon implementation of the proposed price changed. Exemplary actual results may include calculation of the resultant price based on the proposed price change, a pricing schedule based on a number of price changes over a time interval, a change in the maximum amount of revenue that can be realized based on actual stock levels and the proposed price (i.e., loss of profit), etc.
A predictive results may be a result that is generated based upon one or more rules or formula configured to predict at least one output based on a number of inputs. The rules or formulas may be configured based upon expert knowledge, known correlations, historical analysis, etc. For example, a predictive result may include an increased number of units and/or dollar amount of articles expected to be sold during a particular time period as a result of the price change.
Following generation of the actual and/or predictive results, the results may be displayed to the user in the editing area 225 such that the user may receive contemporaneous feedback regarding the consequences of the proposed price changes. The results may further be included within a generated price planning schedule, further discussed below, for communication to and utilization within related systems. For example, the price planning schedule may include a price planning schedule configured to provide instructions to cash register systems regarding upcoming price changes.
Following editing of the price planning workbench worklist, the worklist may be saved as a price planning schedule within a price planning document (PPD) 230. Price planning document 230 may be any type of document that includes a price planning schedule and/or other information needed to implement the price changes suggested in the price planning workbench worklist. Exemplary information may include article data, stock quantities, associated price markdowns, price activation levels, budget data, etc.
Following creation of price planning document 230, the corresponding data may be deleted from rough worklist 220 in a step 235. The deletion of such data reduces the amount of extraneous data stored within price planning workbench 130 and thus improves efficiency and reduces required storage.
Referring now to FIG. 3, a process flow block diagram illustrates an exemplary embodiment of a method for generating a worklist including manual price changes within manual pricing engine 134 and transferring the worklist to price planning workbench 130 to generate a price planning document. The manual price changes may include definitions of price activation levels (organization levels) where the new sales prices to be defined can also be identified.
In a step 305, a user may utilize user interface 138 to select one or more articles for which a manual price change is desirable. According to an exemplary embodiment, user interface 138 may be utilized to display an article hierarchy for which a particular user is authorized to implement manual price changes. The user may navigate through such an article hierarchy to select a particular article or group of articles for which price changes are to be implemented. Selected articles are initially displayed hierarchically in a rough worklist 310 in user interface 138.
Following selection of the articles in step 305 and creation of rough worklist 310, the articles in rough worklist 310 may be selectively transferred to an editing area 315 within user interface 138. When articles are transferred from rough worklist 310 to editing area 315, the articles are removed from rough worklist 310. Further, as described above with reference to FIG. 2, the transferred data may be enriched or supplemented with data stored in data warehouse 120 or data available through price planning workbench 130.
Editing area 315 may be utilized to make changes to article prices and other attributes of the selected articles. As mentioned above, price changes may include a new specific price, a percentage markdown from an existing price, a reduction by a specific amount, etc. Further, price changes may include effective dates or other timing information. For example, a price change may include a series of price changes wherein each price change is set to occur on a specific date. Alternatively, a price change may include more specific information, such as setting a percentage price change based on the quantity of articles still in stock at a particular date. Editing area 315 may further include a result reporting function as described above with reference to FIG. 2.
After the selected articles have been edited in editing area 315, the articles may be saved as a price planning schedule within a price planning document (PPD) 320. Price planning document 320 may be any type of document that includes a price planning schedule and/or other information needed to implement the price changes suggested in the price planning workbench worklist. Exemplary information may include article data, stock quantities, associated price markdowns, price activation levels, budget data, etc.
Referring now to FIG. 4, a process flow block diagram illustrates an exemplary embodiment of a method for generating a worklist including promotional related information within promotion management engine 136 and transferring the worklist to price planning workbench 130. A promotion refers to a special event, retail sale, or other activity designed to reduce inventory. For example, spring sales events, two-for-one promotions, end-of-season sales, clearance sales, etc. are examples of sales promotions which may be used to reduce inventory. Sales promotions are different than a markdown controlling process which is not necessarily tied to an event or special circumstance.
Merchants often use markdowns to ensure that merchandise is nearly or completely sold out by the end of a season. Markdowns are price reductions such as retail sales promotions aimed at promoting the sale of certain articles to reduce inventory. Retail sales promotions reduce the gross margin, which means the revenue merchants earn for selling the merchandise is less than originally planned. Merchants usually plan a certain budget for retail sales promotions that must not be exceeded. Accordingly, retail sales promotions are applied restrictively in retail, which further increases the risk of remaining stocks at the end of the season. The primary goal in managing seasonal merchandise is to limit retail sales promotions to a minimum and apply them at the best suitable time and with maximum flexibility while ensuring that nearly all the merchandise is sold by the end of the season.
In order to achieve a high degree of integration between price planning workbench 130 and promotion management engine 136, engine 136 may be configured to be actuated from user interface 138 of price planning workbench 130. For example, user interface 138 may include a “create promotion” button or icon to allow a user to convert article pricing data that has been manually created using a process such as described above in connection with FIG. 3. For example, articles may be manually selected from an article hierarchy in a step 405, which results in a rough worklist 410. From rough worklist 410, selected articles may be transferred to an editing area 415. Editing area 415 may be configured to display and/or incorporate one or more results generated by reporting engine 142, as described above with reference to FIG. 2. Then, when the “create promotions” function is activated, the manually entered price planning information (e.g., price activation levels) for the articles in editing 415 is converted into a retail promotion 418. Conversion of the manually entered price planning information into retail promotion 418 may also include adoption of data structures from manual pricing. When promotion 418 is created, user interface 138 may be utilized to enter additional promotion-relevant data (e.g., header data of the promotion). After retail promotion 418 is approved, it may be saved to a price planning document 420.
Referring now to FIG. 5, a more detailed block diagram illustrates an exemplary embodiment of a method for processing a planning document 502 to implement one or more price changes in retail planning system 100. Price planning workbench 130 may be configured to implement price planning document 502 through communication with one or more additional systems. The additional systems may include cash register systems, inventory systems, budgeting systems, etc.
According to an exemplary embodiment, price planning workbench 130 may be configured to create corresponding conditions 505 from price planning document 502. Corresponding conditions may be numerical data defining various levels in a hierarchy that is used to store retail prices. The numerical data may be utilized to set price activation levels, track relative sales, etc. In addition, price planning workbench 130 may be configured to generate one or more importation documents (or IDocs) 510. Outbound IDocs 510 may be contain price change information for use in cash register systems at retail locations 515. Transfer of IDocs 510 to the cash register systems at retail locations 515 may be implemented through converter software to convert the data into the appropriate format for the cash register system. Thus, IDocs 510 may be used to provide automatic, asynchronous generation of price change information for supply to the cash register systems.
The cash register systems may be configured to automatically implement the price changes described in price planning document 502 as contained within IDocs 510. The cash register systems may be further configured to automatically transfer sales data and/or retail store physical inventory data to retail planning system 100 by creating inbound IDocs 520. Advantageously, the sales data and/or store physical inventory in IDocs 520 may be utilized to provide or supplement the enhanced data provided to price planning workbench 130 as described above with reference to FIGS. 2-4.
In an exemplary embodiment, retail planning system 100 may be configured to provide automatic, asynchronous updates 525 of price planning document 502 that will become valid using the planned quantities from the promotion or current stock data. For example, when a price change is made within workbench 130, an asynchronous update may be utilized to transmit an iDoc 520 to one or more cash register systems. The iDoc may include a designation of when the prices changes should be activated based on inventory levels, timing, etc. Retail planning system 100 may further be configured to update a budget associated with price planning document 502 in a step 530.
Referring now to FIG. 6, a process flow diagram illustrates the two above-mentioned exemplary embodiments of a method for creating a promotion within price planning workbench 130. According to one such embodiment, a user utilizes interface 138 to indicate that a manual price change selection will be used to create a promotion as indicated by a step 605. According to the other embodiment, the user indicates that a promotion will be entered directly by a step 608.
Where a manual input selection is made in step 605, article data may be loaded into the edit area of user interface 138 to enable a user to manually edit pricing and/or article data in a step 610. Manually editing pricing and/or article data may include manually entering price changes, timing information, article selections, etc.
Following manual editing in step 610, a user may utilize interface 138 to create a promotion based upon the manually edited data in a conversion step 615. Upon creation of the promotion, the user may utilize interface 138 to modify information related to the promotion to be created in a step 620. Modifying information related to a promotion may include changing one or more articles included in the promotion, timing information, sources included in the promotion, etc.
Where a selection is made to directly enter a promotion in step 608, a promotion may be created in a step 625. Creation of the promotion in step 625 may include loading of article and/or promotion data to the edit area of user interface 138 for manipulation by the user. For example, the user may use the edit area to make changes related to the articles and/or changes related to data for the promotion.
Following creation of a promotion and related article data in steps 620 or 625, price planning workbench 130 may be configured to create a price planning document and a promotion in a step 630. The price planning document may be distributed and maintained in a step 635 as described above with reference to FIG. 5.
Price planning workbench 130 may further be utilized to modify and/or control an existing promotion. Modifying and/or controlling an existing promotion may include various activities such as deactivating individual sale prices of an ongoing promotion, reactivating individual sale prices of an ongoing promotion, deactivating a complete promotion, reactivating a complete promotion, adding articles to a promotion, ending a promotion prematurely, extending the validity of an ongoing promotion, changing the sale prices of an ongoing promotion, and so on.
Referring now to FIG. 7, a block diagram illustrates an exemplary embodiment of a user interface 138 for price planning workbench 130. User interface 138 may include a menu bar 705, a price planning editing area 710, a rough worklist area 715, and an active listing area 720 for price planning documents with a status such as “in process” or “resubmission.” Further, user interface 138 may also include an inactive listing area 725 for price planning documents with a status such as “for release”, “released”, “conditions created”, “partially active”, and “cancelled”.
Menu bar 705 may contain a plurality of icons that allow a user to navigation and perform functions within price planning workbench 130 and other systems associated with price on workbench 130. According to an exemplary embodiment, menu bar 705 contains icons configured to allow a user to perform a plurality of navigation, data processing, access, etc. functions.
Price planning editing area 710 may provide an overview screen of all previously selected articles for which the user may desire to implement price changes. According to an exemplary embodiment, each article may be displayed and aggregated into organizational levels based on a sorting criteria such as article type, article price, article location, timing information, etc., within editing area 710. Any additional or enhanced data associated with the article may also be displayed. The additional data may be obtained from data warehouse 120 or another source. Also, editing area 710 may be include a result reporting function as described above with reference to FIG. 2.
Price planning editing area 710 may also be configured to allow a user to open a detail view for an article. The detail view may allow a user to modify the organizational level within a hierarchical display, or make other changes to characteristics associated with the article. According to an exemplary embodiment, the detailed view may allow three possible price activation levels (e.g., distribution chain, price list, and store) to be displayed simultaneously or consecutively with their corresponding prices and/or markdown proposals.
Price planning worklist area 715 may be configured to display the rough worklist of selected articles for which price changes may be made. The rough worklist may be displayed in a hierarchical structure according to an article hierarchy or a merchandise group hierarchy. According to an exemplary embodiment, the user may select articles from within rough worklist area 715 to transfer the articles to price planning editing area 710. The transfer of articles from area 715 to area 710 may be implemented by selecting the articles, dragging and dropping the articles, double-clicking on the articles, etc.
Active listing area 720 may display a listing of all active price planning documents which a user may edit. When a price planning document is selected from active listing area 720, price planning workbench 130 may be configured to display the worklist associated with that price planning document in price planning worklist area 715. At the same time, price planning workbench 130 may also display articles associated with the price planning document in price planning editing area 710.
Inactive listing area 725 may display a listing of all inactive price planning documents which a user may not edit. Price planning workbench 130 may be configured such that the user can access but not modify the information in the price planning documents within inactive listing 725. Accordingly, a user may review these existing price planning documents for informational purposes.
Referring now to FIG. 8, a process flow diagram illustrates an exemplary embodiment of a method for implementing a price planning schedule contained within a price planning document. According to an exemplary embodiment, a price planning document may require approval and authorization before a price planning schedule contained in the price planning document may be implemented. As explained below, pricing implementation engine 140 may be configured to implement an automated approval and authorization process for this purpose. Advantageously, the automated process may prevent the activation of unauthorized price plans while ensuring that authorized changes can be implemented as quickly as possible to, for example, react to worse-than-expected sales.
In a step 805, a price planning document to be released is received by pricing implementation engine 140. Upon receipt, pricing implementation engine 140 may make a determination in a step 810 whether the price planning document should be released by a clerk or a superior. In the former case, when a clerk releases the price planning document in a step 815, a determination is made in a step 820 whether a budget plus a tolerance value has been exceeded based upon the release of the price planning document. If the budget plus a tolerance value has not been exceeded, a determination is made whether the budget has been exceeded in a step 825. If the budget has been exceeded, a warning message is sent to the superior in a step 830. If the budget has not been exceeded, or following transmittal of the warning message to the superior in step 830, the price planning document is released in a step 835.
Where the budget plus tolerance has been exceeded in step 820, a query may be transmitted to the superior in a step 840. Where it is determined in step 810 that a superior should release the price planning document, or where the query has been sent to the supervisor from step 840, the superior releases the document in a step 845. In a step 850, a determination is made whether the price planning document should be released by pricing implementation engine 140. If engine 140 determines that the price planning document should not be released, the price planning document is set to status “resubmission” in a step 855. If engine 140 determines that the price planning document should be released, the price document is released in step 835.
Referring now to FIG. 9, a process flow diagram illustrates an exemplary embodiment of a method for managing the status of a price planning schedule within a price planning document following release of the price planning document. In a step 905, a price planning document that has been approved for release is set to status “released”. Following release of the price planning document, a determination is made whether conditions have been created but are not yet valid in a step 910 and the price planning document is set to status “conditions created” in a step 912. For example, a determination may be made that a condition specifies a inventory level at which a new set of prices should be activate, but that the specified inventory level has not been reached.
As long as the conditions are not yet valid, price planning workbench 130 may be configured to allow a user to cancel the price planning document at any time in a step 915. If a user manually cancels the price planning document, the price planning document is set to status “cancelled” in a step 920.
If the user does not cancel the price planning document, a determination is made in a step 925 whether the conditions are now valid. If the conditions are valid, the budget is updated in step 925 within retail planning system 100, and the price planning document is set to status “active” or “partially active” in a step 928.
According to an exemplary embodiment, price planning workbench 130 may be configured to transmit activated sales prices to cash register systems affected by the price changes in a step 930. Transmittal of the activated sales prices may occur manually or automatically based on periodic updates, validation of the conditions, etc.
Although the terms “article,” “product,” “retail product,” and “inventory” are used herein to refer to the merchandise being sold, the present description will be applicable to the sale of any type of good or service. In either case, the pricing for merchandise being sold and/or services may be controlled or affected by the price planning workbench as described above.
As noted above, embodiments within the scope of the present description include program products comprising computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, such computer-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above are also to be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
The invention is described in the general context of method steps, which may be implemented in one embodiment by a program product including computer-executable instructions, such as program code, executed by computers in networked environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
The present invention in some embodiments, may be operated in a networked environment using logical connections to one or more remote computers having processors. Logical connections may include a local area network (LAN) and a wide area network (WAN) that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet. Those skilled in the art will appreciate that such network computing environments will typically encompass many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
An exemplary system for implementing the overall system or portions of the invention might include a general purpose computing device in the form of a conventional computer, including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. The system memory may include read only memory (ROM) and random access memory (RAM). The computer may also include a magnetic hard disk drive for reading from and writing to a magnetic hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to removable optical disk such as a CD-ROM or other optical media. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer.
Software and web implementations of the present invention could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps. It should also be noted that the word “component” as used herein and in the claims is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs.
The foregoing description of embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principals of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.

## Claims

1. A computer-readable storage media for transferring data from a data warehouse, comprising machine-readable program code for causing one or more machines to perform the following method steps:
selecting data from a data warehouse;
generating a data transfer worklist including the data;
comparing the data transfer worklist to a rough worklist;
generating a checked data transfer worklist based on a comparison of the data transfer worklist to the rough worklist;
reporting inconsistent data based on the comparison of the data transfer worklist to the rough worklist;
transferring the checked data transfer worklist from the data warehouse to a price planning workbench, the checked data transfer worklist comprising a first activation level and a second activation level related to a first product and a third activation level and a fourth activation level related to a second product, the first activation level being valid for a first period, the second activation level being valid for a second period, the third activation level being valid for a third period, and the fourth activation level being valid for a fourth period;
determining a first current stock level for the first product;
comparing the first current stock level to the first activation level;
comparing a current date to the first period;
generating a first product promotion based on the first current stock level exceeding the first activation level and at least one day in the first period exceeding or being equal to the current date;
determining a second current stock level for the second product;
comparing the second current stock level to the third activation level;
comparing the current date to the third period;
generating a second product promotion based on the second current stock level exceeding the third activation level and at least one day in the third period exceeding or being equal to the current date;
extending the validity of the first product promotion based on a comparison of a first product predicted sales to a first product actual sales; and
storing in the data warehouse data related to at least one of a first product lifecycle and a second product lifecycle.

2. The computer-readable storage media of claim 1, wherein transferring the checked data transfer worklist from the data warehouse is a background process.

3. The computer-readable storage media of claim 1, wherein the checked data transfer worklist is transferred in an asynchronous transfer mode.

4. The computer-readable storage media of claim 1, wherein transferring the checked data transfer worklist includes formatting the checked data transfer worklist.

5. The computer-readable storage media of claim 1, wherein generating the checked data transfer worklist includes adding enriched data to the checked data transfer worklist based on the included data.

6. The computer-readable storage media of claim 5, wherein adding enriched data includes adding data from one or more external data sources.

7. The computer-readable storage media of claim 1, further including generating a tree data structure in the price planning workbench based on the data included in the checked data transfer worklist.

8. The computer-readable storage media of claim 7, wherein the generated tree data structure includes the enriched data.

9. A machine-readable program code system for transferring data from a data warehouse, comprising:
a data warehouse configured to store retail data;
a hardware price planning workbench processor configured to generate a price planning schedule based on price planning input, a checked retail data, and a price planning budget associated with the price planning input;
a data transfer channel connecting the data warehouse with the price planning workbench processor to enable transfer of the checked retail data from the data warehouse to the price planning workbench processor, the data transfer channel configured to compare a data transfer worklist to a rough worklist, the data transfer channel further configured to report inconsistent data based on a comparison of the data transfer worklist to the rough worklist, the data transfer channel configured to generate the checked retail data based on the comparison, the price planning schedule comprising a first activation level and a second activation level related to a first product and a third activation level and a fourth activation level related to a second product, the first activation level being valid for a first period, the second activation level being valid for a second period, the third activation level being valid for a third period, and the fourth activation level being valid for a fourth period;
the hardware price planning workbench processor being configured to determine a first current stock level for the first product;
the hardware price planning workbench processor being configured to compare the first current stock level to the first activation level;
the hardware price planning workbench processor being configured to compare a current date to the first period;
the hardware price planning workbench processor being configured to generate a first product promotion based on the first current stock level exceeding the first activation level and at least one day in the first period exceeding or being equal to the current date;
the hardware price planning workbench processor being configured to determine a second current stock level for the second product;
the hardware price planning workbench processor being configured to compare the second current stock level to the third activation level;
the hardware price planning workbench processor being configured to compare the current date to the third period;
the hardware price planning workbench processor being configured to generate a second product promotion based on the second current stock level exceeding the third activation level and at least one day in the third period exceeding or being equal to the current date;
the hardware price planning workbench processor being configured to extend the validity of the first product promotion based on a comparison of a first product predicted sales to a first product actual sales; and
the data warehouse being configured to store data related to at least one of a first product lifecycle and a second product lifecycle.

10. The system of claim 9, wherein the data transfer channel is configured to implement data transfers in a background process.

11. The system of claim 9, wherein the data transfer channel is configured to implement an asynchronous data transfer mode.

12. The system of claim 9, wherein the data warehouse is further configured to generate the checked data transfer worklist including the retail data.

13. The system of claim 12, wherein generating the checked data transfer worklist includes adding enriched data to the checked data transfer worklist based on the included retail data.

14. The system of claim 13, wherein the enriched data includes data collected from and external source based on the retail data.

15. The system of claim 9, wherein the hardware price planning workbench includes a retail data tree structure configured to be populated with the transferred retail data.

16. A computer-readable storage medium for transferring data from a data warehouse to a price planning workbench, comprising machine-readable program code for causing one or more machines to perform the following method steps:
selecting data from a data warehouse;
generating a data transfer worklist including the data;
comparing the data transfer worklist to a rough worklist;
generating a checked data transfer worklist based on a comparison of the data transfer worklist to the rough worklist;
reporting inconsistent data based on the comparison of the data transfer worklist to the rough worklist;
transferring the checked data transfer worklist from the data warehouse to a price planning workbench, the checked data transfer worklist comprising a first activation level and a second activation level related to a first product and a third activation level and a fourth activation level related to a second product, the first activation level being valid for a first period, the second activation level being valid for a second period, the third activation level being valid for a third period, and the fourth activation level being valid for a fourth period;
determining a first current stock level for the first product;
comparing the first current stock level to the first activation level;
comparing a current date to the first period;
generating a first product promotion based on the first current stock level exceeding the first activation level and at least one day in the first period exceeding or being equal to the current date;
determining a second current stock level for the second product;
comparing the second current stock level to the third activation level;
comparing the current date to the third period;
generating a second product promotion based on the second current stock level exceeding the third activation level and at least one day in the third period exceeding or being equal to the current date;
determining a third current stock level for the first product;
comparing the third current stock level to the second activation level;
comparing the current date to the second period;
generating the first product promotion based on the third current stock level exceeding the second activation level and at least one day in the second exceeding or being equal to the current date;
determining a fourth current stock level for the second product;
comparing the fourth current stock level to the fourth activation level;
comparing the current date to the fourth period;
generating the second product promotion based on the fourth current stock level exceeding the fourth activation level and at least one day in the fourth period exceeding or being equal to the current date;
extending the validity of the first product promotion based on a comparison of a first product predicted sales to a first product actual sales; and
storing in the data warehouse data related to at least one of a first product lifecycle and a second product lifecycle.

17. The computer-readable storage medium of claim 16, wherein transferring the checked data transfer worklist from the data warehouse is a background process.

18. The computer-readable storage medium of claim 16, wherein the checked data transfer worklist is transferred in an asynchronous transfer mode.

19. The computer-readable storage medium of claim 16, wherein transferring the checked data transfer worklist includes formatting the checked data transfer worklist.

20. The computer-readable storage medium of claim 16, wherein generating the checked data transfer worklist includes adding enriched data to the checked data transfer worklist based on the included data.

21. The computer-readable storage medium of claim 20, wherein adding enriched data includes adding data from one or more external data sources.

22. The computer-readable storage medium of claim 16, further including generating a tree data structure in the price planning workbench based on the data included in the checked data transfer worklist.

23. The computer-readable storage medium of claim 22, wherein the generated tree data structure includes the enriched data.