Abstract:
A dispensing device, such as a vending machine, is equipped to monitor product demand and consumer traffic that passes by the machine. The dispensing device collects and analyzes product demand data to determine optimal product stocking, to offer products to undecided consumers and to offer substitute products when a selected product is out of stock. The substitute product may be determined according to which alternate product historically has the highest demand when a particular selected product is unavailable. Alternatively, the substitute product may be determined according to which stocked item has an imminent expiration date. Also, the substitute product may be predetermined by an operator of a vending machine or may be determined by other factors. The substitute product may further be offered to the customer at a discounted price.

Description:
The present application is a continuation-in-part of co-pending U.S. patent application Ser. No. 09/012,163 entitled “METHOD AND APPARATUS FOR AUTOMATICALLY VENDING A COMBINATION OF PRODUCTS” filed on Jan. 22, 1998 in the name of Daniel E. Tedesco, James A. Jorasch, Jay S. Walker and Robert R. Lech which is a continuation-in-part of co-pending U.S. patent application Ser. No. 08/947,798 entitled “METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY PRICES” filed on Oct. 9, 1997 in the name of Daniel E. Tedesco, James A. Jorasch and Robert R. Lech, both of which are incorporated herein by reference and assigned to the assignee of the present invention. 
    
    
     FIELD OF THE INVENTION 
     This invention relates generally to dispensing devices and relates more specifically to a dispensing device, such as a vending machine, that monitors and uses product demand and inventory information to increase product sales. 
     BACKGROUND OF THE INVENTION 
     Vending machines are well known and have existed since the late 1880s. The first vending machines were rudimentary devices primarily designed to dispense cigarettes and postcards. Modern vending machines are employed to store and dispense a vast array of merchandise and/or offer various services in response to a customer request accompanied by appropriate payment. Examples of merchandise dispensed by such machines include drinks, candy, frozen deserts, snacks, video tapes and children&#39;s toys. Examples of services offered include automated car washes, portrait photographs, laundry machines, television viewing and blood pressure monitoring. 
     Many entrepreneurs are attracted to the basic concept of selling products and services using a vending machine. Vending machines are generally considered to have significant advantages over traditional merchandising. Specifically, vending machines enable the automated sale of merchandise and services at unconventional locations and times, and they do not require sales personnel. 
     Although the basic advantages of vending machines are significant, prior art vending machines have several significant disadvantages when compared to traditional merchandising, particularly relating to inventory control and pricing. A first disadvantage is the difficulty of maintaining an inventory of perishable items. A second disadvantage is the difficulty of selling or “turning over” an inventory of low demand items and services or items with inferior quality. Although some vending machine suppliers offer to buy back inventory from operators who no longer want to sell certain products, such suppliers often fail to live up to their offer when an operator tries to exercise this option. 
     There have been many attempts at addressing the inventory problems of vending machines, including methods for determining what products and services are the most popular, what are the appropriate times to re-stock vending machine items and in what quantities. The solutions include methods and systems that enable vending machine operators to remotely monitor inventory and remotely retrieve sales data. Other solutions have been proposed in the forms of accounting software and bar code readers that detect the expiration dates of vending machine items. Further solutions are disclosed in commonly-owned, co-pending U.S. patent application Ser. No. 09/012,163 entitled “METHOD AND APPARATUS FOR AUTOMATICALLY VENDING A COMBINATION OF PRODUCTS” filed on Jan. 22, 1998 in the name of Daniel E. Tedesco, James A. Jorasch, Jay S. Walker and Robert R. Lech and commonly-owned, co-pending U.S. patent application Ser. No. 08/947,798 entitled “METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY PRICES” filed on Oct. 9, 1997 in the name of Daniel E. Tedesco, James A. Jorasch and Robert R. Lech, both of which are incorporated herein by reference. 
     Examples of vending machine patent prior art that attempt to solve the problems identified above include: U.S. Pat. No. 4,412,292, entitled “System for the Remote Monitoring of Vending Machines;” U.S. Pat. No. 4,654,800, entitled “Control and Monitoring Apparatus for Vending Machines;” U.S. Pat. No. 5,091,713, entitled “Inventory, Cash, Security, and Maintenance Control Apparatus and Method for a Plurality of Remote Vending Machines;” U.S. Pat. No. 5,367,452, entitled “Mobile Merchandising Business Management System which Provides Comprehensive Support Services for Transportable Business Operations;” and U.S. Pat. No. 4,282,575, entitled “Control and Monitoring Apparatus for Vending Machines.” These inventions generally disclose remote monitoring systems, currency control systems, and data collection systems designed to address shortcomings of prior art vending devices. 
     Non-patent prior art includes VendMaster&#39;s software product entitled “Windows for Vending PRO with Inventory.” This product enables a vending machine operator to report and analyze various historical sales data. VendMaster&#39;s product is intended to enhance a vending machine operator&#39;s ability to identify high-demand inventory, determine preferable times to stock the machine and calculate suggested prices. 
     These solutions fail to adequately address certain shortcomings of present vending machines. Specifically, the prior art fails to provide adequate solutions to the problem of satisfying customer demand when a desired product or service is unavailable. Using the prior art solutions, an operator may use collected supply and demand data to help determine suitable alternate products, but the fact that operators must manually ratify and implement the decisions renders these solutions burdensome, inaccurate and inefficient. These solutions are inefficient because human decisions and the implementations of those decisions are not dynamically responsive to real-time market pressures. They are delayed until the operator analyzes supply and demand data, arrives at a decision, and adjusts the machine accordingly. 
     A need therefore exists for a method and apparatus that monitors demand of a vending machine inventory and that dynamically and automatically determines substitute products or services to offer in order to increase a vending machine&#39;s profitability. 
     Accordingly, the shortcomings associated with the related art have heretofore not been adequately addressed. The present invention addresses such problems by providing methods and apparatus that have not previously been proposed. 
     SUMMARY OF THE INVENTION 
     The present invention provides a method and apparatus for monitoring sales and determining substitute products and/or services to offer when a selected product and/or service is unavailable. According to a first aspect of the present invention, a method and apparatus is disclosed for dispensing a substitute product by receiving a selection of a first product from a purchaser. If the first product is not available, a substitute product identifier corresponding to a substitute product is retrieved and the substitute product is offered to the purchaser. 
     According to a second aspect of the present invention, a method and apparatus is disclosed for dispensing a substitute product by measuring a demand for each of a plurality of products and, in turn, determining from the demand a substitute product for a first product. A substitute product identifier corresponding to the substitute product is stored for the first product. 
     According to a third aspect of the present invention, a method and apparatus is disclosed for dispensing a substitute product by determining an average selection time. After a purchaser is detected, a time from the detection of the purchaser is measured. If the time is greater than or equal to the average selection time, a first product is offered to the purchaser. 
     According to a fourth aspect of the present invention, a method and apparatus is disclosed for measuring a demand of an unavailable product offered by a dispensing device by receiving a selection of a product and determining the availability of the product. If the product is unavailable, an indication that the selected product is unavailable is stored. 
     Further embodiments and advantages of the present invention will become apparent from the following detailed description when read in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG.  1 . is a schematic block diagram of a dispensing device of the instant invention. 
     FIG. 2 is a block diagram illustrating the operator authorization database used by the dispensing device of FIG.  1 . 
     FIG. 3 is a block diagram illustrating the transaction database used by the dispensing device of FIG.  1 . 
     FIG. 4 is a block diagram illustrating the suggestive sell database used by the dispensing device of FIG.  1 . 
     FIG. 5 is a block diagram illustrating the inventory database used by the dispensing device of FIG.  1 . 
     FIG. 6 is a block diagram illustrating the demand database used by the dispensing device of FIG.  1 . 
     FIG. 7 is a flow chart illustrating a process by which an operator can access demand data stored by the dispensing device of FIG.  1 . 
     FIGS. 8A-8C are flow charts illustrating the demand monitoring and suggestive sale functions performed by the dispensing device of FIG.  1 . 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Definitions: 
     The following terms as used herein will be understood to have the following meanings: 
     Dispensing device: Any device or machine capable of receiving an amount of money and outputting one or more products. 
     Product: An item or a service sold through a dispensing device. 
     Substitute product: A product offered in place of a selected product. 
     Predetermined product: A product which an operator of the dispensing device has set as a default substitute product. 
     Product identifier: A designation that is recognized by the dispensing device and that corresponds to a product. 
     Predefined criterion: A requirement accessible by the dispensing device, by which the dispensing device determines which of a plurality of products is a substitute product. 
     Expiration date: A date on which a product is no longer suitable for use or consumption. 
     Availability: A determination as to whether a product is able to be dispensed. 
     Amount of money: A monetary value, such as cash, credit, or electronic cash transferred to a dispensing device. 
     Discounted price: A price to purchase a product which is less than the price originally displayed by the dispensing device. 
     Purchaser: One who wishes to purchase a product from a dispensing device. 
     Selection: An input entered into the dispensing device by the purchaser to indicate a product the purchaser desires to purchase. 
     Average selection time: An amount of time measured by the dispensing device which is based on an average measured time between one of (1) a detection of a purchaser and a receipt of an amount of money from the purchaser, (2) a detection of a purchaser and a receipt of a selection from the purchaser, and (3) a receipt of an amount of money from the purchaser and a receipt of a selection from the purchaser. 
     Demand: A measurement of the number of times the product was selected for purchase. 
     Suggestive sell: An offer, made by the dispensing device, to sell a product when either no product has yet been selected by a purchaser or an unavailable product has been selected by a purchaser. 
     The present invention will now be discussed with reference to FIGS. 1-8C. FIG. 1 displays a schematic block diagram of dispensing device  100  and its components. Dispensing device  100  may be a vending machine, kiosk or any other mechanism by which a purchaser may purchase goods or services in exchange for a deposit of an amount of money. Dispensing device  100  is controlled by central processing unit (CPU)  101  which may be may be any commonly manufactured microprocessor chip, such as the Pentium II® manufactured by Intel® Corporation. Central processing unit (CPU)  101  runs at a clock speed determined by clock  123 , which is operatively connected to CPU  101 . 
     Central processing unit (CPU)  101  is further operatively connected to standard computer components such as random access memory (RAM)  121 , read-only memory (ROM)  119 , input device(s)  133 , output device(s)  135  and data storage device  103 . Random access memory (RAM)  121  may be one or more single inline memory module (SIMM) chips capable of storing a predetermined amount of data (typically measured in megabytes) and used by central processing unit (CPU)  101  for temporary storage of processing instructions during operation of dispensing device  100 . Read-only memory (ROM)  119  is at least one permanent non-erasable and non-rewritable memory chip that stores initializing instructions to be used by central processing unit (CPU)  101  during a start-up routine performed by dispensing device  100 . Further functions of random access memory (RAM)  121  and read-only memory (ROM)  119  will be apparent to one of ordinary skill in the art. 
     Input device(s)  133  may be one or more of the following commonly known peripherals used for inputting data to a dispensing device: a parallel port, a serial port, a keypad, a push button, a voice recognition device, and the like. Input device(s)  133  preferably contain an external input device for use by a purchaser and a separate internal input device, accessible only by a servicer or operator of dispensing device  100  after the device has been opened. In this manner, a purchaser enters his or her selections for products through the external input device, and a servicer may access and update data stored by dispensing device  100  through the internal input device. 
     Output device(s)  135  may be one or more of the following commonly known peripherals used for outputting data from a microprocessor: a parallel or serial port, a printer, a monitor, an LED or LCD display, a voice synthesizer, and/or a combination of any of these devices. Output device(s)  135  preferably contain an external output device for displaying or broadcasting messages to a purchaser and a separate internal output device, accessible only by a servicer or operator of dispensing device  100  after the device has been opened. In this manner, a servicer may receive data stored by dispensing device  100  through the internal output device. Further applicable output devices will be apparent to one of ordinary skill in the art. Additionally, input device(s)  133  and output device(s)  135  may be one device, such as a communications port that can both receive and transmit data. 
     CPU  101  is operatively connected to transmit and receive data from data storage device  103 , which may be any one of the following commonly known peripherals used for storing computer data: a hard drive, a floppy disk drive, a DVD drive of the type manufactured by Philips Electronics, a ZIP drive of the type manufactured by IOMEGA, a tape drive and a Digital Audio Tape drive. Further such devices will be apparent to one of ordinary skill in the art. Data storage device  103  is operative to store operator authorization database  105 , suggestive sell database  107 , inventory database  109 , demand database  111 , and transaction database  113 , each of which is discussed below with reference to FIGS. 2-6, respectively. Data storage device  103  is further operative to store an operating system (not shown) and one or more application programs  115 . In accordance with a preferred embodiment of the present invention, the application program(s)  115  contain processing instructions for central processing unit (CPU)  101  to retrieve and perform the operator verification process shown in FIG. 7, and the demand monitoring and suggestive sell functions of FIGS. 8A-8C, each of which is discussed in detail below. 
     Central processing unit (CPU)  101  is further operatively connected to timer  117  which can be set, reset and read by central processing unit (CPU)  101  to measure the passage of time. Alternatively, central processing unit (CPU)  101  may use signals generated by clock  123  to measure the passage of time in place of timer  117 , as will be apparent to one of ordinary skill in the art. 
     Central processing unit (CPU)  101  is further operatively connected to monitor and operate currency storage  125 , coin acceptor  127 , card reader  128 , bill validator  129 , change dispenser  131 , item dispenser(s)  137 , and detector  139 . Currency storage  125  is equipped to store both physical currency and electronic forms of currency, such as e-cash or credits from a debit card, credit card or smart card, received by dispensing device  100 . Coin acceptor  127  accepts and determines an amount of money received from coinage deposited into dispensing device  100 . Card reader  128  receives electronic currency from a card, such as a smart card, debit card or credit card and/or determines account information for an account owned by the card owner. The account information is stored and used to apply a charge against the account for a product selected and dispensed by dispensing device  100 . Bill validator  129  accepts and determines an amount of money received from monetary bills deposited into dispensing device  100 . 
     Change dispenser  131  dispenses any change that is due to a purchaser who deposits money into coin acceptor  127 , card reader  128 , or bill validator  129 . The amount of change to be dispensed is determined by central processing unit (CPU)  101  by using one of the application program(s)  105 . In a process not shown, but apparent to one of ordinary skill in the art, central processing unit (CPU)  101  determines an amount of money that a purchaser has deposited, recognizes a product that the purchaser has selected and calculates the difference between the amount of money deposited and the amount to be charged for the product. The difference is dispensed to the purchaser through change dispenser  131 . Change dispenser  131  may be operatively connected to currency storage  125  (not shown) to dispense change from that device. 
     Detector  139  is a device that sends a signal to central processing unit (CPU)  101  when a purchaser is detected near dispensing device  100 . Detector  139  is used by dispensing device  100  to initiate the demand monitoring and suggestive sell functions discussed further below with regard to FIGS. 8A-8C. Detector  139  may be any of the following types of devices: a motion detector, an infrared detector, an acoustic signal detector, a pressure detector mounted on the floor in front of dispensing device  100  or any other device that may detect a presence of a purchaser when he or she is in proximity of dispensing device  100  and which outputs a signal indicative of the presence of the purchaser. 
     Referring now to FIG. 2, operator authorization database  105  stores operator identifiers and corresponding authorization codes which are required to be entered in order to access data stored in dispensing device  100 . Each record in operator authorization database  105  contains an entry in operator identifier field  201  and authorization code field  203 . Operator identifier field  201  preferably lists several codes, each of which are assigned to a particular operator or servicer authorized to access data stored by dispensing device  100 . Each such code in operator identifier field  201  has a corresponding unique authorization code stored in authorization code field  203 . Upon accessing dispensing device  100 , an operator must enter, through input device(s)  133 , a valid operator identifier code and the authorization code assigned to that identifier. Upon entry of the information, central processing unit (CPU)  101  refers to operator authorization database  105  and confirms that the entered information matches a record in operator authorization database  105 . As discussed further with regard to FIG. 7, if the information matches, the operator is allowed to access and update data stored in data storage device  103  of dispensing device  100 . If the information does not match, the operator is denied access to the machine. 
     FIG. 3 displays the exemplary contents of suggestive sell database  107  which is maintained by dispensing device  100  for implementing the suggestive sale functions performed, as described further with regard to FIGS. 8A-8C. Each record of suggestive sell database  107  contains an entry in product identifier field  301 , suggestive sell file location field  303 , suggestive sell content field  305 , suggestive sell price field  307 , suggestive sell criterion field  309 , substitute product identifier field  311 , suggestive sells offered field  312  and suggestive sells accepted field  314 . 
     Preferably, each entry in product identifier field  301  corresponds to one product offered by dispensing device  100 . A unique product identifier is assigned to each type of product or, alternatively may correspond to a rack or shelf (not shown) in dispensing device  100  on which the product is stored and/or displayed. For each product identifier, an entry of a suggestive sell file is made in suggestive sell file location field  303 . The suggestive sell file location is preferably an address of a data file stored in storage device  103 . The data file may contain audio or textual information that is output to a purchaser during the suggestive sell functions described further in conjunction with FIGS. 8A-8C. The audio and textual information is preferably a description of a suggestive sell being offered to a purchaser during a transaction. 
     For each product identifier, an entry is also made in suggestive sell content field  305 . The suggestive sell content lists the text or audio message stored at the location stored in suggestive sell file location field  303 . The information in this field preferably corresponds to the audio or textual information that is to be presented to a purchaser during the suggestive sell functions performed by dispensing device  100 , discussed further in conjunction with FIGS. 8A-8C. 
     For each product identifier, an entry is also made in suggestive sell price field  307 . The suggestive sell price is a discounted price, preferably determined by an operator of dispensing device  100 , for which a product will be offered during the suggestive sell function discussed further in conjunction with FIGS. 8A-8C. 
     For each product identifier, an entry is also made in suggestive sell criterion field  309 . The suggestive sell criterion is preferably defined and entered by an operator of dispensing device  100 . The suggestive sell criterion may be a requirement that the average demand for a product associated with the criterion is below a certain average demand rate. Additional and/or alternate suggestive sell criteria may be included as will be apparent to one of ordinary skill in the art. In any event, if the suggestive sell criterion is met, the product associated with the criterion is eligible to be offered in the suggestive sell function described in conjunction with FIGS. 8A-8C. 
     For each product identifier entered in product identifier field  301 , a substitute product identifier is entered in substitute product identifier field  311 . The substitute product identifier is meant to identify a product to be offered when an initial product selection is not available. For example, referring to record  320  of FIG. 3, if product A 1  is selected by a purchaser and is not available, then the machine will offer product B 3  as a suggestive sell. 
     The substitute product to be offered may be operator-selected or may be determined by the dispensing device  100  after an analysis of demand data has been performed. For example, CPU  101  may be programmed to track and store which product is most often selected after an initially selected product is identified as being unavailable. In one embodiment, a product identifier corresponding to the most often alternately-selected product may then be stored as a substitute product in substitute product identifier field  311 . Other criteria may be employed in programming the device to determine a substitute product. These criteria may include: which product has been stocked most recently (as may be determined by examining stock date field  409 ); which product is due to be restocked at the earliest date (as may be determined from restock date field  411 ); or which product will expire at the earliest date (as may be determined from product expiration date field  413 ). Other criteria may be employed in making the determination as to which product will act as a substitute product, as will be apparent to one of ordinary skill in the art. 
     Preferably, a substitute product identifier is listed for each product identifier in product identifier field  301 . The substitute product identifier, furthermore, preferably corresponds to an existing product which is already listed in product identifier field  301 . Hence, any product in substitute product field is preferably listed in product identifier field  301 . However, for each record in suggestive sell database  107  the value listed in product identifier field  301  should not be the same product identifier listed in substitute product identifier field  311 . 
     Suggestive sells offered field  312  of suggestive sell database  107  lists the number of times a product corresponding to the product identifier was offered in a suggestive sell. Suggestive sells accepted field  314  lists the number of times the product was accepted as a suggestive sell. This information is measured and recorded during the suggestive sell functions described in accordance with FIG.  8 B. The information in these fields is useful to an operator of dispensing device  100 , or to the dispensing device itself, to determine the effectiveness of a suggestive sell for each of the products. For example, in the case where a product is offered through a suggestive sell many times, but is rarely accepted, the operator or dispensing device  100  may adjust the terms of the suggestive sell offered so that the acceptance rate increases. This may be accomplished, for example, by decreasing the suggestive sell price for the product, or by determining a suitable substitute product and changing the substitute product identifier of field  311 . Methods for allowing a dispensing device  100  to determine suitable substitute products and/or adjust suggestive sell prices are discussed further in co-pending U.S. patent application Ser. No. 08/947,798 entitled “METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY PRICES” filed on Oct. 9, 1997 in the name of Daniel E. Tedesco, James A. Jorasch and Robert R. Lech and co-pending U.S. patent application Ser. No. 09/012,163 entitled “METHOD AND APPARATUS FOR AUTOMATICALLY VENDING A COMBINATION OF PRODUCTS” filed on Jan. 22, 1998 in the name of Daniel E. Tedesco, James A. Jorasch, Jay S. Walker and Robert R. Lech, both incorporated herein by reference. 
     FIG. 4 displays the preferred contents of inventory database  109 . For each record in inventory database  109 , an entry is stored in product identifier field  401 , original inventory field  403 , current inventory field  405 , price field  407 , stock date field  409 , restock date field  411  and product expiration date field  413 . 
     Preferably, each entry in product identifier field  401  corresponds to one product offered by dispensing device  100 . Furthermore, the entries in product identifier field  401  may correspond to the entries made in product identifier field  301  of suggestive sell database  107 . Each identifier listed in product identifier field  401  is preferably a unique identifier that corresponds to a single product offered by the machine. As described above, the product identifier may correspond to a rack or shelf (not shown) in dispensing device  100  on which the product is stored and/or displayed. 
     For each product identifier in product identifier field  401 , an entry is made in original inventory field  403  that represents the number of the product originally placed for dispensing in dispensing device  100 . Current inventory field  405  contains an entry, preferably maintained by dispensing device  100 , corresponding to the amount of the product remaining in dispensing device  100 . Price field  407  contains an entry, for each product, representing the original, non-discounted price at which the product is offered for purchase. Stock date field  409  lists, for each product, the date on which the product was placed in the dispensing device  100 . Restock date field  411  lists, for each product, a date on which the product is expected to be re-stocked by an operator of dispensing device  100 . Finally, product expiration date field  413  lists, for each product, a date on which the product is no longer suitable for use or consumption. 
     FIG. 5 displays demand database  111  which contains database records having a product identifier field  501 , average time for receipt of credits field  502 , average selection time field  503  and current average demand rate field  505 . Preferably, each entry product identifier field  501  corresponds to one product offered by dispensing device  100 . Furthermore, the entries in product identifier field  501  may correspond to the entries made in product identifier field  301  of suggestive sell database  107 . Each product identifier listed in product identifier field  501  is preferably a unique identifier that corresponds to a single type of product offered by the machine. Alternately, as described above, the product identifier may correspond to a rack or shelf (not shown) in dispensing device  100  on which the type of product is stored and/or displayed. 
     Average time for receipt of credits field  502  lists, for each product, an average amount of time taken by purchasers to input an amount of credits after detection of the customer by detector  139  of dispensing device  100 . This information is used by dispensing device  100  to determine a time after which to offer a suggestive sell, as discussed further in regard to FIGS. 8A-8C. 
     Average selection time field  503  lists, for each product, an average amount of time taken by purchasers to select the corresponding product. The amount of time may bc measured from either the initial detection of a purchaser or from an input of credits by the purchaser. This information is used by dispensing device  100  to determine a time after which to offer a suggestive sell, as discussed further in regard to FIGS. 8A-8C. 
     Current average demand rate field  505  lists, for each product, a current rate of demand for the corresponding product. The demand rate for a product is preferably determined by measuring the number of times the product was selected over an amount of time, i.e. 12 selections of the product every 24 hours. This information is used by dispensing device  100  to determine a time after which to offer a suggestive sell, as discussed further in regard to FIGS. 8A-8C. 
     FIG. 6 displays the contents of transaction database  113  which contains database records having a product identifier field  601 , a product selection field  603  and an average sale price field  605 . Preferably, each entry in product identifier field  601  corresponds to one type of product offered by dispensing device  100 . Furthermore, the entries in product identifier field  601  may correspond to the entries made in product identifier field  301  of suggestive sell database  107 . Each identifier listed in product identifier field  601  is preferably a unique identifier that corresponds to a single type of product offered by the machine. As described above, the product identifier may correspond to a rack or shelf (not shown) in dispensing device  100  on which the product is stored and/or displayed. 
     Product selection field  603  lists, for each product, a number of times the product was selected by a purchaser. Average sale price field  605  lists, for each product, the average sale price for which a corresponding product was sold. The average sale price is determined, preferably, by counting the number of times a product was sold and at what price (either the original price or suggestive sell price) the product was sold in each instance. The average sale price may then be determined by calculating the sum of the sale prices and dividing by the number of product sales. Other methods will be apparent to one of ordinary skill in the art. The average sale price field contains data which may be useful to the operator of dispensing device  100  in determining the profitability of each product sold. The information in average sale price field  605  is updated during the demand monitoring and suggestive sell functions described in conjunction with FIGS. 8A-8C below. 
     Turning now to FIG. 7, a process by which an operator can access and update data stored by the dispensing device  100  is displayed. This process is preferably performed by central processing unit (CPU)  101  in conjunction with at least one of the application program(s)  115 . 
     To perform the accessing process, an operator preferably gains access to the internal components of dispensing device  100 . The operator, through input device(s)  133  inputs commands to CPU  101  that initiates the accessing process. At step  701 , the operator inputs an operator code via input device(s)  133 . The operator code is read by CPU  101 . At step  703 , the CPU  101  prompts the operator, through output device(s)  135 , to enter the corresponding authorization code. At step  705 , after the operator has input the authorization code, CPU  101  accesses operator authorization database  105  and confirms that the operator identifier code and authorization code are valid. If the codes are both valid, the process continues on to step  709 , discussed below. If the codes are not valid, the process proceeds to step  707  where the operator is prompted to re-enter the correct codes. Steps  701 ,  703 ,  705 , and  707  may be repeated any number of times until the correct codes are entered, or may be terminated after a predetermined number of times. 
     After an entry of a correct operator code and a correct corresponding authorization code, the process continues to step  709  where the operator is allowed to transmit data through input device(s)  133  and receive data through output device(s)  135  from storage device  103 . At step  711 , CPU  101  receives any updated inventory data and corresponding suggestive sell data. CPU  101  stores the received inventory data in inventory database  109  and stores any received suggestive sell data in suggestive sell database  107 . For example, any received suggestive sell criterion data will be stored in suggestive sell criterion field  309  and any received suggestive sell content data will be stored in suggestive sell content field  305 . The received data is stored in the appropriate database fields as will be apparent to one of ordinary skill in the art. After step  711 , the accessing process ends. 
     Turning now to FIG. 8A, the process by which CPU  101  performs demand monitoring and suggestive sale functions begins at step  801  where detector  139  sends a signal to CPU  101  indicating that a purchaser is present in front of dispensing device  100 . At step  803 , CPU  101  measures the time beginning from the detection of the customer. This may be accomplished by sending a start signal to timer  117  or by measuring the time using clock  123  as discussed previously with regard to FIG.  1 . At step  805 , CPU  101  measures the amount of time passed since the purchaser was detected and compares it to an average time stored, for example, in average time for receipt of credits field  502 . If the measured time reaches the average time stored in field  502 , the process continues at step  815 . Otherwise the process continues at step  807 . 
     At step  807 , dispensing device  100  receives a number of credits from the purchaser. At step  808 , CPU  101  stops measuring the time passed since detection, determines a new average time for receipt of credits from a purchaser using the latest measured time and stores the value in field  502 . At step  809 , CPU  101  preferably starts a new measurement of time starting from the receipt of credits from the purchaser. This may be accomplished by sending a start signal to timer  117  or by measuring the time using clock  123  as discussed previously with regard to FIG.  1 . At step  810 , CPU  101  measures the amount of time passed since the purchaser has input credits and compares it to the average times stored in average selection time field  503 . The time passed since the purchaser has input credits may be measured from the time a first credit (such as a coin) has been deposited in either coin dispenser  127 , card reader  128  or bill validator  129 . 
     Since, in the preferred embodiment, different average selection times are stored for each product, CPU  101  determines a threshold time by comparing the measured time to one of: the lowest average selection time stored in average selection time field  503 , the highest average selection time stored in average selection time field  503  or an average of the average selection times stored in average selection time field  503 . If the measured time reaches the threshold time, the process continues at step  815 , discussed further below. Otherwise the process continues at step  811 . 
     At step  811 , a selection of a product is made by the purchaser. At step  812 , CPU  101  stops measuring the time passed since the purchaser input credits, determines a new average time selection time for the product selected by the purchaser based on the latest measured time and stores the value in field  502  for the record corresponding to the selected product. At step  813 , CPU  101  updates the new current average demand rate in field  505  and increments the product selection field  603  of transaction database  113  for the product identifier corresponding to the selected product. The process then continues on to step  839 , discussed further below in conjunction with FIG. 8C below. 
     If previously at step  805  the threshold time has been reached, the process continues at step  815  where CPU  101  accesses inventory database  109 . At step  817 , CPU  101  searches current inventory field  405  of inventory database  109  for all product identifiers having a current inventory greater than or equal to one. At step  819 , CPU  101  then accesses demand database  111 . At step  821 , CPU  101  determines, from current average demand field  505  of demand database  111  , the current average demand rate for each product identifier having a current inventory greater than or equal to one. The process then continues at step  823 . 
     Referring now to FIG. 8B, at step  823 , CPU  101  next accesses suggestive sell database  107 . At step  825 , CPU  101  determines, for the product identifier or identifiers having a current inventory greater than one, which product demand data meets the criteria listed in suggestive sell criterion field  309  of database  107 . CPU  101  then determines which of these product identifiers have not already been selected by or suggested to the purchaser during the present transaction. This may be accomplished, for example, by tracking which products have been offered during the present transaction, and storing the tracking information temporarily in either data storage device  103  or random access memory  121 . 
     CPU  101  next determines which of the remaining product identifier(s) to offer to the purchaser as a suggestive sell. In the case where more than one product identifier remains after all the above criteria have been applied, CPU  101  may analyze further criteria to determine which product to offer as a suggestive sell. For example, CPU  101  may be programmed to determine which of the remaining products has the highest overall demand rate (as can be readily determined by comparing the values in current average demand rate field  505 ) and use that product in the subsequent steps relating to a suggestive sell. Alternatively, CPU  101  may be programmed to select the remaining product with the lowest overall demand rate in an effort to sell products with weak demand. Furthermore, CPU  101  may simply select a substitute product listed in substitute product identifier field  311 , if a purchaser has already selected a product which is out of stock or otherwise unavailable. Further criteria include which product has been stocked most recently (as may be determined by comparing the values stored in stock date field  409 ), which product is due to be restocked earlier (as may be determined from restock date field  411 ) or which product will expire earlier (as may be determined from product expiration date field  413 ). Other criteria may be employed in making the determination as to which product to offer in a suggestive sell, as will be apparent to one of ordinary skill in the art. 
     After a product identifier has been determined in step  825 , the process continues at step  827  where CPU  101  determines the suggestive sell file location corresponding to that product identifier by accessing suggestive sell file location field  303 . The information in the file is then displayed or broadcast to the purchaser, as discussed above with regard to FIG.  3 . Also as discussed, the information may correspond to the data listed in suggestive sell content field  305 . Furthermore, the product to be offered through a suggestive sell may be offered at the suggestive sell price listed in suggestive sell price field  307 . 
     At step  831 , CPU  101  determines whether the purchaser accepts the suggestive sell. This may be determined by ascertaining whether the purchaser has input the selection corresponding to the product identifier offered in the suggestive sell. If the suggestive sell is accepted, the process continues to step  835 , discussed below. Otherwise, the process continues to step  833 . 
     At step  833 , CPU  101  increments the record in suggestive sell offered field  312  corresponding to the product identifier offered during the suggestive sell. At step  834 , CPU  101  determines whether the purchaser inputs an alternate selection. If so, the process continues to step  839 , discussed below in conjunction with FIG.  8 C. If not, the process returns to step  825 , discussed above, and can be repeated any number of times until there are no further products which have not been offered to the purchaser. 
     At step  835 , after the purchaser accepts the product that is offered through the suggestive sell, CPU  101  completes the transaction by, for example, dispensing the product to the customer and dispensing any change due through change dispenser  131 . At step  837 , CPU  101  updates all records corresponding to the product identifier that are affected by the transaction. The updates preferably include: incrementing suggestive sell offered field  312 , incrementing suggestive sell accepted field  314 , decrementing current inventory field  405 , updating current average demand rate field  505 , incrementing product selection field  603  and updating average price field  605  by recalculating the average price by including the price for which the product was sold according to the suggestive sell. After step  837 , the demand monitoring and suggestive sell functions end. 
     Referring now to FIG. 8C, from either step  813  or step  834 , the process continues at step  839  where CPU  101  accesses inventory database  109 . At step  841 , CPU  101  determines the current inventory for a selected product by retrieving the appropriate value stored in current inventory field  405 . CPU  101  then determines whether the current inventory for the product selected by the purchaser is at least one, thereby determining whether any of the selected product remains in dispensing device  100 . If the current inventory of the selected product is zero, the process returns to step  815 . Otherwise the process continues on to step  843  wherein the transaction is completed. This is accomplished, for example, when dispensing device  100  dispenses the selected product to the customer and dispenses any change due through change dispenser  131 . 
     Next, at step  845 , the average sale price for the product identifier corresponding to the selected product is updated according to the sales data from the current transaction. The new average sale price is determined and stored in average sale price field  605 , after which the process ends. 
     While the best mode contemplated for carrying out the invention has been described in detail in the foregoing, those of ordinary skill in the art to which the instant invention relates will recognize various alternative designs and embodiments for practicing the invention. For example, the database structures described above and in the figures may be rearranged, fields may be added or deleted, or the databases may be consolidated. Furthermore, though a stand-alone dispensing device has been described in the preferred embodiment, it is contemplated that the dispensing machine may be a networked device with the ability to store data either locally or at an alternate, networked location. Such alternative embodiments are contemplated to be within the scope of the instant invention. Accordingly, it is to be understood that the foregoing description is provided for illustrative purposes only and does not limit the scope of the instant invention, as defined by the appended claims.