CROSS-REFERENCE TO RELATED APPLICATIONS; BENEFIT CLAIMThis application claims the benefit as a Continuation of application Ser. No. 09/568,001, filed May 10, 2000 the entire contents of which is hereby incorporated by reference as if fully set forth herein, under 35 U.S.C. §120. The applicant(hereby rescind any disclaimer of claim scope in the parent application(s) or the prosecution history thereof and advise the USPTO that the claims in this application may be broader than any claim in the parent application(s).
RELATED APPLICATIONSThis application relates to the U.S. Ser. No. 09/567,946 filed May 10, 2000 to Vladimir Gorelik et al. entitled “Method and Apparatus for Determining Customer Lifetime Value and Setting Price.
BACKGROUND OF THE INVENTION1. Field of the Invention
This invention relates to the field of pricing. In particular, the invention relates to methods and apparatus for automatically adjusting pricing on items in an electronic commerce environment.
2. Description of the Related Art
Electronic commerce sites enable business to sell products and services to consumers and other businesses.FIG. 1 broadly illustrates the basic configuration used by electronic commerce vendors. Aweb server100 is coupled to adatabase102 that includes pricing information for products, e.g. theproduct105. When a client, not shown inFIG. 1, requests a web page, e.g. theweb page104, over a network such as the Internet, theweb server100 generates theweb page104. Theweb page104 may include a reference to theproduct105, e.g. a textual description, a picture, and/or some other reference, as well as aprice106. The dashed arrows inFIG. 1 illustrate that theweb page104 is generated from theweb server100, e.g. for the manual elements of theweb page104, and thedatabase102, e.g. for dynamic information such as product information and pricing. Logs such as thelogs110 can be maintained by theweb server100 to monitor usage of the sites hosted by theweb server100. Additionally, other servers may be used by the vendor to support the electronic commerce site, e.g. application servers, customer relationship management (CRM) systems, and/or other systems.
For a particular product, e.g. a book, a compact disc, a plane ticket, a grocery item, etc., the pricing displayed is typically controlled by one or more product merchandisers. These merchandisers are people with product area specific qualitative knowledge. The merchandisers set prices for items falling within their categories of pricing expertise in conjunction with other business policies.
For example, in the clothing business, there may be a product merchandiser who specializes in women's handbags and another in women's shoes. In order to set the price for an item, the merchandiser will qualitatively evaluate the market and the good considering factors such as: the good itself, the brand strength, market conditions, business goals, seasons, past sales, etc. Looked at from a microeconomics standpoint, the merchandiser is guessing the shape of the demand curve. And therefore, guessing the optimal price. This pricing approach will be referred to as manual pricing.
FIG. 2 illustrates the impact that traditional, manual, pricing methodologies have as demand changes over time. Thegraph200 shows the passage of time on the X-axis. The relative demand of a given product over time is represented by thedotted curve202. The pricing under a manual pricing model is shown as the steppedsolid line204. Notice that while themanual price204 can be adjusted, e.g. by a merchandiser, based on current market conditions, it only roughly tracks the demand, and therefore the optimal price.
Thus, at times when demand is peaking--and therefore higher prices could be charged--the manual price does not respond. Similarly, as demand dips sharply, the manual price does not respond either. Further, because of the need for manual intervention to adjust themanual price204, the price may not be adjusted frequently enough to capture either large or small market trends.
As the number of items that need to be priced grows and the business rules for determining prices become more complex, the manual pricing model becomes extremely untenable.
Some automated pricing models have been developed that facilitate the adjustment of manual prices based on predictive estimates of demand. These models typically emulate the assumptions that a merchandiser would use and can automate the process of adjusting prices in response to the inputs to the predictive models. The results do not look significantly different fromFIG. 2.
In order to address the problems of manual pricing, some electronic commerce providers have adopted auction and/or reverse auction models, as well as variants. Priceline.com with its “Name your price”-style services for airline tickets, groceries, and gasoline, is a notable example of a variant of a reverse auction. However, using a reverse auction comes at the cost of convenience to the transaction, and in Priceline.com's case, consumer choice.
Accordingly, what is needed is a pricing model that allows sellers to automatically adjust the prices of products, and services, for sale in non-negotiated and non-auction settings to provide efficient pricing for both buyers and sellers. Furthermore, an approach for determining the lifetime value of a customer should be provided to allow the vendor to set prices that balance long term gains, e.g. customer repeat business, versus short term gains.
SUMMARY OF THE INVENTIONAn automatic pricing method and apparatus for use in electronic commerce environments is described. Automatic pricing uses live price testing to estimate and measure demand for specific products--taking into account, where appropriate, a vendor selected segmentation scheme. A segmentation scheme can be used by a vendor to differentiate between different types of customers as well as other aspects, a given product may be represented by multiple pricing units, each corresponding to different segments. For now, the term product will be used generically to refer either products, services, or specific pricing units, e.g. a product or service for a particular segment.
Automatically determined prices can be refined as demand changes over time. Accordingly, as demand for a given product changes, the price determined according to the automatic pricing method can change. Embodiments of the invention can handle low volume products by testing a group of similar products, e.g. in the same category, simultaneously to estimate demand for the group of products.
The results of live price testing are evaluated using a vendor selected goal function, e.g. profit maximization, to select a new price. Some embodiments of the invention include pre-defined goal functions for revenue maximization and profit maximization. Additional goal functions can be supplied by the vendor. Additionally, embodiments of the invention may include a goal function that can balance short and long term gains, based on the lifetime value of the customer, for the selected goal function.
Brute force live price testing could have extremely high testing costs. Accordingly, a rigorous testing approach is provided that significantly reduces testing costs while allowing for estimation of demand. This approach uses statistical techniques to estimate demand by testing a significantly smaller number of prices than would otherwise be required. Further, the particular testing methodology is designed to test those prices in a fashion that keeps the testing costs low. Additionally, the tested prices can be selected according to competitive research, vendor supplied suggestions, and/or other sources. The live testing process can determine, using a vendor selected goal function, which of the tested prices are better and worse than the current price for the product to a certain confidence. Then, one of the better prices can be selected.
At this point, the vendor is already doing better according to the goal function than she/he was doing before, e.g. making more money. However, the testing process can be continued to refine the price.
Once the automatically determined price is set, monitoring of what actually occurs can be compared against the predicted results for a price. If there is sufficient variance from the prediction, the product can be re-tested to select a new automatic price.
Additionally, methods for distributing price testing across time so as to avoid problems caused by too many ongoing tests as well as side effects from testing are described. For example, if Reebok.TM. shoes are price tested while leaving Nike.TM. shoes prices at the same level, the estimation of demand will be inaccurate. Accordingly, testing is distributed over time with related products price tested concurrently.
The selected price according to the automatic pricing is a win for both purchasers and vendors. The automatic price will approximate the efficiency of a reverse auction, a plus for the purchaser, without the inconvenience of the auction format. At the same time, the selected price is goal maximizing for the vendor. Accordingly, vendors with non-negotiated, non-auction pricing of products can use embodiments of the invention to great effect.
Additionally, embodiments of the invention offer features automatic price selection during liquidation using a similar live price testing method with a different goal function.
Embodiments of the invention can be provided as an outsourced service by a third party, e.g. Pricing Provider, to vendors, e.g. Vendor X. Through the establishment of communications links between Vendor X′s electronic commerce facilities and the Pricing Provider, prices for items seen by purchasers to the Vendor X′s web site can be provided by the Pricing Provider. Alternatively, the vendor herself/himself can be provided embodiments of the invention, e.g. software and/or hardware, to provide pricing services.
BRIEF DESCRIPTION OF THE FIGURESFIG. 1 illustrates a prior art electronic commerce system.
FIG. 2 demonstrates the effect of manual pricing as demand adjusts.
FIG. 3 illustrates the segmentation model used to identify pricing units and a demand curve for a pricing unit.
FIG. 4 illustrates an electronic commerce system according to one embodiment of the invention.
FIG. 5 illustrates components of a pricing module according to one embodiment of the invention.
FIG. 6 demonstrates the effect of automatic pricing as demand adjusts.
FIG. 7 illustrates the feedback loop controlling pricing.
DETAILED DESCRIPTIONA. System OverviewElectronic commerce vendors face unique hurdles in establishing prices. First, the present day marketplace is such that a number of competitors will price items at, or below, cost. How should a vendor respond to those actions? Similarly, with shopping robots, or agents, consumers who are price conscious can easily search dozens of similar vendors for a particular good or service drastically increasing the speed at which pricing changes influence customer perceptions.
One solution is to move away from traditional, or manual, pricing towards a more automatic pricing model. This model is designed to help vendors price their products and services, appropriately, even when competitors are dropping prices or some customers are so value conscious they are using shopping robots.
Further this model is able to measure actual, current demand for a particular product—and more particularly a particular pricing unit—through live price testing. Those results can be incorporated to allow a vendor to optimize each price according their pricing strategy.
First, the conceptual framework used by embodiments of the invention will be considered. Next, the configuration of an electronic commerce environment according to embodiments of the invention will be considered. Then, the methods for testing and adjusting prices will be considered in greater detail with reference to the goals of automatic pricing. Finally, additional embodiments of the invention will be considered.
B. Conceptual FrameworkPricing for an item should be capable of taking into account factors other than just the particular item. More specifically, a segmentation model such as thesegmentation model300 ofFIG. 3 can be used to set prices at a finer grained level. Embodiments of the invention are flexible enough to account for vendor specific segmentation schemes.
Thesegmentation model300 is an example segmentation scheme used by vendors according to some embodiments of the invention. Three segmentation axes are defined:SKU304, e.g. individual pricing units for a product;seasonality302; and customer segments306. The customer segments306 may be defined according to the system used by the customer, e.g. from clustering or other data analysis techniques. Similarly, theseasonality302 can be determined from the vendor's data.
Thus, for a particular SKU, e.g. a Brand X Pocket Umbrella, there may be multiple pricing units, e.g. thepricing unit310, for each customer segment and season. Thus, thepricing unit310 may represent the umbrella for new customers (a segment) in winter. Which can be discretely priced as compared to existing customers for that same season as represented by adifferent pricing unit310.
Further, although the discussion thus far has been in terms of products, the discussion applies with equal force to services, e.g. airline tickets, etc. Also, sometimes the discussion may refer to a web page, or web site, etc., including a product. For obvious reasons, most tangible goods—and even digital goods--are not actually part of the web site, but rather some reference to them is included in the web site, e.g. photograph, narrative description, etc. Actual fulfillment of a purchase of a product, whether tangible or digital, is a separate process not directly considered here.
Because efficient live price testing requires a certain minimum sales velocity, e.g. customers looking at and buying/not buying a product, clustering is supported within the segmentation scheme. For example, several related products with low sales could be clustered together for testing as a single pricing unit. Similarly, several customer segments could be clustered to allow for the case where there are insufficient customers in some segments. Several examples may be helpful: the particular pricing unit being tested may represent Brand X Pocket Umbrellas and Brand Y Mini-Umbrellas for the customer segment new customers. Similarly, the pricing unit may represent Brand X Pocket Umbrellas for both new and existing customers, etc. The particular clustering selected may be determined by the vendor, by data analysis, and/or through an evaluation of which clusters will produce sufficient sales velocity for live price testing. The particular clustering used at a given time can be dynamically determined and adjusted, e.g. based on current sales velocity.
Returning to the pricing model, from microeconomics, we can predict that for a given pricing unit, e.g. the pricing unit310 (a Brand X Pocket Umbrella, winter season, new customers), a demand curve will exist as shown in thegraph320 ofFIG. 3. Thedemand curve322 is shown as a solid line. As in standard economic theory, the curve is downward sloping so that as price increases, quantity decreases.
Similarly, the relative expectedvalue324 shown as a dotted line represents the value of selling different quantities. The relative expectedvalue324 can represent price times quantity, e.g. revenue. Other expected value functions may be used, e.g. profit, e.g. price less cost multiplied by the quantity, etc. For a given pricing unit, the expectedvalue324 has a maximum. Ideally, the pricing model should select the price corresponding to that maximum at all times.
The precise shape of thedemand curve322 inFIG. 3 is based on conjecture. The actual demand curve may vary substantially from a predicted demand curve and will change over time, e.g. as inFIG. 2 where thedemand202 changes over time. The estimation of actual demand therefore is a process used by embodiments of the invention to set prices.
However, for the same reason that thedemand curve322 cannot easily be exactly measured, the expectedvalue324, is not easy to determine. Accordingly, in order to set a price that will come close to maximizing expected value over time, a systematic approach to determining thedemand curve322 must be used.
The environment used by embodiments of the invention will now be considered together with the configuration of an electronic commerce vendor to use embodiments of the invention.
C. Architecture Configuration and DetailsFIGS. 4 and 5 illustrate the system environment used by embodiments of the invention in greater detail. The configuration ofFIG. 4 is designed in to interface with existing electronic commerce systems, e.g. the electronic commerce environment ofFIG. 1.
ArchitectureThe following lists the elements ofFIG. 4 and describes their interconnections.FIG. 4 includes theweb server100, thedatabase102, thelogs110, thedatamart400, thepricing module410, and theweb page420. Theweb page420 includes theproduct422 and theprice424.
The following describes the uses of the elements ofFIG. 4. Theweb server100 is a web server. Standard web servers such as Apache.TM. and Internet Information Server.TM. can be used as theweb server100. Theweb server100 produces log files, e.g. thelogs110. Thelogs110 will include standard information as that found in a common logfile format, or other specialized information. For example, if theweb server100 can identify the paths of individual users, then per user information could be reviewed instead of, or in addition to, standard web logs. The common logfile format is better described at <http://www.apache.org/docs/mod/mod_log_common.html>. Additionally, thelogs110 may include transaction logs of completed purchases made using theweb server100.
The electronic commerce environment ofFIG. 4 differs from the prior art systems in that prices, e.g. theprice424, is no longer provided by the vendor's database, e.g. thedatabase102. Instead, the price is provided by thepricing module410. Thepricing module410 will determine the price according to analysis of data in thedatamart400 and the vendor selected pricing approach for a pricing unit. Thedatamart400 andpricing module410 can be remotely hosted relative to the servers supporting theweb server100. They can also be operated by a third party, e.g. as hosted application. This could be used to allow a single third party to provide thedatamart400 andpricing module410 to multiple electronic commerce vendors. Alternatively, a given electronic commerce vendor can operate theirown datamart400 andpricing module410 according to specifications provided by a third party together with suitably provided programs. Thedatamart400 and thepricing module410 can be supported by one or more computer systems.
The terms “program”, or “computer program”, as used in this application, refers to any sequence of instructions designed for execution on a computer system. A program may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, and/or some other sequence of instructions designed for execution on a computer system.
Although a framework where thepricing module410 directly supplies the price to the web page is shown, thepricing module410 could update thedatabase102. The choice of configurations may depend on the vendor's preferences as well as how the services provided by thepricing module410 are licensed to vendors.
Now, thepricing module410 will be considered in greater detail. Then, the operation of different pricing modes within thepricing module410 will be considered.
Pricing ModuleFIG. 5 includes thepricing module410. Thepricing module410 includes several pricing modes:automatic pricing500,manual pricing502,promotional pricing504 and automatic pricing forliquidation506. Additional pricing modes can be provided by the supplier of thepricing module410, third parties, and/or the electronic commerce vendors themselves. The pricing modes can be implemented using one or more computer programs for execution on one or more computer systems.
The operation of the pricing module will now be considered in greater detail. Thepricing module410 provides an administrative interface to allow an electronic commerce vendor to set up their site for interaction with thepricing module410. This administrative interface can be web based using a web server coupled to thepricing module410.
Additionally, the administrative interface allows the vendor to select pricing modes on a per pricing unit basis. Thus, a single product may be priced using multiple pricing modes depending on the vendor's selection. The vendor can continuously adjust the pricing mode selected for an item. Additional administrative features are described below in connection with each pricing mode.
The setup process allows the electronic commerce vendors to provide data about their products, or metadata. This would include, their segmentation scheme, categories of items, which items fall into which categories, etc. For example, if the vendor uses a particular taxonomy, or category, scheme such as the United Nations Standard Products and Services Codes (UN/SPSC), that can be used as well, e.g. for clustering products for testing purposes. Also, historical web logs and transaction data can be supplied through this interface. This provision can also continue, e.g. through streaming delivery of the information to thedatamart400, and thepricing module410. The particular datamart loading procedures can be adjusted based on the vendor's capabilities and those of the selecteddatamart400. For example, datamart technology from Sagent Technologies, Mountain View, Calif., could be used to provide the datamart.
Additionally, the segmentation scheme used by the electronic commerce vendor can be obtained, e.g. according to the vendor's own datamart analysis of purchasers and products, customer relationship management (CRM) system, enterprise resource planning (ERP) system, and/or the vendor's preferences. Some embodiments of the invention supply a base segmentation scheme for the customer segment axis306 for differentiating between new and existing customers. Enabling this differentiation may require additional links between the vendor's systems and thepricing module410, e.g. vendor's system signals thepricing module410 when the user is an existing customer. Similarly, embodiments of the invention can obtain seasonality data from the vendor's systems, e.g. thedatabase102, the vendor's ERP system, the vendor's own datamart analysis of purchasers and products, and/or other sources.
Each of the pricing modes will now be considered in greater detail.
D. Manual Pricing Mode and Promotional Pricing ModeThemanual pricing502 andpromotional pricing504 modes are non-automated pricing modes. Traditional prior art techniques can be used to set pricing unit prices. The administrative interface may support direct retrieval of pricing from the vendor's database, e.g. thedatabase102, direct entry of prices, and/or retrieval of prices from some other database. The pricing can be set per pricing unit, or for all segments for a given product, e.g. the price for the handbag is $X.
As noted, manual, or traditional, pricing models do not permit a vendor to maximize returns as shown byFIG. 2. However, a manual pricing mode is provided to allow vendors to select which items will be priced according to which methods. This may also be important if certain items must be priced according to contractual obligations, e.g. minimum price or fixed price.
Similarly, thepromotional pricing504 mode allows a vendor to run promotions without respect for a particular goal.
E. Automatic Pricing for Liquidation ModeEmbodiments of the invention support an automatic pricing forliquidation506 mode. This mode allows for automatic price selection to enable product liquidation. Accordingly, the vendor indicates, e.g. using the administrative interface, in the vendor'sdatabase102, and/or in some other database, that she/he would like to eliminate her stock of a product in a given time period, e.g. Y days. The system then automatically sets prices to sell the product within that time period. The demand measurement techniques described below can be used in conjunction with this pricing technique; however, instead strictly of applying a profit maximizing goal, the goal will be to maximize profit while ensuring that inventory is liquidated in Y days.
Accordingly, as demand for the given inventory item is sampled, a price will be selected that will allow the full remaining quantity to be liquidated by the goal date. For example, suppose 100 coats remain with 10 days left to liquidate the measurement. A price will be selected which, according to the measured demand, will sell the remaining inventory as slowly as possible (that is, at as high a price as possible), while still selling out by the end of the 10 day period.
F. Automatic PricingTheautomatic pricing500 pricing mode offered by thepricing module410 is designed to help vendors automatically reach better pricing decisions through automatic estimation and measurement of actual demand to select prices. Further, the specific demand estimation and measurement process is designed to minimize losses due to the testing process.
FIG. 6 illustrates the goals of automatic pricing withgraph600 illustrating that theautomatic price602 for a pricing unit followsdemand202 for a pricing unit. Thus, the vendor is able to have her/his prices follow demand and receive a better price for the pricing unit at each time and thus greater overall profits. Further, because pricing unit prices are automatically determined using a mixture of: live price testing; competitive information (what competing vendors are charging for a product as determined through price checking and/or shopping agents); as well as any vendor supplied information, e.g. cost, merchandiser recommendations, manufacturer's suggested retail price, etc. This information can be provided through the administrative interface, from the vendor'sdatabase102, and/or other databases. A dedicated shopping robot can be used, widely available shopping robots can be used, and/or human price shoppers can be used to obtain competitive pricing information.
The use of inputs, e.g. competitors' prices, serves to provide test points for the live testing process and also, when appropriate, as a “tie” breaker between two prices that have very similar results based on live price testing, e.g. take the price the competitor is using if the performance difference between the best found price and the competitor's price is less than some predetermined amount. However, inautomatic pricing502 mode, it is the actual results of the live price testing that determine the price.
Ultimately, the vendor can choose to override the selected price, e.g. by selecting the pricing unit for manual pricing. However, this is not recommended for the reason that the automatically determined price will be based upon actual demand—a quantitatively determined amount—whereas the manually set price is based on qualitative assumptions and models. As such, the automatically determined price will be goal maximizing, e.g. profit, revenue, etc. Further, as discussed below, the automatically determined price can account for customer lifetime value.
G. Price Testing MethodThe estimation and measurement of actual demand through live price testing enables various pricing modes to automatically select prices. The demand testing process will be described with reference toautomatic pricing502 mode. However, the same approach can be used for automated liquidation pricing508 mode.FIG. 7 illustrates the feedback loop controlling pricing.
Pricing Feedback LoopAlist710 of pricing units to test is maintained. Pricing units are added to thelist710 based uponexplicit requests702, e.g. the vendor signals that she/he would like a particular price unit automatically priced for the first time or that she/he would like to have price re-determined. Additionally, triggers704 from themonitoring716, described in greater detail below, can cause pricing units to be added to thelist710. Thepricing control700 controls the flow of all of the processes within the feedback loop.
Theselection712 process allows for orderly testing of demand. If too many pricing units are price tested simultaneously, the results may be affected by the other ongoing tests. Similarly, testing a single pricing unit without similar testing of related pricing units, e.g. Reebok™ shoes without testing Nike™ shoes, may cause distorted results.
Additionally, some individual pricing units may not have sufficient sales velocity for live price testing; accordingly, clustering can be used to test several pricing units simultaneously, with aggregate results used to determine the prices of the each of the pricing units. If appropriate, theselection712 process can include querying one or more systems for automatic determination of suitable clusters of pricing units.
Another variant is testing multiple price units for bundling purposes. In this configuration, the vendor identifies a bundle of pricing units that she/he would like priced together, e.g. a pricing unit for a computer and a pricing unit for a monitor bundled together as a package. In this instance, the demand for the bundle can be measured and priced—possibly differently from the pricing for each pricing unit alone.
Accordingly, thelist710 is analyzed by theselection712 process. This process can identify dependencies in testing like those described above, e.g. Reebok™ shoes and Nike™ shoes should be price tested at similar times. Once such dependencies are determined, the particular items being tested are passed to acalibration714 process.
Thepricing control700 will exert control over the timing of individual tests. For example, if 100 products are currently being calibrated, thepricing control700 can distribute the tests across time and implement vendor selected pricing policies. For example, no more than Z items tested simultaneously; no more than Y % of tested items with prices above, or below, the item's starting price, etc.
Thecalibration714 process can occur for multiple pricing units in parallel and includes live price testing and is described in greater detail below. Once thecalibration714 process for a pricing unit is complete, that pricing unit is moved to monitor716 process. Additionally, the tested pricing units can be removed from thelist710. Thepricing control700 can control the ongoing calibrations and monitoring while also allowing for additional selection of items.
Calibration ProcessThecalibration714 process for one pricing unit will be considered. This can be used to estimate and measure demand for a pricing unit through live price testing.
Returning to the assumed demand curve shown ingraph320 ofFIG. 3, thedemand curve322 is shown as a solid line. However, the actual demand may vary substantially. For practical reasons, it is not desirable to test a broad range of prices for pricing unit given the potential for testing losses and the long testing period. Therefore, a statistical approach can be employed. This approach relies on the fact that there is already substantial information and certainty about the initial, or current price, for a pricing unit. Further, it relies on the fact that it is easy to determine whether other prices are “better” or “worse” than the current price according to a selected goal function (£).
The specific goal function is vendor selectable. Several default goal functions are provided by embodiments of the invention: revenue (price times quantity); profit (price less cost times quantity); and also one of the above goals together with an accounting for customer lifetime value. Additionally, some embodiments of the invention include a liquidation goal.
Still other goal functions are possible. For example, a customer acquisition goal function is provided by some embodiments where the goal is to increase the number of new customers through aggressive pricing. This function can be defined in terms of an increase in the size of the customer base per unit time. Similarly, other embodiments include a customer retention goal function. In that instance, the goal is to decrease the customer churn rate (i.e. number of customers leaving). The function can be defined in terms of the percent of customers that were active customers a certain period of time ago, who are still active customers in the present period of time. In some embodiments of the invention, different goal functions can be selected for different customer segments of a given product unit. For example, a customer retention goal could be selected for the “existing customers” segment while the customer acquisition goal could be selected for the “new customer” segment.
Accordingly, thecalibration714 process can be thought of as having two primary phases: fixing and triage. In the first phase, fixing, the initial, or given, price for a pricing unit is tested for a long enough period of time to evaluate the look to buy (L2B) ratio for the pricing unit. The L2B ratio is the number of looks, e.g. web page views of the pricing unit, as compared to the number of purchases of the pricing unit. The L2B information can be obtained from log files and transactions on theweb server100. When the L2B ratio for the initial price is known within a predetermined statistical confidence, a lower bound on the goal function can be determined: £min=£($X), where $X is the initial price. Also, phase two, triage, can begin at this point.
In phase two, a list of candidate prices ($A, $B, $C, $D, etc.) can be quickly tested for short periods and the results compared with £min. The candidate prices can be selected through competitive research, small perturbations of the initial price, merchandiser suggestions, manufacturer price suggestions, etc.
The results for the candidate prices can be evaluated using the goal function (£). The evaluation can take into account L2B and the confidence in the measure. For example, if the above four prices were tested, then £($A), £($D) are compared with f.sub.min. Candidates that appear better than the initial price, e.g. £(price)>£mincan be accepted for further triage. Candidates that perform poorer than the initial price are rejected, e.g. discarded from further consideration during this triage phase. Of the accepted candidates, one is selected as the new price and phase one, fix, is resumed with that as the starting price.
This two-phase process will continue until only a single price remains. As the number of tests in phase two, triage, is kept small, the testing costs incurred from selection of bad candidate prices are minimized. Further, each time phase one, fix, is re-entered, a price that appears to be better than the previous price, according to the goal function, is being used, e.g. the vendor is making more revenue/profit/etc.
A walkthrough of an example for a pricing unit, e.g. thepricing unit310, may be helpful. Initially, the pricing unit has a starting price, $X. Four candidate prices are selected, $A, $B, $C, and $D. The candidate prices may have been obtained through competitive research; perturbation of $X, e.g. add/subtract a few %; a merchandiser's suggestion, and/or other sources. During phase one, fix, the L2B for $X is computed and £min, is determined—to a certain confidence.
Next, at phase two, triage, short tests are conducted using the candidate prices ($A, $B, $C, and $D). Based on the results, £($A), . . . , £($D) are compared with £min. In this instance, £($A) and £($B) appear better than £min. Accordingly, $C and $D are rejected as candidate prices and removed from further consideration.
Phase one, fix, is restarted with one of $A and $B. In this instance $A was chosen because £($A)>£($B). However, the choice could be random as well. After sufficient L2B information is determined a more confident estimation of £($A) will be known. If the value of £($A) is greater than £min, then £min=f($A). If however, further testing reveals that £($A)<£min, £($A) can be eliminated from the candidate list and one of the remaining candidates selected for fixing.
In this example, £($A)>£minand so £min=£($A). Phase two, triage, then begins with short price tests of remaining candidates, e.g. $B. In this example, further testing reveals that £($B)<£min, so it is eliminated as a candidate. Accordingly, $A is the new price and the testing process terminates as there are no further candidates for testing. Otherwise, the process would continue until only a single price remained.
As noted, various clustering approaches can be used to test multiple pricing units by estimating the demand for each pricing unit using the aggregate demand over a group of pricing units. The particular cluster selected can be dynamically generated across any of the segmentation axes. For example, a group of similar products within a product segment may be tested as one unit. Or, a group of similar customer segments for a single product may all be tested as one unit. Similarly, special pricing for bundled pricing units can be determined to select a price for the bundle based on the measured demand for the bundle.
Statistical UnderpinningsIf q is the true demand for a given price, then the likelihood (L) that nbuys will be observed in nlooks is given by:
Now, for a range a range of possible values of q, there is a prior distribution of probabilities P(q)=the probability that the true demand is q. From a given set of observations, nbuys out of nlooks, Bayesian updating can be used to update the probability distribution:
Pposterior(demand=q)=L{nlooks,nbuys|q)Pprior(demand=q).
The posterior distribution can be normalized to sum to 1 and be updated every time additional data is received by the system. At any point, a mean (average) estimate of demand can be computed together with the confidence value that the true demand is within a given interval of the mean: q=Σqp(q) with confidence
Prior to receiving data, a uniform distribution can be used. The confidence is considered “good” when the confidence in a given interval around the mean value is above a predetermined threshold.
Inventory Liquidation CommentIn liquidation mode, only themonitor716 process is needed. Given the liquidation time horizon, Y days; a minimum price, $MP; the number of units remaining N and the estimated L2B—which is related to sales velocity—for the product, the price can be set.
Themonitor716 process can examine the projected sell out date given the current L2B, time remaining to sell out date and units remaining. If the projected sell out time is past Y days, the price is lowered and monitoring continues. If the projected sell out time is before Y days, the price can be raised slightly and monitoring continued.
As a fall back, a “panic mode” can be provided where the price is dropped to $MP, the minimum price, if more than a vendor selected amount of inventory is remaining at a certain point prior to the Y day deadline. In still other embodiments, the vendor may opt to allow the price to free float to ensure liquidation, e.g. set $MP=$0.
Two pricing options can also be provided monotonic and non-monotonic. In monotonic pricing, themonitor716 process only lowers the price. Therefore, the price is lowered in small increments, but perhaps rapidly. If the price is too low, the price is held despite the fact that sell out may occur prior to the Y day deadline. In non-monotonic pricing, the price can be raised and lowered during the liquidation process so as to sell as slowly as possible (maximizing goal) while still selling out the inventory.
Monitoring and TriggersAsFIGS. 6 and 7 suggest, the automatic price should be adjusted as demand changes with time. This is accomplished through monitoring of pricing unit sales. An expected value for the goal function, e.g. £(selected price), was determined by thecalibration714 process for a given pricing unit. The monitoring716 process can use that expected value and monitor results from actual sales.
If the actual results, £actual(selected price), are varying outside a predetermined range, e.g. confidence interval plus or minus a vendor selectable reactivity setting, then the price should be adjusted. At first, information derived from theearlier calibration714 process can be used to estimate the change to the demand curve, and accordingly a new price. That new price can be monitored and if adjustments are too frequently needed or the value of the objective function cannot be maintained, then a trigger, e.g. thetrigger704, can be sent to cause a new calibration for that pricing unit.
The range of deviation allowed from the goal is in part set by the confidence in the estimation of the initial expected value. That can then be further adjusted by a vendor selectable amount to increase, or decrease, the tolerance for deviation between the actual results and the predicted results. A large vendor selected range will increase price certainty, but decrease reactivity to changes in demand. A small vendor selected range will increase system reactivity, but decrease price certainty for end customers who may find that prices are fluctuating too frequently for a particular pricing unit. Where appropriate, different vendor selected ranges can be applied to different pricing units.
Thus, the process acts as a large feedback loop with monitoring causing triggers which serve to cause demand estimation and measurement and in turn cause the selection of new prices. The pricing determinations can be made on a per pricing unit basis, e.g. according to a vendor's segmentation model. For example, some electronic commerce vendors may segment customers according to whether they use shopping robots or not, accordingly, different prices could be offered to each of those two customer segments.
As noted, the goal function is vendor selectable, it can also be vendor designed to meet vendor specific needs. Embodiments of the invention may support an application programmers interface (API) for defining goal functions and/or allow the definition of goal functions via the administrative interface.
One particularly difficult problem for electronic commerce vendors is ascertaining the value of their customer relations. The next section describes an approach to valuing the customer quantitatively for use as part of a goal function.
H. Accounting for Repeat Business: Quantifying the Lifetime Value of the CustomerUntil now, the goal function has been considered as f(price). However, the goal function has not explicitly accounted for the benefits of return business, e.g. balancing the short term goal (£) versus the longer term value of a customer over her/his lifetime.
Lifetime customer value can be modeled as an exponential distribution: P(return to buylbuy today)=kP(buy today), or in words: the probability that a customer will make a return purchase—given that they bought something—is proportional (k) to the probability that the customer made the initial purchase. The proportionality constant (k) can range from zero to one.
With some assumptions a model of average behavior of customers can be arrived at: P(return N timeslbought N−1 times)=kP(bought N−1 times), which equals P(return N times|bought once)=kNP(bought once), assuming that k is independent of purchase price and independent of a customer's previous purchases. This average therefore is over all customers in the population (e.g. it can be subdivided by segments), over all of their purchases, irrespective of the price of each purchase.
This model can be verified using historical data. From a particular initial group of customers the number of customers in that group who made 1, 2, 3, . . . N purchases can be tabulated. It is particularly important that when considering a person who made, for example, 5 purchases, that that same person was counted as having made 1, 2, 3, and 4 purchases. The proportionality constant, k, can be estimated by a line fit through the logarithm of the counts with the exponent of the slope of the line being an estimate of k.
This model however can be further extended to account for different probabilities of return, e.g. different k at different stages of a customer's life cycle (based on the number of purchases made). In this configuration, a piecewise linear fit to the above curve can compute a different k for each stage of a customer's lifecycle. This helps capture the fact that there may be a significant drop off in repeat business after a given number of purchases, e.g. 5 purchases, that would change the way the customer lifetime value should be viewed after she/he has made five purchases.
Still further extensions are possible, the timing of the repeat visits can be considered as well. If intervals between purchases are known for customers and the maximum time period is T days, one of the above types of graphs can be considered by ignoring data for customers (in the tabulation process above) where the time period between purchases exceeded the T day horizon. For example, if a customer's third purchase was outside the T day horizon, then she/he would not be tabulated as having made a third purchase. Accordingly, the “lifetime” value of the customer with the time horizon of T days can be ascertained, e.g. how valuable is this customer to me over the next hour, day, week, month, year, etc.
This estimate of retention rate can be used to estimate lifetime value for a customer: LTV=Σkna, where a is the average value of a purchase according to the basic goal function, e.g. average revenue per purchase, average profit per purchase, etc. The summand can be computed to a given level of precision, e.g. stop when the increase is less than a predetermined amount. The value for a can easily be determined from past transactions for customers within a particular customer segment.
If a piecewise curve fit approach has been used to estimate a different k for different stages of the customer lifecycle, then the different values of k for each stage of the customer's life should be used with the formula for LTV suitably modified.
Estimations of the LTV can be used to further optimize pricing with respect to a specific customer, given knowledge of that customer's purchase history and which customer segment he or she belongs to. For example, by discounting a product for a certain customer segment, we increase the demand for the product within that customer segment, and hence increase the number of those customers from whom we can expect to extract the Lifetime Value. This increased demand comes at the cost of a suboptimal immediate gain. By quantifying this tradeoff, we can enable a vendor to balance an appropriate short term loss against the likelihood of future returns. Specifically, once the optimal price for a product has been determined by the methods above, the information about the demand curve generated by the live price testing can be used to estimate how a certain discount will increase the demand for the product. Estimations of the LTV can be used to map that increased demand into an increase in the expected gain from a given group of customers (e.g., a group of customers in a given segment who have made a given number of purchases), over a given period of time. Thus, we can determine a schedule of discounts based around the nominal optimal price, in order to attract and retain the most valuable customers.
Additional ApplicationsThe lifetime customer value modeling approach can also be used outside of the automatic pricing mode, e.g. to adjust manually set prices. In fact, it can even be applied in traditional retail environments. An example will be helpful.
Consider a retailer (either brick-and-mortar, online, or a mixture of the two), Retailer, that sells products to customers and uses a customer loyalty card, e.g. supermarket card; a store credit card; and/or some other mechanism whereby customer identities for repeat business purposes can be ascertained. In such an instance, LTV can be computed for those customers and prices for some items downwardly adjusted to reflect the customer's LTV.
Accordingly, a customer could enter Retailer, select several items and identify themselves. Based on that customer's LTV, prices for one or more items they selected could be lowered. The specific amount the prices are lowered can be a function of the LTV, e.g. g(LTV). Thus, if the LTV for a customer is $1000, a portion of that $1000 could be returned now as a bonus discount.
An explanation of how this is relevant will be helpful. Consider Competitor, a competitive retailer to Retailer who does not offer bonus discounts. Like Retailer, Competitor attempts to select the best prices for its products. If both Retailer and Competitor have online components, they may use the automatic pricing mode to optimize their pricing.
Consider then Customer: Customer has a choice between shopping at Retailer and Competitor for a particular set of goods. Customer will know that if she goes to Competitor she will pay a price set by Competitor that is short term goal maximizing, e.g. it cannot accurately reflect Customer's value to Competitor. On the other hand, Customer will know that Retailer will give her discounts to encourage her to return. Retailer is confident in its targeting of discounts to Customer based on the quantitative assessment of Customer's LTV, and what stage Customer is at in that lifetime, etc. Accordingly, Retailer's pricing may be better for Customer than Competitor's, but also goal maximizing for Retailer in the long term since it will not give undue discounts.
I. ConclusionThus, an automatic pricing method and apparatus has been described. The automatic pricing method is applicable to electronic commerce environments where non-negotiated, non-auction transactions are occurring. The method reduces the need for electronic commerce vendors to manually determine prices for their products and services. Instead, the automatic pricing method uses live price testing to estimate and measure demand and allow price to be set according to a vendor selectable goal. The goal can balance short term gains versus long term gains.
Additionally, an approach to measuring customer lifetime value has been described that can be used both in an electronic commerce environment and in traditional bricks-and-mortar stores to allow prices to be adjusted to account for long term benefits to the vendor according to a quantitative model of customer lifetime value.
In some embodiments, thepricing module410 can be hardware based, software based, or a combination of the two. In some embodiments,pricing module410 is comprised of one or more computer programs that are included in one or more computer usable media such as CD-ROMs, floppy disks, or other media. In some embodiments, pricing module programs, pricing mode programs, automatic pricing mode programs, automatic liquidation mode pricing programs, and/or connectivity programs between an electronic commerce vendor and a pricing module are included in one or more computer usable media.
Some embodiments of the invention are included in an electromagnetic wave form. The electromagnetic waveform comprises information such as pricing mode programs and pricing module programs. The electromagnetic waveform may include the programs accessed over a network.
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.