METHODS AND APPARATUS FOR PROCESSING AND DISTRIBUTING INFORMATION RELATING TO COSTS AND SALES OF PRODUCTS

Abstract: Systems (100) and techniques for receiving, storing and analyzing product cost information are disclosed. Cost information is received from a plurality of customers (106A,106B ,106N) and stored in a data repository (102). Analysis (210) is performed on the cost information to identify cost savings opportunities (212) for customers (106A,106B ,106N). In addition, a system (100) for brokering sales and purchases of goods between customers (106A,106B ,106N)is provided. Analysis (1302) is performed to enable customers (106A,106B ,106N)to identify situations in which a customer (106A,106B ,106N) has access to goods at a favorable price and therefore has an opportunity to sell goods to other customers (106A,106B ,106N) as well as situations in which the customer (106A,106B ,106N) may advantageously purchase goods from other customers (106A,106B ,106N). Sales and purchase offers are received from customers (106A,106B ,106N) and matched according to price and terms (1306). Payment and transfer of goods is arranged between customers (106A,106B ,106N) submitting matching sale and purchase orders.

Description: METHODS AND APPARATUS FOR PROCESSING AND DISTRIBUTING INFORMATION RELATING TO COSTS AND SALES OF PRODUCTS Field of the Invention The present invention relates generally to gathering, analysis and dissemination of information relating to the sale of products. More particularly, .the invention relates to improved methods and apparatus for use by supermarkets and other food retailers for analysis of cost information relating to prices and terms at which wholesale supermarket products may be obtained in order to identify available savings opportunities as well as opportunities for purchase and sale of products at favorable prices and terms. Background of the Invention Steady growth and improvements in the production and distribution of products such as food products, sundries and the like have made available a wide variety of such products available all over the country. Moreover, branding of products has led to a consistency and uniformity among many products, so that a customer may reasonably expect that many products delivered in, for example, Los Angeles, will be identical to products of the same type and brand delivered in, for example, New York. Because of the widely prevailing uniformity among products of the same brand and type, merchants are often indifferent to the geographical location of a source of a branded product, and would be willing to obtain products from anywhere they can be found. However, because of differences in locally prevailing conditions, products may be priced differently in different geographic areas. This pricing differential presents significant opportunities for merchants. If a merchant can obtain a better price from a distant market than from a local market, the merchant can obtain the product from the distant market and take advantage of the lower cost by enjoying an increased profit margin or by offering the product to customers at a lower price, thereby potentially realizing a greater volume of sales. Moreover, if a merchant knows that a manufacturer or distributor is making a lower price available in other areas of the country, he can use this knowledge in negotiations with local representatives of the distributor or manufacturer in order to obtain lower costs or other concessions from the distributor or manufacturer. However, in order to realize a lower cost by obtaining a product from a distant market, a merchant must have a clear knowledge of all costs involved, including costs involved in transportation required to deliver the product from the distant market to the merchant. This is particularly true in the case of food retailers such as supermarkets which carry a wide variety of products of different sizes and prices, and which typically operate on thin profit margins. Control of costs is vitally important for such merchants. In order to obtain the best price and terms for a product, a merchant must have access to information concerning available sources of the product and the terms on which the product is offered. Presently, merchants are typically limited in the ease and speed with which they can gather information. It typically requires labor and therefore expense for a merchant to obtain cost information for a product located in a distant city, and when information can be obtained, it may be difficult to determine how the cost of the product compares to other sources in the city being investigated and in other cities around the country. Moreover, added time and effort must be expended in order to obtain information relating to transportation and other costs which must be considered in order to determine the cost of a product obtained from a distant city and brought to a merchant's location. In order to identify purchase and sale opportunities, it is useful to have a database of cost and product information reflecting net cost of products at different geographical locations. It is also useful to perform statistical analysis on a database of products from different geographic locations, in order to identify opportunities and to provide comparative pricing data for merchants in various locations. However, because of competitive considerations, many merchants are reluctant to furnish detailed price and cost information, because such information may be used by competitors. It is desirable to maintain confidentiality of individual merchant information in order to induce merchants to supply information for a database. Moreover, in order to make full use of the information, it is necessary to perform statistical analysis and other processing in order to extract data items useful to individual merchants. In addition to obtaining information about costs of products, it is also useful for merchants to identify opportunities to buy and sell goods to other merchants, providing advantages both for merchants with excess goods and for merchants seeking lower prices than can be obtained from regular suppliers. Because of the large number of different merchants and the large distances between merchants, it is often difficult to identify opportunities for purchase and sale. In trading of goods between merchants, especially goods such as food and household products of the types typically carried by a supermarket, it is vitally important to manage shipping costs. Supennarkets typically carry products which have relatively low costs per unit weight or volume; therefore shipping costs can be expected to contribute a significant element of expense to the total price of the product. It is also necessary for a merchant such as a supermarket to understand and manage delivery time and time goods spend in transit. A merchant must be able to depend on timely delivery of goods in order to be able to goods to customers as required without a need to carry excessive inventory. In the case of perishable goods, it is necessary for a merchant to choose a supplier close enough to ship goods in time to prevent deterioration in quality with the attendant customer dissatisfaction. There exists, therefore, a need in the art for a system capable of receiving product cost information from a number of geographically separated merchants, maintaining confidentiality for each merchant's information, performing statistical analysis on the database of information in order to provide useful cost information for each merchant, and identifying and providing opportunities for purchase and sale of products between merchants. The present invention also addresses methods of utilizing systems such as those outlined briefly above and discussed in greater detail below, for more effectively matching buyers, sellers and products in today's fast- paced business world. Summary of the Invention A system according to one aspect of the present invention comprises a communication interface between a plurality of merchant customers and a central data repository and processing center. Each customer periodically uploads cost information to the data repository. The cost information describes the customer's costs to obtain products and may describe the customer's actual costs for products which have been purchased and may also include terms on which the customer products are currently being made available to the customer. As each customer uploads the cost information to the data repository, the information is stored in a database and identified by product, using such means as a UPC code which includes manufacturer and product codes, and by the customer supplying the product information. Customer identification is maintained privately and is only released under circumstances agreed to by the customer, such as to other units of the same customer organization. Once the cost infonnation is stored in the database, statistical processing is performed on the cost information to obtain useful data for each customer. The customer interface allows customers to communicate with the database to obtain answers to inquiries. A customer may enter a product identification code and may obtain a variety of cost information about a product, such as costs generally available, with best available price identified, best deal, that is, best discount from the manufacturer's list price identified, results of statistical analysis of the cost data for the product, such as mean, median and mode of costs for the product, and other useful information. The system also analyzes the customer's cost data and compares it with cost data for other customers in order to identify opportunities for trades between customers. For each customer with excess product available, the system calculates delivered costs to all other customers for each product in a transaction between two customers, in order to allow customers to identify purchase opportunities and to understand actual costs to obtain the product. Delivered price of the product is made available upon inquiry by a customer. The system also provides analysis tools for analyzing trading opportunities, and an interface and data storage and processing system for brokering trading between customers. A customer may enter a buy or sell order stating terms on which a purchase or sale is desired to be made. This information is processed by the system, which matches buy and sell orders, arranges for shipment of product, and arranges for payment between buyer and seller. A more complete understanding of the present invention, as well as further features and advantages of the invention, will be apparent from the following Detailed Description and the accompanying drawings. Brief Description of the Drawings Fig. 1 illustrates a cost information and trading system according to the present invention; Fig. 2 illustrates a process of cost information gathering and processing according to the present invention; Fig. 3 illustrates a process of customer login and action selection according to the present invention; Fig. 4A illustrates an exemplary login screen according to the present invention; Fig. 4B illustrates an exemplary initial selection screen according to the present invention; Fig. 5 illustrates a process of information selection and retrieval according to the present invention; Fig. 6 A illustrates an exemplary form employed in the process of Fig. 5; Fig. 6B illustrates an additional exemplary form employed in the process of Fig. 5; Fig. 6C illustrates an additional exemplary form employed in the process of Fig. 5; Fig. 6D illustrates an additional exemplary form employed in the process of Fig. 5; Fig. 7 illustrates a method of sale brokerage according to the present invention; r 5 Fig. 8 A illustrates an exemplary form employed in the process of Fig. 7; Fig. 8B illustrates an additional exemplary form employed in the process of Fig. 7; Fig. 9 illustrates a process of sale offer analysis according to the present invention; Fig. 10A illustrates an exemplary form employed in the process of Fig. 9; Fig. 10B illustrates an additional exemplary form employed in the process of Fig. 9; Fig. 11 illustrates a process of purchase offer brokerage according to the present invention; Fig. 12A illustrates an exemplary form employed in the process of Fig. 11; Fig. 12B illustrates an additional exemplary form employed in the process of Fig. 11; Fig. 12C illustrates an additional exemplary form employed in the process of Fig. 11 ; Fig. 12D illustrates an additional exemplary form employed in the process of Fig. 11; Fig. 13 illustrates a process of purchase and sale order matching according to the present invention; Fig. 14 illustrates a process of reporting product and pricing availability according to the present invention; Fig. 15 illustrates an exemplary form employed in the process of Fig. 14; and Fig. 16 illustrates a process of load building and shipment according to the present invention. Detailed Description Fig. 1 illustrates a cost information and goods trading system 100 according to the present invention. The system 100 includes a central data repository 102 receiving data through a customer interface 104 accessible by a plurality of customer stations 106 A. . .N. Communication between the customer interface 104 and the customer stations 106A. . . 106N may suitably be accomplished through the Internet or any other desired communication channel. Each customer station 106 A. . .N periodically provides cost information to the data repository 102 at periodic intervals, with the period typically ranging from daily to weekly based on customer preferences. The cost information provided by the customer may suitably be provided by creating a file in a predetemiined format, containing the cost information, and uploading the file to the data repository 102. Information may typically include a universal product code for the product and/or a customer product code, that is, a code defined by the customer for the product and used in customer operations to identify the product. Other information may include case weight of each unit quantity of the product, volume of each unit quantity, stock on hand, stock on order, list price, discounts and timing of discounts. Timing of discounts is typically the start and end date of availability of a specified discount from list price made available to the customer. Also included is information relating to any limit on quantity imposed on a particular discount. For example, a customer's vendor may limit the number of units for which a specified discount is available. The cost information may describe transactions already completed or transactions available. For transactions already completed, the cost information includes product identification such as a UPC code, price paid and quantity purchased. For transactions which are available, the cost information includes product identification, price available and quantity available. If different prices are available depending on quantity, for example if a volume discount is given or on the other hand if a higher price must be paid in order to obtain additional quantities, the cost information identifies the price associated with each quantity. The data repository 102 stores the information in a customer database 108. The data repository also includes a customer exclusion file, established at the time of the customer's initial registration with the system 100 and updated periodically thereafter. The customer exclusion file establishes parameters for the customer's sharing of information and trading of goods. For example, a customer may not wish to sell goods to or purchase goods from local competitors. Therefore, a customer may specify that sales or purchases may be made only to or from customers beyond a certain minimum geographic distance. This information is placed in a customer exclusion file associated with the customer and limits sales or purchase offers entered by the customer from being made available to customers within the specified distance. The parameters of the customer exclusion file may also include any of a number of different limitations, such as a list of specified customers with which trading is not to be allowed, a list of categories of customers with whom trading is allowed, or a list of conditions for trading. For example, the customer exclusion file may include specifications relating to timeliness of delivery. These may include instructions to limit trades only to those customers who are able to guarantee delivery to within a specified time window, or to customers who are able to engage in a category of delivery making it more likely that delivery may be made within a desired time. An example of variations in delivery parameters may occur in a case of a diverter, that is, a merchant who is able to receive a favorable price from a manufacturer and chooses to take advantage of the favorable -price by selling to other merchants. A diverter may enter into an agreement to sell a product from another merchant. In such a case, the diverter may have the product in inventory or alternatively may plan to order the product from the manufacturer. If the diverter has the product in inventory, he will be able to deliver the product to the buying merchant in short order. If the diverter orders the product from the manufacturer, he may have to wait until the product is produced by the manufacturer and shipped to the diverter. The diverter can then deliver the product to the buying merchant. Alternatively, the diverter may pick up the product from the manufacturer and can then deliver it more promptly to the buying merchant. Thus, in cases of purchases from a diverter, a customer may specify whether he wishes to limit purchases to products already in stock or to products which the diverter will pick up from the merchant. Such a specification increases timeliness and reliability of on-time delivery, but limits the range of purchases which may be available. Whenever information is uploaded to the database 108, a processing center 110 performs analysis on the information in the database 108. The processing center 110 performs statistical analysis on each product for which information is provided, to calculate mean, median, mode, variance and other useful data. The processing center 110 also identifies each customer's cost information and compares it against that of other customers in order to identify purchase or sales opportunities for the customer. The processing center 110 has access to a shipping database 112 of shipping information which can be used to compute shipping costs and delivery times for products in the database 108. For each customer, the processing center 110 retrieves the net cost of each product in the database, employs the shipping information database 112 to calculate shipping costs to that customer and stores a delivered cost for the product as well as a delivery time required to deliver the product to that customer. Each of the customer stations 106 A. . .106N may communicate with the processor 110 through the interface 104 to retrieve cost and delivery information for each of the various products. The processing center 110 also operates to broker offers for sale and purchase transactions between customers. For example, the customer station 106 A may be used to communicate a sale offer to the processing center 110. The sale offer preferably includes quantity available, sales price to be received and time duration of the offer. The processing center 110 places the details of the sale offer, including customer identity and sales terms, in a transaction database 114. Each of the customer stations 106A. . .N may communicate with the processor 110 to request information about available sales offers. For example, the customer station 106C may request sales offer information for a designated product. The processing center 110 retrieves sales offer information from the transaction database 114. The processing center 110 also retrieves shipping cost information and delivery information from the shipping information database 112 to identify delivered prices and possible delivery dates to the customer. The processing center 110 then transfers the requested information to the customer station 106C. The identity of the entity making the offer is concealed in order to preserve customer confidentiality. The user of the station 106C may select an offer, enter desired purchase quantity and enter the transaction. The processing center 110 provides final details of the transaction to the customer station 106C, for example a mode of shipment shipping date and specific delivery date. The processing center 110 updates the account of the customer operating the station 106 A and handles funds transfer between customers. As another example, the customer station 106D may be used to communicate a purchase offer to the processing center 110. The purchase offer preferably includes quantity desired, delivered price to be paid and time duration of the offer. The processing center 110 retrieves freight costs and uses the freight costs in order to compute the seller's offer price required to yield the desired delivered price. For example, if the delivered price desired is $14.00 per unit quantity and freight charges are $2.00 per unit quantity, the seller's offer price needed to yield the desired delivered price would be $12.00 per unit quantity. The processing center 110 calculates freight to each of the different customer using the system 100, so that the offer price seen by each of the customers may vary according to the freight costs for shipping from each. The processing center 110 places the details of the purchase offer, including customer identity and purchase terms, in the transaction database 114. Each of the customer stations 106 A. . .N may communicate with the processing center 110 to request information about available purchase offers. For example, the customer station 106F may request purchase offer information for a designated product. The processing center 110 retrieves purchase offer information from the transaction database 114 and transfers the requested information to the customer station 106F. The identity of the entity making the offer is concealed in order to preserve customer confidentiality. The user of the station 106C may select an offer, enter desired purchase quantity and enter the transaction. The processing center 110 provides final details of the transaction to the customer station 106D, for example freight charges and delivered price. The processing center 110 updates the accounts of the customers operating the station 106D and 106F and handles funds transfer between customers. Fig. 2 illustrates a process 200 of cost information gathering and processing according to the present invention. The process 200 may suitably be employed by a cost information and trading system such as the system 100 of Fig. 1. At step 202, cost information is received from each of a plurality of customers. The cost information preferably reflects each transaction for a product. For example, a customer may periodically submit cost information describing each transaction occurring during the period. This information may include list price, price paid, quantity discounts received, shipping costs, time required for delivery and other useful information. It may alternatively be possible for the customer to submit the cost information after each transaction. At step 204, cost information for each product is stored in a database. For each product, the cost information may suitably include product identification, customer identification, list price, price paid, discounts received, origin location such as a factory or manufacturer or broker warehouse, customer location and shipping costs. Analysis is periodically performed on the cost information. At step 206, cost information for each product is sorted by price paid, and mean, median and mode list prices and net prices are computed and stored with each product. At step 208, shipping cost information is retrieved and processed to compute delivered prices to each customer for each product. At step 210, analysis is performed on the cost information and shipping cost information in order to identify opportunities for each customer. The existing opportunities may, for example, include the opportunity to purchase products from another customer at a lower cost than that available from a manufacturer or distributor. Alternatively, an opportunity may exist to take advantage of a low price from a manufacturer or distributor and purchase products for sale to other customers. Further analysis may be performed in order to assist customers in managing their products and transactions. For example, forward buying opportunities may exist for a particular customer. Forward buying is the practice of responding to a favorable price by purchasing amounts of a product in excess of one's typical requirements. Factors in analysis of a forward buying opportunity include costs to ship and store the product, amount of savings to be realized, perishability of the product, amount of time needed to sell a particular quantity of the product, and opportunities to divert the product. Forward buying opportunities may be identified by comparing the price available to the customer against other prices available to other customers and comparing any savings realized against costs of purchasing extra product. At step 212, analysis and display of cost information is performed in response to customer queries. Fig. 3 illustrates a method of connection and activity selection 300 for a cost information and trading system according to the present invention. At step 302, a connection is established between customer and an information repository containing cost information and trading information which has been collected from customers, processed and stored. Connection may be accomplished using a customer computer communicating with the information repository through a communications medium such as the Internet or other desired communications medium. At step 304, a login form is presented to the customer. At step 306, the information repository receives login information from the customer. Login information may suitably comprise a customer identification code and a password. At step 308, the login information is evaluated for acceptance and rejection by the information repository. Evaluation may suitably comprise comparison against stored login information. If the login information does not pass the evaluation, the process proceeds to step 390 and the connection is broken. If the login information passes the evaluation, the process proceeds to step 310. At step 310, an initial selection form is presented to the customer, allowing the customer to select from options including cost information retrieval, trade analysis, or online trading. At step 312, upon selection of an option by a customer, a subsequent form is presented allowing further choices and selections by the customer. Fig. 4A illustrates an exemplary login form 400 according to the present invention. The form 400 includes fields 402 and 404 for a customer username and password. j Fig. 4B illustrates an exemplary initial selection form 450 presented upon a successful login using the form 400 of Fig. 4A. The form 450 includes tabs 452-470 for selection of classes of activities. As shown here, the initial configuration is presented, with tab 452 being selected, resulting in a display of buttons 472-478 presenting various choices available in information retrieval. Selection of one of the buttons 472-478 results in display of an information screen as called for by the selection, with opportunities for filling in information such as screening criteria, and selection of subsequent actions. Selection of another of the tabs 452-470 results in presentation of an alternative screen presenting alternative choices. Fig. 5 illustrates a process of information retrieval 500 according to the present invention. The process 500 is invoked in response to a corresponding selection by the customer from the form presented at step 312 of the process illustrated in Fig. 3. At step 502, an initial information retrieval selection form is presented to the customer. The selection form may suitably be an .html form or Java applet transmitted to the customer's computer for display using an Internet browser. The customer is given a choice of information to be retrieved, such as summarized information reflecting averaged costs for all customers providing information about a product, or detailed information reflecting each customer's cost for the product. Alternatively, a customer may choose to receive information for a category of products, such as all Kraft products. At step 504, the customer choice is examined to determine what action is to be taken. If the customer has chosen to receive summarized information, the process proceeds to step 506 and the customer is given the opportunity to enter an identification code for a product about which information is desired. Upon entry of a product identification code, the process proceeds to step 508 and information is presented to the customer about the product whose identification has been entered. This information may include best list price, best net price, and mean, median and mode net prices, as well as the number of customers entering information about the product. The information may also include the price and terms available to the customer making the inquiry, in order to allow the customer to determine whether his or her own price compares favorably to the price available to other customers. If the customer has chosen to receive detailed information about a product, the process proceeds to step 510 and the customer is given the opportunity to enter an identification code for a product about which information is desired. Upon entry of a product identification code, the process proceeds to step 512 and pertinent information about costs for each customer receiving a discount from list price for the product is presented. This information may include list price, net price, discount from list, percentage discount from list and start and end dates for the period for which the specified price is available. The customer is given an opportunity to select which mformation is to be viewed. Alternatively, the customer may select to receive cost information for all customers providing information or may select to receive information for other merchants in the same organization. A large customer with multiple divisions or locations may elect to receive information for all other divisions or locations of the customer. If a customer has chosen to receive information for a category of products, such as all products from a specified manufacturer, the process proceeds to step 514 and a list of all products in the category is presented, with information given for each product, such as list price, net cost, and beginning and end dates for product availability under specified terms. Additional information is also made available, including mean, median and mode net price and the number of customers submitting information for each product in the category. Fig. 6A shows an exemplary form 600 used for information retrieval and display, and suitably employed in the process 500 described in Fig. 6. The form 600 displays averaged information about a product for which information is desired. The form 600 displayed here is in the form of an .html form, web page, Java applet or similar software construct made accessible by a web browser. The form 600 includes fields 602A and 602B for entry of a product UPC. The form 600 also allows entry of an alternative product code by providing fields for a customer number 604 and item code 606. The form 600 also includes command buttons such as the enter button 606. Upon entry of a product identification such as a UPC by entering information into the fields 602A and 602B and clicking on the enter button 606, the form 600 displays relevant information about the product. This information includes the product code 608, product description 610, best net list price 612, best net net price 614, and customer pricing statistics including mean net price 616, mode net price 617, median net price 618 and the number of customers providing information about the product, in this case 76. Fig. 6B illustrates a form 620 used to display individual customer cost information for a desired product. The form 620 includes universal product code entry fields 622A and 622B, as well as fields 624 and 626 for entering a customer and item code. Also included are option selector buttons 628, 630 and 632 for choosing various display options. The form 620 includes a display field 634, here shown to be displaying customer cost information for the desired product for those customers reporting discounts from list. By selecting various options, it is also possible to choose other information displays, such as all customers reporting information about the product with the list price, all customers in a particular group, such as Albertson's and its affiliates, reporting discount price information, and price statistics. Fig. 6C illustrates a form 635, displaying cost information for all items from a selected vendor. The vendor may be identified by entering the first 5 digits of a product UPC into the supplier ID space 636, and choosing the desired set of statistics 637. Displayed here are item numbers, item descriptions and best list price and net price, and starting and ending dates for deals on the products. Fig. 6D illustrates the form 635 with a new set of statistics 638 displayed. The statistics include mean net price, mode net price and median net price for each product listed, as well as the number of customers reporting data on each product. A system according to the present invention also facilitates the trading of goods between customers, providing customers with opportunities to list products they wish to buy or sell along with the terms on which they wish the purchase or sale to be conducted. The system includes analytical tools which facilitate diversion of goods, if desired. Diversion of goods occurs when a diverting merchant can obtain a favorable price from a manufacturer and then chooses to sell a portion of the goods to other merchants who are unable to obtain the same price and terms as can the diverting merchant. The diverting merchant is able to purchase goods from the manufacturer and sell them at a profit, and the other merchants are able to obtain the goods at a lower price, or on other more favorable terms, than are available from the manufacturer or supplier. Fig. 7 illustrates a process of trade brokerage 700 according to the present invention. At step 702, a customer establishes a connection to an infonnation repository containing cost information relating to the price and terms of his own purchases or potential purchases of goods. At step 704, the cost information is displayed. At step 706, the customer is given the opportunity to submit filtering and sorting information to control the information to be displayed and the order in which information is displayed. For example, the customer is given the opportunity to enter the deal depth of a product, that is, the discount below list price for which a customer is able to obtain the product. At step 708, the display is modified in response to the customer's entries. For example, when a customer enters a deal depth, for example 20%, a list of products is displayed with UPC, customer item number, description, quantity, list price, estimated or recommended selling price, deal amount and deal percentage. At step 710, the customer is given the opportunity to enter a sale. If the customer chooses to enter a sale for a listed product, he or she simply selects the product from the list and the process proceeds to step 712. At step 712, in response to the customer's selection, a form is presented which includes the identity of the customer, the product to be offered for sale and which allows the customer to enter terms and other information about the desired sale. Terms may include quantity and selling price. Other information is presented for verification from information previously entered by the customer. This information may include starting and ending dates for which the product is to be available, weight, volume in cubic feet, pallet quantities and truckload quantities, and other information. This information may be corrected or modified by the customer. At step 714, shipping cost and delivery information is analyzed and the cost of delivery to each customer is computed, as well as the time required for delivery to each customer. The process then proceeds to step 716 and the sale offer information and shipping cost information is entered into a sale offer database accessible to customers wishing to make purchases. Returning now to step 710, if the customer wishes to offer for sale a product which is not listed, the customer makes an appropriate selection and the process proceeds to step 718 in response to the selection. At step 718, a form is presented to the customer allowing the customer to enter product information such as an item code, terms on which the customer wishes to offer the product for sale, and other information describing the product. The process then proceeds to step 714. Fig. 8A illustrates an exemplary form 800 used to analyze a customer's products in evaluating or planning a sale offer using the process of Fig. 700. The form 800 is shown here displaying deal information 802 for the inquiring customer. The term "deal" as used here means a discount from list price offered to the merchant by the manufacturer or supplier. The deal information 802 is shown here sorted by a deal depth of 20%. Deal depth is the difference between list price and net price being paid to the vendor. For example, a deal depth of 20% is typically required in order to sell excess product to other customers, because this deal depth allows the selling customer to offer a sufficiently attractive price to a buying customer while still being able to realize enough from the sale to earn a profit. In the example shown here, the USF Assorted Bars has a list price of $57.60, but is available for a net price of $46.08 to the customer making the inquiry. There is a difference between net price and list price, or deal depth, of $11.52, which is 20% of list price. This deal depth allows the customer to offer excess product to other customers at a price which will prove attractive to the buying customers but will yield an acceptable profit to the selling customer. Although a deal depth of 20% is shown here, any desired deal depth may be entered using the deal depth field 804. The deal depth percentage option is selected by clicking on the Starting % Deal button 806. Other sorting or viewing options are available and can be executed by clicking the Starting $ Deal 808, the Total Weeks on Hand button 810 or the Niew Top Traded Items button 812. Sorting options may include percentage discount from list, or dollar discount from list, in order to sort product according to a descending discount level. Alternatively, a customer may wish to sort products according to the number of weeks' supply of the product is on hand, with the idea being to examine the possibility of selling products for which a large inventory exists. The customer may also wish to view those items which are most frequently traded. If a customer wishes to prepare a sale offer for a product, he selects the product. Alternatively, if a customer wishes to offer a product for sale which is not present in the deal information 802, the customer clicks the button 814 to enter a sale offer. Fig. 8B illustrates an exemplary form 816 used to enter information for a sale offer. The form 816 illustrated here contains information resulting from selecting a product from the list illustrated in Fig. 8 A. The form 816 includes field 818 for sale quantity and field 820 for price desired, as well as fields for displaying or entering other relevant information, such as a field 822 for the net price available to the customer or the field 824 for the manufacturer's list price. Other fields display or provide for entry of dates of availability of a product, or characteristics of the product such as volume and weight. Also present is a location selection area 826, allowing the customer to designate the location of the products being offered for sale. The customer may verify the sale information by clicking the "check data" button 827 and then when satisfied that the information is correct, may click the "submit sell" button 828 to submit the sale offer. If the customer wishes to abort the sale, the customer clicks the "clear/new" button 830. If a customer has chosen to enter a sale offer for a product which is not on the list illustrated in Fig. 8 A, a form similar to the form 816 is presented, with the difference being that the product code must also be entered by the customer. Once this is done, information which is characteristic of the product, such as weight and volume, are already filled in with default values, and the customer is allowed to modify these values if desired, to enter quantity for sale, price desired and other information and submit the product for sale. Fig. 9 illustrates a process of trade analysis 900 according to the present invention. At step 902, a connection is established between a customer and a data repository containing cost information relating to goods purchased by or offered to the customer making the connection as well as other customers authorized to make connections to the data repository. At step 904, the customer is given the opportunity to select information to review, including trade and cost history of a product, most frequently traded products, or the customer's own trading history. If the customer chooses to review trade and cost history of a product, the process proceeds to step 906 and a fonn is presented to allow the customer to enter a product identification such as a universal product code. At step 908, in response to the customer's entry of a product identification, the customer is provided with pricing information for the product. Returning now to step 904, if the customer selects to review the most frequently traded products, the process proceeds to step 910 and a list of products is presented along with information about each product, including universal product code, product description, average list price and average selling price in transactions for the product. Returning now to step 904, if the customer selects to review the customer's own trading history, the process proceeds to step 912 and a list of the customer's transactions is retrieved from customer trading history information stored in the customer database, and presented to the customer. Information is presented for each product including purchase price, quantity bought or sold, delivery date and source or destination. The customer trade information reflects details of each executed sale or purchase in which the customer participated. Sale or purchase information is entered into the customer database during the process of sale offer and purchase order matching described below in connection with Fig. 13. Fig. 10A illustrates an exemplary form 1000 which may be used in the operation of the process 900 of Fig. 9. The form 1000 displays information relating to previous sales of a product in order to assist the customer in identifying an appropriate sale price for offering the product. The fonn 1000 allows entry of a product identification using a universal product code in the fields 1002 A and 1002B, or alternatively a customer identification in the field 1004 and a product identification in the field 1006. Once the product identification is entered, the form 1000 displays the product code 808 and description 1010, together with a list 1012 of transaction information for trading of the product. The list 1012 includes a trade date and sale price for each transaction. The customer may examine the transaction information to determine an acceptable price for a sale offer. Fig. 10B illustrates an exemplary form 1014, containing a display 1016 of information for the most popular traded products. The display 1016 includes a product code and description for each product, as well as the average list price and selling price for each product traded. This information allows the customer to identify a price for which a product on the display 1016 may readily be sold. Fig. 11 illustrates a process of purchase brokerage 1100 according to the present invention. At step 1101, a connection is established between a customer and an information repository storing sale offer and purchase order information received from the customer making the connection and other customers having access to the information repository. At step 1102, a customer is given an opportunity to review sale offer information, either by entering a product identification or by choosing to examine a list of products. If the customer chooses to enter a product identification, the process proceeds to step 1104 and the customer is allowed to enter a product identification such as a product code. At step 1106, in response to the customer's entry of the product code, a sale information database is examined to determine if the product is listed in the database. If the product is listed in the database, the process proceeds to step 1108 and sale offer information for the product is retrieved from the database. At the same time, information relating to the customer's purchase opportunities for the product is displayed. The purchase opportunity information includes price and terms on which the customer is able to obtain the product from a manufacturer or distributor. The sale offer information includes information for each sale offer of the product, including the price at which the product is offered for sale, quantity available, and start and ending dates of availability. At the same time, shipping information is retrieved from a shipping database. The shipping information and offering price are processed to compute a delivered price for the customer submitting the entry. At step 1110, the delivered price and other terms and descriptive information are displayed and the customer is given an opportunity to select a sale offer in order to enter an order to purchase the product. Upon the customer's selection of a product, the process proceeds to step 1112 and a form is presented listing offer terms and other information, with space for the customer to make entries. Information displayed may product code, product description, weight, volume, and quantity per shipping unit, such as quantity per truckload. The delivered price to the customer is also displayed. The customer is given the opportunity to enter the quantity desired, and also to alter the delivered price as desired. This may be done by entering an adjustment value into an appropriate field. After the customer has entered the desired information, and in response to a submission instruction from the customer, the process proceeds to step 1114 and the purchase offer is submitted for storage to a database for matching with a sale offer. Further details of the process of matching purchase and sale offers are provided below in connection with the discussion of Fig. " 13 below. Returning to step 1106, if the product does not appear in the database, the process proceeds to step 1116 and the customer is given the opportunity to enter a purchase offer in the absence of a sale offer. Upon the customer's selection to enter a purchase offer in the absence of a sale offer, the process proceeds to step 1118 and the customer is presented with a form allowing entry of product code and information and desired purchase terms. Upon the customer's completion and submission of the form, the process proceeds to step 1120 and the purchase offer is submitted for matching with a sale offer. Alternatively, a customer may choose to review all sale offers, either in total or screened according to criteria specified by the customer. It should be noted that sale offers entered by sellers who have restricted the customer from viewing their information will not be made available to the customer. In response to a customer's instruction to review all sale offers, the process proceeds to step 1122 and a form is presented displaying all items, preferably in scrollable or other selectively viewable format, along with opportunities to enter various screening criteria. Screening criteria may include a particular vendor, such as Heinz, new sale offers entered since a date and time provided by the customer, products which will yield a desired savings over the customer's present costs, or products for which the customer has no more than a specified level of inventory. Upon submission of a screening criterion by the customer, the process proceeds to step 1124 and cost information for the customer is retrieved and analyzed and compared against information for the list of products. The list of products displayed is reduced to those meeting the submitted criteria. If the customer wishes to enter a buy order, the customer selects a product desired. Upon the selection by the customer, the process returns to step 1110. Fig. 12A illustrates a form 1000 for use in entering a purchase order following the process of Fig. 11. The form 1200 includes entry fields 1202A and 1202B for entry of a UPC, or alternatively fields 1204 and 1206 for entry of a customer identification and customer product number. Fig. 12B illustrates a form 1208 displaying a list of available sale offers retrieved by the use of the form 1200. The form 1208 illustrates the customer identification 1210, universal product code 1212 and product description 1214, with other relevant information about the product. The form 1208 also lists a summary 1216 of the customer's present cost information. A display 1218 showing available sale offers is illustrated. For each sale offer, start and ending dates, delivered price, quantity, and savings for the customer are listed. The customer may select one of the sale offers for entry of a purchase order by double clicking the desired sale order. If the list 1218 contains no sale orders for the product desired, the customer may click the button 1220 in order to enter a purchase order in the absence of a corresponding sale offer. Fig. 12C illustrates a form 1222 for entry of a purchase order. The form 1222 is shown here as resulting from selection of a product from the form 1216 of Fig. 12B. The form 1222 includes buying customer identification 1224, product description 1226 and product UPC code 1228. The form 1222 also lists the delivered price 1230 which would result from the sales offer and provides a field 1232 for entry of quantity desired as well as a price modification field 1234 to allow the customer to enter a modification to the delivered price in order to make an offer at a price other than the sale offer price. The form 1222 also includes other relevant information about the product, including terms on which the buying customer is able to obtain the product from a manufacturer or distributor. This information includes the net price 1236, the list price 1238 and the beginning date 1240 and ending date 1242 for the available terms. In the form 1222 of Fig. 12C, it can be seen that the customer's available price for the product is $38.51, which does not represent any discount from the list price of $38.51. The delivered price to the customer at the offered sale price 1030 would be $31.30, a substantial savings over the price available from the manufacturer or distributor. The form 1222 also includes buttons 1244-1250 for execution of commands. If the form 1222 is displayed in response to a customer's selection to enter a buy order in the absence of a sale offer, the form 1222 will not include the product code, description or delivered price, but instead will include fields for entry of a product code and desired purchase price. Fig. 12D illustrates a form 1251 displaying a comprehensive list 1252 of available products. The form 1250 allows entry of parameters for screening the displayed products so as to limit products displayed to those of interest to the customer. The form 1250 includes fields 1254 for entry of a vendor identification to limit products to those of a particular vendor, fields 1256A and 1256B to allow searching for a specific product by entering a UPC, fields 1258 and 1260 to limit products to those which will yield a desired percentage or dollar savings, respectively, field 1262 to limit products to those for which the customer has no more than a specified number of weeks of inventory, and field 1264 to limit products to those for which a customer sells a specified amount per week. The form 1250 also includes fields 1266 and 1268 to allow restriction of products displayed to new products entered after a specified date and time. If a customer wishes to enter a purchase order for a listed product, he or she simply double clicks on the product entry and a form similar to the form 1222 of Fig. 12C will appear. Fig. 13 illustrates a process of sale offer and purchase order matching 1300 according to the present invention. The process 1300 operates to match sale offers entered by customers using the process of sale brokerage 800 of Fig. 8 with purchase orders entered by customers using the process of purchase brokerage 1100 of Fig. 11. At step 1302, each purchase order and sale offer in a transaction database is examined. At step 1304, each sale and purchase order for a product is allocated to a pool of orders. At step 1306, the sale offers and purchase orders are matched by terms such as price, delivery time and quantity. In order to match sale offers and purchase orders, cost of delivery is computed in order to determine whether a delivered price which a buyer desires to pay will yield a price which the seller wishes to receive. At step 1308, orders having matching terms are filled according to a priority system employed to determine which purchase and sale orders are to be satisfied if insufficient sales orders are present to satisfy all purchase orders stating the same price and terms, or vice versa. Priority may be based, for example on entry time of order, with earlier orders being assigned a higher priority. At step 1310, each customer whose order is successfully matched is notified of the transaction details. At the same time, details of the transaction are added to the customer information database for each buyer customer whose order is successfully matched. At step 1312, shipping arrangements are made for product delivery. This may suitably be done using the process illustrated in Fig. 16 below. At step 1314, payment is arranged between buyer and seller. This is preferably done through an escrow arrangement, with payment being made to a trusted intermediary who authorizes shipment upon receipt of the funds and makes payment after delivery is confirmed. At step 1316, each customer entering an order for which no matching order could be found is notified that the order failed to fill, and informed of the best terms available. It is also possible for a system according to the present invention to obtain access to cost information and to facilitate trading of products made available from a variety of sources, and to make information available to customers based on parameters established by the customers. Fig. 14 illustrates a process of reporting pricing and product availability 1400 according to the present invention. At step 1402, data related to availability of goods is periodically received and stored in an available goods database. At step 1404, in response to a customer inquiry, the data in the available goods database is examined against the customer's needs based on customer screening criteria and cost information previously provided by the customer and stored in a customer database. The screening criteria may include products that will yield a desired savings over the customer's present costs, customer inventory on hand and the like. Determination of customer needs may be based on historical customer requirements and costs for particular products. At step 1406, data meeting customer needs is presented to the customer. In addition, a suggested quantity to be purchased is presented, based on the customer needs. At step 1408, the customer is given the opportunity to enter additional screening criteria such as a specific product identification the data presented is further limited in accordance with any entered criteria. At step 1410, in response to a customer selection, the customer is given the opportunity to place an order for a selected product. At step 1412, if the customer places an order, purchase information is entered and a transaction completed in a manner similar to that described above. Fig. 15 illustrates a display 1500 according to the present invention. The display 1500 includes a product list 1502 showing products meeting customer criteria, with relevant information displayed about each product presented. Also shown is a suggested purchase quantity for each product, based on analysis of customer needs. The display also shows screening criteria 1504 used to identify products. These criteria include savings generated, cash discount available, maximum weeks of product already in customer inventory and days of continued availability of the prices presented. Also presented are UPC fields 1506A and 1506B, allowing isolation of specific products by UPC, or alternatively buyer code field 1508, allowing isolation of products by the buyer's own product code. Action buttons 1510 and 1512 are also presented. The button 1510 provides sorting of products by buyer product code and the button 1512 allows entry of a purchase order for highlighted products. Fig. 16 illustrates a process 1600 for organizing and consolidating shipments according to the present invention. At step 1602, a set of matching purchase and sale orders which have been matched for order fulfillment is examined and shipping information is extracted. At step 1604, the shipping information is reviewed in order to build optimum loads based on origin, destination, nature of goods to be shipped, and quantity of goods per shipment. At step 1606, a load is built for each shipment comprising a truckload quantity of goods and load instructions are prepared. Load instructions include origin, goods to be shipped, pickup time, destination and delivery time. At step 1608, for each load a determination is made as to how the carrier for the load is to be selected. Possible methods of selection include single sourcing, competitive bidding, or release against an existing carrier contract. At step 1610, carrier selection for each load is accomplished, preferably within 24 hours after building the load. At step 1612, load instructions are generated for the carrier selected for each load and issued to the carrier. At step 1614, each load is tracked to delivery. At step 1616, shipments comprising a less than truckload quantity of goods are examined in order to determine optimum shipping arrangements. In determining shipping arrangements, multiple origin and destination points are selected, taking into account efficient routing, time of pickup and delivery, delivery scheduling and the possibility of consolidation. Consolidation is the bringing of multiple incoming shipments into a central transfer point such as a warehouse, for transfer to outgoing shipments. At step 1618, less than truckload shipments are organized into loads. At step 1620, for each load a determination is made as to how the carrier for the load is to be selected. Possible methods of selection include single sourcing, competitive bidding, or release against an existing carrier contract. At step 1622, carrier selection for each load is accomplished, preferably within 24 hours after building the load. At step 1624, load instructions are generated for the carrier selected for the load and issued to the carrier. At step 1626, each shipment is tracked to delivery. While the present invention is disclosed in the context of a presently preferred embodiment, it will be recognized that a wide variety of implementations may be employed by persons of ordinary skill in the art consistent with the above discussion and the claims which follow below. For example, the invention may be practiced through the use of different forms, fields, product identifying codes or screening criteria than those illustrated here.

Claims: We claim: 1. A cost infonnation storage and processing system, comprising: a customer input interface for receiving customer cost information submitted by a plurality of transmitting customers; a data repository for storing the cost information; a processing center for analyzing the cost information in order to identify cost saving opportunities for receiving customers; and a customer output interface for supplying cost information and analysis results to receiving customers. 2. The system of claim 1 wherein the processing center is operative to identify cost differences between prices and terms for goods purchases available to a receiving customer against prices and terms stored in the data repository. 3. The system of claim 2 wherein the processing center is operative to analyze shipping cost information in order to identify delivered prices for goods at a location of each receiving customer. 4. The system of claim 3 wherein the processing center is operative to compute summarized information for each product. 5. The system of claim 4 wherein the customer input interface is also operative to receive customer exclusion information from each transmitting customer, the customer exclusion information defining criteria for allowing receiving customers to view information submitted by the transmitting customer. 6. The system of claim 5 wherein the customer output interface is operative to allow a receiving customer specify a category of products for which cost information is desired and wherein the processing center assembles cost information for the category of products and makes the information available for viewing through the customer output interface. 7. A method of cost information storage and processing, comprising the steps of: receiving cost information from each of a plurality of customers; storing the cost information; receiving customer queries from a customer; analyzing the cost information to identify cost savings opportunities for the customer; and providing cost information and analysis results in response to the customer queries. 8. The method of claim 7 wherein the step of analyzing the cost information includes retrieving shipping information and using the shipping information to compute a delivered price to the customer 9. The method of claim 8 wherein the step of receiving customer queries includes receiving a product identification identifying a specific product for which information is desired. 10. The method of claim 9 wherein the step of analyzing the cost information includes computing cost information relating to the identified product and wherein the step of providing cost information and analysis results includes providing the cost information to the customer. 11. The method of claim 10 wherein the step of analyzing the cost information includes computing mean, median and mode prices for the product. 12. The method of claim 10 wherein the step of analyzing the cost information includes identifying a lowest net cost for the identified product. 13. The method of claim 10 wherein the step of analyzing the cost information includes analyzing a price available to the customer for the identified product in light of the customer's typical product requirements and the customer's acquisition and storage costs of a product to identify a desirable quantity of the product to be purchased. 14. The method of claim 9 wherein the step of receiving customer queries includes receiving filtering criteria and wherein the step of providing cost information and analysis results includes providing only information meeting the filtering criteria. 15. The method of claim 14 wherein the filtering criteria includes timing requirements for delivery. 16. A method of transaction brokerage, comprising the steps of: receiving sale offer information for a product from a selling customer, the sale offer information including a desired sale price; computing a delivered price for each of a plurality of buying customers, the delivered price being computed based on the desired sale price and stored shipping information, the shipping information including costs for shipping the product from the selling customer to each of the plurality of buying customers; receiving purchase orders from one or more of the plurality of buying customers; matching the purchase orders against the sale offer; if no purchase orders match the sale offer, notifying buyers and seller that a match failed to occur and giving buyers and seller an opportunity to modify sale offer or purchase order terms; if matches are achieved and insufficient quantities are available to fill all purchase orders, allocating quantities to purchase orders according to predetermined criteria; and for all purchase orders to which quantities are allocated from the sale offer, notifying the buyers and sellers that the purchase orders and sale orders matched and of the quantities allocated, arranging shipment from seller to buyers and arranging transfer of funds from buyers to seller. 17. The method of claim 16 wherein transfer of funds is arranged by payment of funds to a trusted intermediary, authorizing shipment upon notification that the intermediary has received the funds, and authorizing release of the funds to the seller upon notification from the buyer that delivery has occurred. 18. The method of claim 17 wherein the step of receiving sale offer information is preceded by a step of providing previous transaction information to the seller in order to assist the seller in detenmning an appropriate sale offer price. 19. The method of claim 18 wherein the step of receiving purchase orders is preceded by a step of allowing each of a plurality of buying customers to review all available sale offers and wherein the step of allowing the buying customers to review the sale offers also includes allowing each buying customer to enter screening criteria to display only sale offers meeting the screening criteria. 20. The method of claim 19 wherein the step of arranging shipment includes extracting shipping information from all matching sale offers and purchase orders in order to identify shipments, building optimum loads comprising each shipment, selecting a carrier for each load, generating carrier instructions for each load and tracking each shipment to delivery. 21. The method of claim 20 wherein the step of building optimum loads includes a step of analyzing each shipment comprising a less than truckload shipment, identifying origin and destination points of each less than truckload shipment to determine optimum routing of the shipment, and organizing the less than truckload shipments into truckloads.

Inventors: EAKIN JEFFRY LYNN, HOWE CHRISTOPHER HUYETTE, LIPOVICH JOSEPH ERIC, MACKENZIE MARK WESLEY, PLATT MICHAEL JAMES, EAKIN, JEFFRY, LYNN, HOWE, CHRISTOPHER, HUYETTE, LIPOVICH, JOSEPH, ERIC, MACKENZIE, MARK, WESLEY, PLATT, MICHAEL, JAMES
Applicants: EAKIN JEFFRY LYNN, FOOD MARKETING GROUP INC, HOWE CHRISTOPHER HUYETTE, LIPOVICH JOSEPH ERIC, MACKENZIE MARK WESLEY, PLATT MICHAEL JAMES, EAKIN, JEFFRY, LYNN, FOOD MARKETING GROUP, INC., HOWE, CHRISTOPHER, HUYETTE, LIPOVICH, JOSEPH, ERIC, MACKENZIE, MARK, WESLEY, PLATT, MICHAEL, JAMES
Application year: 2001
Main classification: G06F17
IPC codes: G06Q10, G06Q30