U.S. patent application number 13/285568 was filed with the patent office on 2012-02-23 for system for on-line merchant price setting.
Invention is credited to Raymond J. Mlejnek, William E. Staib.
Application Number | 20120046998 13/285568 |
Document ID | / |
Family ID | 38162555 |
Filed Date | 2012-02-23 |
United States Patent
Application |
20120046998 |
Kind Code |
A1 |
Staib; William E. ; et
al. |
February 23, 2012 |
SYSTEM FOR ON-LINE MERCHANT PRICE SETTING
Abstract
A method for setting a price for a product sold online by a
subject merchant is provided. The method comprises accessing price
information of at least one other merchant of the same product by
applying a shopping robot to two or more shopping sites, including
at least one price comparison site, with other offerings of the
same product by other merchants; accessing pricing rules for the
subject merchant that cover sales originating from the comparison
site; applying the pricing rules to adjust the current product
price at which the subject merchant offers the product on the two
or more shopping sites to be more competitive; and responsive to a
price adjustment that would reduce the product price so as to
violate a specified profitability goal, increasing the shipping
charges with which the merchant offers the product with the price
adjustment on the two or more shopping sites.
Inventors: |
Staib; William E.;
(Coralville, IA) ; Mlejnek; Raymond J.;
(Coralville, IA) |
Family ID: |
38162555 |
Appl. No.: |
13/285568 |
Filed: |
October 31, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11560345 |
Nov 15, 2006 |
8050976 |
|
|
13285568 |
|
|
|
|
60737071 |
Nov 15, 2005 |
|
|
|
Current U.S.
Class: |
705/7.35 |
Current CPC
Class: |
G06Q 30/0245 20130101;
G06Q 20/201 20130101; G06Q 30/0222 20130101; G06Q 30/06 20130101;
G06Q 30/0273 20130101; G06Q 30/0283 20130101; G06Q 30/0238
20130101; G06Q 40/00 20130101; G06Q 30/0601 20130101; G06Q 30/0211
20130101; G06Q 30/0206 20130101 |
Class at
Publication: |
705/7.35 |
International
Class: |
G06Q 30/02 20120101
G06Q030/02 |
Claims
1-29. (canceled)
30. A computer system-implemented method for optimizing a product
offering price for online shoppers comprising: for a plurality of
on-line shoppers that shop with a subject merchant for a subject
product, associating with each such shopper a means of
identification; using a test seller module that offers different
prices to different shoppers, recognizing on-line shoppers with an
associated means of identification, and offering such recognized
shoppers the same price a shopper with the same associated means of
identification has previously seen; from market data of the test
seller module, determining at least one price-demand curve for the
subject product; and using such price-demand curve, determining at
least one optimized price for the subject merchant and offering it
to shoppers.
31. The method of claim 30 wherein the step of determining at least
one optimized price comprises determining an optimized price for
the subject product offered by the subject merchant and for
shoppers who are grouped based on an attribute selected from the
group consisting of: association with a geographical region,
association with a channel, association with a demographic,
association with a buying pattern, and combinations of the
foregoing.
32. The method of claim 30 wherein the step of associating with
each such shopper a means of identification comprises: providing a
tagging module for the subject merchant that identifies a plurality
of online shoppers by means of a unique or near unique tag;
combining the tag with one or more product catalog IDs ("skus") to
obtain a unique or near-unique identifier for the shopper and the
products.
33. The method of claim 30 wherein the step of associating with
each such shopper a means of identification comprises identifying
that a shopper is associated with at least one geographic region
and the step of determining at least one optimized price comprises
determining an optimized price for the at least one geographical
region.
34. The method of claim 30, wherein the method further comprises:
controlling a module for discovering an optimized price for a
subject product on a channel, by: defining a range of prices for
the subject product; randomly selecting prices from a range of
prices and, using the test seller, offering them to at least a
portion of the shoppers on a channel; and developing a price-demand
curve for such channel for the subject product.
35. The method of claim 34 wherein defining a range of prices for
the subject product comprises using other merchant's prices for the
same product.
36. The method of claim 30, wherein the step of determining at
least one price-demand curve for the subject product comprises
determining a price-demand curve for the subject product in at
least two geographical regions or two channels and, responsive the
subject merchant's sales or profitability goals, determining an
optimized price for each of the at least two geographical regions
or two channels, and offering to online shoppers associated with
each of the at least two geographical regions or two channels the
optimized price for a shopper's associated geographical region or
the channel a shopper is using.
37. A computer system-implemented method for providing a product
offering price to an online shopper comprising: providing a tagging
module that identifies the online shopper by means of a unique or
near unique tag; combining the tag with one or more product catalog
IDs ("skus") to obtain a unique or near-unique identifier for the
shopper and the products; and upon a return visit of the shopper,
responsive to the identifier for the shopper and a product
selection by the shopper, finding a shopper associated price for
the product selection by the shopper.
38. The method of claim 37, wherein the method presents a price to
the shopper based on the shopper being grouped by an attribute
selected from the group consisting of: association with a
geographical region, association with a channel, association with a
demographic, association with a buying pattern, and combinations of
the foregoing.
39. The method of claim 37, further comprising: determining a
price-demand curve for a subject product in at least two
geographical regions or two channels and, responsive to a subject
merchant's sales or profitability goals, determining an optimized
price for each of the at least two geographical regions or two
channels; and offering to online shoppers associated with each of
the at least two geographical regions or two channels the optimized
price for a shopper's associated geographical region or the channel
a shopper is using.
40. The method of claim 37, further comprising: discovering an
optimized price for a product on a channel, comprising: defining a
range of prices for the product; randomly selecting prices from the
range of prices and offering them to shoppers on the channel;
tagging the shoppers to whom a selected price offer is made so that
a particular shopper who revisits the channel receives the same
price offer the shopper received before; developing a price-demand
curve using market data from the selected price offers; and
adjusting the price of the product using the developed price-demand
curve.
41. The method of claim 40 wherein defining a range of prices for
the product includes using other merchant's prices for the same
product.
42. A computer-implemented system for optimizing a product offering
price for online shoppers comprising: a module for associating a
means of identification with each of a plurality of on-line
shoppers that shop with a subject merchant for a subject product; a
test seller module that offers different prices to different
shoppers, by recognizing on-line shoppers with an associated means
of identification, and offering such recognized shoppers the same
price a shopper with the same associated means of identification
has previously seen; and a price analyzer module for determining
from market data of the test seller module at least one
price-demand curve for the subject product and, using such
price-demand curve, determining at least one optimized price for
the subject merchant and offering it to shoppers.
43. The system of claim 42 wherein the price analyzer module
determines an optimized price for the subject product offered by
the subject merchant and for shoppers who are grouped based on an
attribute selected from the group consisting of: association with a
geographical region, association with a channel, association with a
demographic, association with a buying pattern, and combinations of
the foregoing.
44. The system of claim 42 wherein the module for associating a
means of identification with each of a plurality of on-line
shoppers comprises: a tagging module for the subject merchant that
identifies a plurality of on-line shoppers by means of a unique or
near unique tag and combines the tag with one or more product
catalog IDs ("skus") to obtain a unique or near-unique identifier
for the shopper and the products.
45. The system of claim 42 wherein the module for associating a
means of identification with each of a plurality of on-line
shoppers comprises a module identifying that a shopper is
associated with at least one geographic region and the price
analyzer determines at least one optimized price for the at least
one geographical region.
46. The system of claim 42, wherein the system further comprises: a
module for discovering an optimized price for a subject product on
a channel, by executing instructions: defining a range of prices
for the subject product; randomly selecting prices from a range of
prices and, using the test seller, offering them to at least a
portion of the shoppers on a channel; and developing a price-demand
curve for such channel for the subject product.
47. The system of claim 46 wherein module executing instructions
defining a range of prices for the subject product comprises using
other merchant's prices for the same product.
48. The system of claim 42, wherein the price analyzer module
determines at least one price-demand curve for the subject product
by determining a price-demand curve for the subject product in at
least two geographical regions or two channels and, responsive the
subject merchant's sales or profitability goals, determines an
optimized price for each of the at least two geographical regions
or two channels, and offers to online shoppers associated with each
of the at least two geographical regions or two channels the
optimized price for a shopper's associated geographical region or
the channel a shopper is using.
49. A computer-implemented system for providing a product offering
price to an online shopper comprising: a tagging module that
identifies the online shopper by means of a unique or near unique
tag and combines the tag with one or more product catalog IDs
("skus") to obtain a unique or near-unique identifier for
association with the shopper and the products; and a price analyzer
module, responsive to the identifier for the shopper and a product
selection by the shopper, for finding upon a return visit of the
shopper a shopper associated price for the product selection by the
shopper.
50. The system of claim 49, wherein the price analyzer module
presents a price to the shopper based on the shopper being grouped
by an attribute selected from the group consisting of: association
with a geographical region, association with a channel, association
with a demographic, association with a buying pattern, and
combinations of the foregoing.
51. The system of claim 49, the price analyzer module has
executable instructions for: determining a price-demand curve for a
subject product in at least two geographical regions and,
responsive to a subject merchant's sales or profitability goals,
determining an optimized price for each of the at least two
geographical regions; and offering to online shoppers associated
with each of the at least two geographical regions the optimized
price for the shopper's associated geographical region.
52. The system of claim 49, a module for discovering an optimized
price for a product on a channel, by executing instructions
comprising: defining a range of prices for the product; randomly
selecting prices from the range of prices and offering them to
shoppers on the channel; tagging the shoppers to whom a selected
price offer is made so that a particular shopper who revisits the
channel receives the same price offer the shopper received before;
developing a price-demand curve using market data from the selected
price offers; and adjusting the price of the product using the
developed demand curve.
53. The system of claim 52 wherein module for discovering an
optimized price comprises instructions defining a range of prices
for the product that includes other merchant's prices for the same
product.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application is a continuation of U.S. patent
application Ser. No. 11/560,345, filed Nov. 15, 2006, which claims
the benefit of U.S. Provisional Application No. 60/737,071, filed
Nov. 15, 2005, the entire contents of both of which are
incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention relates to a computer program system
that collects information relevant to pricing for an online
merchant and uses price-setting rules for optimizing an online
merchant's profit from sales originating at ecommerce
comparison-shopping web sites.
BACKGROUND OF THE INVENTION
[0003] Comparison shopping services like Froogle, Amazon, Yahoo
Shopping, PriceWatch, NexTag, and Shopping.com provide on-line
merchants with a free or relatively inexpensive way to gain access
to new prospective customers. An online merchant provides one or
more product descriptions and the corresponding pricing for display
in a comparative listing with the same or similar products offered
by other merchants. This may include just the goods price for each
merchant or also shipping and handling pricing (and any necessary
tax calculation), so that a true total price can be determined by a
visitor to the comparison shopping service who wishes to explore
and to place an order to a listed merchant. However, the very
nature of comparison-shopping leads to price sensitive purchases
and may tend to reduce the profit margins of online merchants that
participate in such services.
[0004] It is often difficult for merchants to know the price at
which their competition is selling a particular product. A number
of other patent applications (e.g., U.S. Patent Publication Nos.
20040249643 and 20050071249) address this problem. However, the
systems described in those publications focus on price setting and
do not consider other adaptive changes such as modifying shipping
cost that might affect marketplace positioning, nor do they address
how to administer more than one price per item or the cost or type
of the sales channels being used. In the following discussion of
the invention, the term channel includes but is not limited to at
least one comparison shopping service, at least one marketplace, at
least one merchant shopping site or a combination of the three (for
example a group comprising two comparison shopping services and a
merchant shopping site, or a group comprising one shopping service,
one marketplace, and three merchants.) That is, a channel
represents one or more Internet sites where products are promoted
and/or sold, and where some commonality makes it worthwhile to
study sales of such sites together.
[0005] One technique that is available today to assist merchants in
optimizing their business is "A/B Testing." This service, offered
by providers such as Optimost and Offermatica, is typically used to
evaluate web site layout, product placement, or the effectiveness
of different promotional offers. For instance, if a merchant
desires to know if its profits will be better by offering customers
a discount of $10 on a $100 order or $20 on a $200 order, an A/B
test might be appropriate. Traditionally, an A/B test provides one
variation (the "A" purchase option) to a statistically significant
sample of web site users and another variation (the "B" purchase
option) to another statistically significant group of uses. (Note
that the number of samples required for a statistically significant
test is a function of the amount of performance difference between
the "A" variation and the "B" variation, and is not generally known
before the test.) The A/B test provider then measures the
effectiveness or profitability of each option and determines if "A"
or "B" (if either) results in better performance than a baseline
option, typically the current offer.
[0006] Recently, A/B testing providers have expanded into
multi-variate testing where multiple variations on multiple
dimensions of a purchase option may be tested simultaneously. For
example, a web site might test two different site layouts and two
different promotions simultaneously, resulting in four possible
combinations being tested. If a merchant attempts to test many
different choices of multiple variables simultaneously, this
multivariate approach may require an unrealistic number of
experiments to determine reasonable solutions. Although A/B and
related multivariate testing can be used to optimize product
prices, coupon offers, or shipping promotions, one known problem
with A/B testing is that it treats variables as discrete choices
rather than recognizing that some of these variables may be
continuous, non-linear, or even discontinuous. It is reasonable to
expect that a price-demand curve will often have these
characteristics and may not be most efficiently and accurately
found by A/B testing. For more detail on these problems, one can
review "AB Testing: Too Little, Too Early?" by John
Quarto-vonTivadar, Future Now, Inc., 2005, or U.S. Patent
Publication 20040204979). As a further example of A/B testing
limitations, consider a product that has a peak in sales at a price
of $95, but has identical, lower sales at prices of $90 and $100.
If the merchant attempts A/B testing at $90 and $100, the merchant
will not see any performance difference and will never find the
ideal price of $95 because that price was never evaluated. Another
limitation of A/B testing to consider is that it only looks at the
merchant's pricing and sales data. A merchant might more quickly
identify the peak profit point of the price-demand curve by
observing prices at which other merchants are offering the product.
For the above reasons, there is a need in the art for a better
price optimization technique than A/B testing.
[0007] Typically, comparison-shopping services do not process
transactions directly (although Amazon and eBay are exceptions).
Instead they forward prospective customers to the merchant's
website. The comparison services receive revenue either `per click`
for directing customers to a merchant website or on a pay-per-click
advertising model for ads that are shown alongside the merchant's
price data on the comparison site.
[0008] Typically, online stores offer a single price per product
regardless of from which referring site a customer arrived at the
merchant's site. Therefore, if a merchant identifies that a
competitor on a particular comparison site is selling a product for
a lower price and matches or beats the offer, the merchant will
change its price on its website, which is then the offered price
for all customers, whether or not they discovered the merchant from
the particular comparison shopping service where the merchant was
trying to maintain price competitiveness. Thus the merchant may
lower its profit margin for all orders of that product.
[0009] Further, prior art comparison-shopping services typically
compare a single price per product per merchant. Because some sales
channels, such as auction sites, support multiple prices such as
buy-it-now, bid start and reserve prices, it may be more useful for
the merchant to address separately these multiple types of pricing
per product for the merchant's various on-line sales channels.
[0010] Further, many comparison-shopping services compare the
product price but not the "total price" after including shipping
charges to a certain destination. So two merchants may charge the
same for the product but their shipping prices may differ
considerably.
[0011] A key problem to solve is that merchants need to use
comparison-shopping services to attract customers but need a better
way to optimize their profit margin based upon the information
available to the customer at the time of their shopping. For
example, a merchant that normally sells a product for $200 may be
willing to sell it for $150 to match a competitor on a comparison
site. But the merchant only wants to offer the $150 price if the
customer is at a shopping comparison site where competitors are
offering a price such that $150 may be attractive. If other
merchants on the comparison-shopping site are offering extremely
low prices, the merchant may need also to determine whether its
cost structure and overall selling strategy permit it to offer an
equivalent or lower price. To do this requires more functionality,
optimization logic, and tighter integration with e-commerce stores
than is offered by existing e-commerce offerings.
[0012] Another problem that merchants face is knowing what prices
the market will bear. For instance, a product selling well at a
price of $12.50 may sell equally well at $12.75, but then not sell
well at $12.99. Traditionally, brick and mortar merchants may
estimate price and demand curves via `test marketing` that offers
different prices or products to customers of stores in different
locales. However, this form of test marketing does not apply to
e-commerce stores, because the location of the computers hosting
the store has no relevance to the location of the customer.
[0013] A further problem is how a merchant should decide which of
its products to sell on which sales channels, because the sales
channels have different pricing models that include listing fees,
insertion fees, final value fee at sale, upload fee, store fee,
picture fee, fees based on category, credit card fee and
transaction fee. Determining the true cost of a channel is
important to merchants, since a product's total channel cost
affects the effectiveness of the channel. The price of product is
also a consideration; some channels' costs are prohibitively
expensive for low-cost-low margin products while others are not
effective for high-priced products. Another problem is when to
re-list or when to abandon auction sales that did not result in
finding a buyer. For example if sales channel "A" charges a flat
rate of $2.00 for each product sold, then a merchant selling
products with profit margins that are less than $2.00 will lose
money using channel "A". However, if sales channel "B" charges 1%
of product cost, then the merchant can sell those same products
with a margin of less than $2.00 but greater than 1% of product
cost on channel "B" and still make a profit.
[0014] It would be desirable to have tools to assist on-line
sellers in selecting prices that improve sales and
profitability.
SUMMARY OF THE INVENTION
[0015] A method for setting a price for a product sold online by a
subject merchant and listed on at least one channel with other
offerings of the same product by other merchants, comprising:
accessing available subject merchant's sales status data for the
product including sales trends originating from the at least one
channel; accessing pricing rules for the subject merchant that
cover sales originating from the at least one channel, wherein the
pricing rules are responsive to the sales status data, if
available, and determine whether or not a price adjustment should
be explored for the at least one channel; if the pricing rules
determine that the price should be adjusted, and that price
information from at least one other merchant is needed, accessing
price information of other merchant offers for the same product in
the at least one channel; applying the pricing rules for the at
least one channel to maintain or adjust the current product price
at which the subject merchant offers the product on the at least
one channel; and providing the maintained or adjusted price to a
potential buyer.
BRIEF DESCRIPTION OF THE DRAWING
[0016] FIG. 1 is a high-level block diagram of an embodiment of the
invention deployed at a typical merchant's ecommerce web site with
3.sup.rd party sources of data identified.
[0017] FIG. 2 is a graph of market data (sales vs. price) for a set
of products displaying various linear behaviors.
[0018] FIG. 3 is a graph of market data (sales vs. price) for a set
of products displaying various non-linear behaviors.
[0019] FIG. 4 shows in schematic form a table that may be used to
organize some of the price discovery operations.
[0020] FIG. 5 shows a flowchart of the logical flow for one
embodiment of the Price Analyzer (PA) applying a sample set of
pricing rules.
[0021] FIG. 5A shows a flowchart of an alternate logical flow for
one embodiment of the Price Analyzer (PA) applying a sample set of
pricing rules.
[0022] FIGS. 6a, 6b and 6c are a PO.txt file that shows a database
schema and variables for use by the PA module.
[0023] FIG. 7 shows a flowchart of the logical flow relating to
identifying any tags applied to shoppers for managing price
differentiation and applying tags to identify shoppers.
[0024] FIG. 8 is a database schema for the
ProductSalesInventoryTrends table, used by the PA module to account
for recent sales trends, inventory levels, seasonality, and product
storage costs when determining which PA module goal is appropriate
for a given merchant's product.
DETAILED DESCRIPTION OF THE INVENTION
Introduction
[0025] The invention is an internet-based service and system
offered to merchants that provides the following: [0026] 1. Obtains
information from various comparison-shopping (or other) internet
sites on how other merchants are pricing their products, focusing
on "total price," including product, shipping and sales tax, and
any quantity discounts, availability and package bundling. [0027]
2. Provides the means for a merchant to identify its lowest
acceptable selling price (or profit margin) for a product or
category of products (e.g., desired margins may change seasonally
based on product category). Provides a means for establishing
multiple prices per item for multiple channels using adaptive means
and total sales channel costs. [0028] 3. Provides the means for
directing the merchant's ecommerce software to alter the shipping
price offered to a given customer who has been offered a favorable
product base price to maintain a desired profitability level of the
overall customer transaction. [0029] 4. Updates one or more
comparison-shopping sites on behalf of the merchant to indicate a
site-specific price that is competitive for that marketplace or
channel. [0030] 5. Provides a means for when a user clicks on the
merchant's offer at a referring shopping site to direct the
merchant's ecommerce store to offer the customer the product at the
price that was shown on that given shopping site. This is done by
various tags, including one applied in an encrypted manner to a
client side cookie (if available), such that a user cannot readily
`hack` or otherwise set his/her own price. [0031] 6. Provides, via
its variable, site-specific pricing model, for some obfuscation to
make it difficult for a competitor to know the typical price for
which a merchant offers a product. A competitor would need to look
in multiple marketplaces to determine what it needs to do to
compete. [0032] 7. Includes a means to identify from what referring
site the user came to the merchant's site so the user will receive
the same offer on a return visit to the site directly based on long
term storage of IP referrer, cookie reference or user name. [0033]
8. Includes the means to adjust prices for products on channels
based on the particular channel's profitability. [0034] 9. Access
available sales status data, including sales trends measures (e.g.,
month to month or week to week sales increases/decreases),
inventory level and aging, inventory storage costs and seasonality
to determine if prices should be adjusted and to what extent.
[0035] Further, the present method and system optimize multiple
prices and shipping charges per item per ecommerce sales channel
simultaneously. The system can regularly or on command gather
"total pricing" data including shipping, sales tax, base product
price and possible alternative product prices, such as quantity
discount, initial bid or buy-it-now prices, on a variety of
products from a merchant's catalog from a number of existing
ecommerce web sites of interest, and build a long term data store
of pricing for further analysis. The system also can gather "market
data" by selling a relatively small volume of inventory across
multiple sales channels at varying prices, storing these "test
marketing" data for further analysis. The system uses available
data, multiple algorithms and user input rules to compute new,
adjusted prices that match merchants' varying sales goals, such as
maximizing profits, matching products to their most economical
sales channels, gaining market share or optimizing advertising
performance. The system may optimize profit margin by having
channel specific pricing rules that consider total cost of a sales
channel, including all fees such as listing, insertion, store,
upload, picture, category, credit card and transaction in
conjunction with the estimated price/demand curves. The system may
optimize profit margin by considering sales channel characteristics
and selling parameters controllable by a merchant other than price
and costs, such as making an offer based on time of day, time of
year and day of week that are unique to a channel, such as those
that may be found on an auction site (for example, raise a price on
Sundays, if that is the time that eBay has the most traffic).
[0036] Also, the system may determine an overall price adjustment
factor for each channel to optimize profitability of each channel.
This is especially useful in instances where there are not enough
sales of a given product to achieve the statistical significance
required to optimize prices for that particular product in that
channel. In such cases, where statistical significance exists at
the channel level, the system can determine price adjustments on a
channel basis and then apply those adjustments to the individual
products sold in that channel. For example, if a product normally
sells for $100 but the system does not have a statistically
significant sampling of sales of that product in a given channel,
and if the system finds that other sellers' prices for the products
via that channel are typically 5% lower than the merchant's prices,
then the system may have the merchant offer the product for $95
through that channel until that channel's sales performance for
that product can be better evaluated. Further, this choice of
whether to use overall channel performance data or specific product
performance data can be made on a product by product basis,
determined by the statistical significance of sales of each product
in a given channel. Finally, the system uses the new,
channel-specific prices to update multiple sales channels used by
the merchant for conducting business in conjunction with special
sales channel recognition data that allows the merchant to pursue
sales' goals.
Infrastructure
[0037] For the embodiments below, the following hardware/software
set up may be used to implement the invention: Dual Intel
Xeon-based server with at least 2 Gb of memory, and as system
software, Windows 2000 Server, Microsoft SQL 2000, Internet
Information Server 5.0, Microsoft's CDOSYS email component. A
preferred embodiment would have multiple servers for database and
application redundancy and isolation, and could also be built on
other computing platforms.
[0038] Referring now to FIG. 1, the types of hardware and software
within the computer system 100 may vary depending upon the
implementation. For example, certain embodiments may have
components, such as the display 110, keyboard 112, and/or printer
114, depending upon the specific capabilities of the system. In
addition, the computer system 100 may support additional
conventional functionality not described in detail herein, such as
displaying images in a variety of formats, protecting the system
from cyber-threats, allowing users to securely log into the system,
and supporting administrative capabilities.
[0039] As is known in the art, the computer system 100 is adapted
to execute computer program modules for providing functionality
described herein. As used herein, the term "module" can refer to
computer program logic or instructions for providing the specified
functionality. A module can be implemented in hardware, firmware,
and/or software components. Preferably, a module is stored on the
storage device 140, loaded into the memory 160, and executed by
server CPU's 150 in coordination with the above listed system
software. As is the current state of the art, a typical ecommerce
store is built around its long-term database storage 142. A typical
ecommerce store keeps its product catalog and product inventory in
its database, including costs and prices. The store's web pages
then display products pulled from its database with all their
associated data including shipping options, costs and margins. It
may also keep its sales history in the database. Further, to the
extent the store uses analytical tools to derive sales status data,
such as various period-period sales, increases/decreases, industry
comparative sales data, inventory levels, inventory aging,
inventory duration predictions, inventory storage costs,
seasonality definitions and categories, that data is in the
database. FIG. 1 lists the types of data contained in the database
142. The invention system starts from this point.
[0040] As used in the present discussion, the term "product" may
mean a good, such as an MP3 player, or a service, such as rug
cleaning services, or a combination of goods and services, such as
a computer and a maintenance services package. "Price comparison
site" means any site where a user may see a listing of offerings of
the same or substantially the same product offered by multiple
merchants at different prices. This may be done in some kind of
tabular form showing salient details for the different merchant
offers or in simple lists of offered items (as in an auction site),
with links that a customer may need to follow to find selling
details.
Basic Components
[0041] In FIG. 1 the Smart Shop Bot (SSB) module 170 (which can
also be called a robot or a crawler), is responsible for gathering
total competitive prices from one or more ecommerce sites of
interest where products of interest are sold. These sites may
include one or more price comparison sites 210 where the merchant
has or is exploring a presence with one or more products. It may
also include other sites that the merchant views as competitive for
the products of interest and likely to be consulted by a potential
purchaser from the merchant. A site or a collection of sites that
are the subject of a common price setting cycle leading to the
merchant providing a single price (or set of associated prices) for
an item may be called a sales channel.
[0042] The merchant maintains in the database 142 not only a
listing of sites that are part of the pricing analysis but also a
shopping list that contains one or more identifiers of those
products from the merchant's catalog for which competitive pricing
information is sought. The sites of interest are stored in the
database and maintained by the merchant and often include URLs. The
sites of interest will normally include one or more price
comparison sites 210, but may also include any site where
competitive pricing information of interest may be found. As noted,
the sites of interest may be partitioned into different channels
for which a separate pricing analysis will be done. For example, a
single comparison shopping site may be analyzed as one channel in
one price setting cycle or multiple comparison shopping sites may
be each separated into multiple channels (e.g., eBay or Amazon or
Shop.com) and then pricing analysis and optimization may occur for
each channel. Also, two or more comparison shopping sites, both of
which are likely to be consulted by shoppers for a particular
product, may be researched as one channel for a price setting cycle
(For example, data for Shopping.com, NexTag and Shopzilla may be
analyzed in aggregate as a `comparison shopping` channel whereby
pricing might apply identically to each comparison shopping
channel.) Also, one or more individual store selling sites of
competitive interest may be collected in one analysis or brought
into an analysis of comparison sites.
[0043] In order to obtain total pricing from these sites the SSB
module 170 needs to know how to shop on each site or to obtain a
pricing data feed directly from the sites, whether the site is a
comparison shopping or marketplace site (e.g., Amazon Web Services
provides a pricing feed service) or a merchant site (e.g., an
individual merchant may send the operator of the service direct
data feeds or install a component into their web page to provide
the merchant's pricing data to the service. Such implementation is
detailed more fully in application Ser. No. 11/473,912 filed Jun.
23, 2006, titled "System for Competitive Internet Sales Analysis"
which is incorporated herein by reference). When the implementation
of the SSB 170 is a robot, the shopping instruction knowledge is
maintained in the database as a collection of templates, rules and
instructions. Persons and/or software that visit the site and
extract information about the steps for finding a product of
interest and that learn the steps for developing a total price
prepare these templates, rules and instructions for each site of
interest in one analysis. In some instances the templates, rules
and instructions may need to be product-specific, if the nature of
the product is that certain options have to be specified to develop
the price. The templates, rules and instructions may need to
consider, in addition to the product price, shipping and sales tax,
quantity discounts, availability and package bundling.
[0044] Finding the proper product for price comparison is a known
problem. See, e.g., U.S. Patent Publication No. 20040249643, which
describes item codes, keywords and filtering codes associated with
a merchant's products of interest and matching algorithms used with
these to find competitive products at selling sites of interest.
The focus is on keywords, such as new/used condition and keyword
equivalents (e.g., 512 Mb=1/2 G). This is not always needed for
most consumer products. Thus, the present system uses UPC/EAN/JAN
codes to find identical products and filter out those with vastly
different prices, which are likely not the same product.
[0045] The best foundation for a price analysis is to find the same
item, identical in all respects. However, as used in the discussion
herein, the "same" product may also be one with insubstantial
differences, such as color or finish, that generally do not affect
pricing.
[0046] As the SSB module 170 works its way through the shopping
list, the competitive total price data for each merchant offering a
product of interest is stored into the merchant's database. See
FIG. 4, which shows a first table with the kinds of data fields
that might be useful to capture pricing data for a particular
product UPC 111222333444 that is not auctioned as offered by
Sellers A-D on a particular comparison site or in a defined
channel. This data defines a price range for an item in the
particular channel that is to be analyzed for pricing. The data
collected for a channel and an item includes an option for
maintaining price history that may be varied at a seasonal level.
Thus, an item may have a normal, in-season price and also a
pre-season or end-of-season price, with each season defined by
specific dates. Also, for an auction site, the SSB module 170 may
identify and store a buy-it-now, bid start, reserve or other
auction-unique price. FIG. 4 shows a second table with the kinds of
data fields that might be useful to capture pricing data for a
particular product UPC 111222333445 that is auctioned.
[0047] In FIG. 1 the Test Seller module 172, (TS), uses a list of
ecommerce sales test sites 212 (e.g., eBay, Overstock.com, or the
merchant's site) to place a small percentage of product inventory
as selected by the merchant up for sale at various prices. The
present invention solves the `test marketing` problem for
e-commerce stores by enabling a merchant to simultaneously offer
different prices to different customers of a given e-commerce
store. This allows for faster determination of a product's price
and demand curve than existed before and allows the merchant to
improve profit. In one embodiment, a range of prices of interest
for a product are defined. The range of prices can be defined
around a current price level, by profit margin, by viewing other
merchant's prices for similar goods or by any other suitable means.
Prices along the range of interest are randomly selected for
testing and offered to different customers. One criteria for
selection is that a price has been observed in use by other
sellers. Another criteria is the utility of the price for
constructing a price-demand curve when sufficient data is collected
to perform curve fitting. A third criteria is creating an evenly
spaced set of test prices over the range of interest.
[0048] The customers are tagged (as explained in greater detail
below) so that when they revisit the site they are offered the same
test price as before. The results of the customers buying a product
and the particular price they were offered for that product are
saved and used to generate a demand curve. The demand curve
constructed is used to find an optimized or more favorable price
point for the particular product. In addition to testing the market
for price, the TS module 172 can test the market for other selling
parameters that may be unique to a particular channel, such as what
are the optimal times of day or days of week for ending an auction
or how long should an auction last. The TS module 172 monitors and
records the selling parameters of all sales of these tests in the
database for further analysis, in particular the development of
price and demand curves.
[0049] In FIG. 1 the Price Analyzer (PA) module 174 is shown and
its primary functions listed. PA module 174 can periodically or on
command be sent to analyze the price and market data obtained by
the SSB and TS modules 170, 172 and then compute adjusted prices
according to strategies and algorithms selected by the merchant.
This module completes a price setting cycle that is initiated by
the collection of the market data by SSB and TS modules 170, 172.
These strategies and algorithms include generating a best
competitive price based on the data and the merchants' goals. The
merchant's objectives and constraints are embodied in a set of
price setting rules, which may have a number of selling parameters
that are adjustable across all products or are specific to only one
product. For example, profit margin may be a parameter that is
constant across all products, or there might be some product that
would have its own profit margin objective. In some cases the
merchant's objective is to reduce inventory and the PA module 174
computes adjusted prices in order to accomplish this goal. Some
products will need to have prices for two or more seasons and
profit objectives for two or more seasons. The seasonal periods
themselves may be the same for certain products, e.g., a Halloween
or Christmas seasonal items, or certain products may have their own
unique seasonal period. These allow the pricing rules to be
adjusted and applied differently based on the particular seasonal
period defined for a product or product group. For example, the
Christmas seasonal period might be different for a food product
(where selling out may be a more important goal) than for a
decorative item.
[0050] The PA module 174 factors in the desired profit margins,
usually pulled from the merchants' database and maintained with a
financial tool application (e.g., data from a database, Quicken,
Excel, etc . . . ). The merchant's pricing rules may be channel
specific or may have channel-specific components. The PA module 174
can balance changes in price by adjusting both the product price
and the shipping and/or handling cost charged to the customer. This
is important, because the merchant may be willing to indicate a
$140 price for an item that normally has a lowest price of $150 to
entice the customer to go to the merchant's site, but then charge
the customer $10 more than normal on the shipping/handling. This
may be particularly attractive as a pricing rule for a comparison
shopping site that does not include shipping in its price
comparison. Thus, the PA module 174 will collect data on each
site's pricing approach.
[0051] In some channels a merchant may not want to seek the lowest
price position or may not want to attempt to meet the pricing of a
particular competitor, known to use a loss leader strategy for
certain products. In one embodiment, pricing rules will first
consider the merchant's own sales status information, such as
trends, inventory levels and other measures of past success or
difficulty with sales and use pricing results for other merchants
or channels only when the rules detect that a pricing change should
be explored. For instance, if a merchant's sales have been
increasing with a good profit margin, then the merchant may want to
maintain or even raise prices even though a competitor is offering
the same product at substantially below the merchant's price. Also,
the pricing rules may provide for the merchant to detect cases of
high inventory, high storage costs and or slow sales. In these
cases the product may be put on a clearance price condition whereby
the price may be lowered, possibly below the merchant's normal
profit margin requirements, without regard to the competitive price
landscape. Further, a merchant's pricing rules may include
identification filters for removing a particular merchant (and
especially the subject merchant) or particular unusual pricing from
the competitive analysis or from the pricing comparisons. For
example, the PA 174 may remove specific prices, adjusting
competitive price statistics such as minimum, maximum, and average
accordingly, whenever the system detects one or more prices for a
product as being statistically anomalous. This might occur when a
competitive price deviates from the other prices for a given
product by more than two (for example) standard deviations. Also,
the PA 174 may remove prices for specific competitors such as those
that offer more than a specified percentage of products (that are
in common with the merchant's products) at prices below the subject
merchant's cost. Such cases call into question whether the
competitive merchant's data is valid or if its business practices
are designed for long-term profit. Additionally, the PA 174 may
remove prices for merchants who have a sufficiently low (as
determined by a threshold) feedback score in one or more
competitive channels. As described above, the PA 174 implements a
series of pricing rules that can improve the merchant's
profitability by applying the rules against the merchant's own
sales trends, competitive offering prices/trends of competitive
merchants and channels, and customer demographics and even specific
buying patterns. This may result in varied product total prices
(includes prices, shipping/handling, & sales tax) per product
per channel and even per customer.
[0052] For purposes of the PA module 174, the shipping charges that
are available for adjustment may include the transport charge or
any handling charge that is associated with the transport or any
other amount that is part of the total price and is not either the
base product price or taxes or other mandatory assessment that does
not accrue to the seller. The amount of adjustment in the shipping
charge may be guided by one or more goals configurable in the
pricing rules. The pricing rules may specify that the transaction
should simply charge shipping in an amount that brings a
transaction at a reduced base price back to a particular profit
margin or the shipping charge may directly include the amount
subtracted to make the product base price competitive.
[0053] The PA module 174 can analyze experimental results from the
TS module 172 in order to determine the nature of the market for a
product under research. This includes first determining if the
price/sales market behavior for the product is linear, (as seen in
FIG. 2, showing an example of data that might be obtained for three
products A-C subjected to testing), or non-linear (as seen in FIG.
3, again showing an example of data that might be obtained for
three products D-F subjected to testing). Once the overall market
behavior over some useful price range is determined, then that
behavior can be characterized.
[0054] A simplified case would be to model a linear regression
demand curve of a given market's behavior for a product. This
technique, commonly found in Microsoft Excel and SAS Statistics
Software by the SAS Institute, can be used to determine the slope
for linear behavior, (represented by variable M in the equation
below).
Sales=M.times.Price+Offset
[0055] For non-linear market behaviors the PA module 174 can
characterize the Sales-Price curve as logarithmic or exponential,
as well as setting a set of parameters, well known to those
familiar with the art, that approximate those types of curves.
Finally, the PA module 174 can select a price point based on market
behavior and inventory, which will maximize profits for the
merchant over a selected time period. The PA module 174 can view
other merchant's prices for the same product as discovered by the
SSB module 170 to help in the selection of the price point.
Sales=a.times.(b.sup.-(c.times.Price))
Sales=a.times.log.sub.b (Price)
[0056] Given sufficient sales volume, market testing data from TS
172 may be statistically significant to model price/sales behavior
for a given product by channel, time of day, day of week, season,
web site entry page, customer location, quantity discount schedule
or other variables. TS 172 also has facilities for performing test
marketing to develop demand curves that comprises developing two or
more demand curves in which the pricing is held the same and other
selling parameters are varied. These systems can be solved by those
skilled in the art of non-linear data modeling and data mining
using Neural Network function approximation, (as can be found in
products from Neuro-Dimensions of Gainesville, Fla. and Neuralware
of Carnegie, Pa.), Multi-Adaptive Regression Splines, Fuzzy Logic,
Genetic Algorithms, Decision Trees and Reinforcement Learning
algorithms. Thus, the present system can add sophisticated market
research data to the price selling rules, by configuring logic and
parameters derived from market research data into the pricing
rules.
[0057] Further functions of the PA module 174 are dependant on the
merchant's ecommerce store being more towards the state of the art,
meaning that the merchant must understand and have built the
infrastructure to track money spent on advertising specific to
certain sales channels, understand the costs in selling products
both by on-line methods and phone orders, maintaining statistics
pertaining to click-through percentages, sell-through percentages
and the costs associated with each. With this infrastructure in
place the cost constraints portions of price setting rules can be
articulated far more effectively than if only the base product cost
is known and the further costs of any given sale are not traceable.
With channel specific information, the PA module 174 can then match
products in the merchant catalog to their best available sales
channels, as well as track advertising budget and performance
utilizing OLAP (On-Line Analytic Processing) and hypercube database
technologies, e.g., the PowerPlay software from Cognos Incorporated
of Burlington, Mass. Again the price setting rules can be
configured to incorporate complex calculations or cost constraints
that vary by channel and by recent sale data from the channel.
[0058] As seen in FIG. 1, the Price Updater (PU) module 176 can be
triggered by the PA module 174 or on a merchant command to push
updated price data out to the appropriate sales channels. This
module is fairly standard to those familiar with the art, but is
indispensable in implementing the price analysis results and
achieving the merchant's goals. This can be implemented via
database updates followed by generation of XML or CSV files which
are then copied via FTP protocol to remote machines. Pursuing the
merchants' goals on their self-managed ecommerce stores 180 is
directly accomplished by the PA module 174 in updating the catalog
database, or a merchant can choose to manually intervene through
the PU and PA module controls.
[0059] FIG. 5 shows the general flow of analysis for an example of
a set of price setting rules, which assumes that there is data in
the database 142 for the products and channels to be analyzed,
including the various parameters necessary to define the price
setting rules. The analysis process begins with the PA module 174
progressing to analysis of a particular product XYZ at step 502.
The PA module 174 reads the comparative price data from a
particular channel at step 504 and reads data for product XYZ at
step 506. The PA module 174 then may take one of several paths from
selection switch 510, based on the price setting goal that is
predefined in the price setting rules for Product XYZ in the
particular channel or selected by the user if the goal is
selectable at the time of analysis. If the goal is to maximize
profit, then from switch 510 the module proceeds to step 512 where
it determines if the test sales have been significant. If that is
the case, it proceeds to step 514 where it determines if the test
sales have achieved a predetermined confidence level by some
statistical measure. If this is not the case, the PA module 174
proceeds to step 522 where it sets the price at the desired profit
price point and moves to step 520, which sets up an analysis of the
next channel by going to entry point #1 at 570. If the
predetermined confidence level is met at step 514, then the PA
module 174 tests at step 516 to see if the test sales price point
as determined exceeds the desired profit price point. If that is
not the case, then the PA module 174 again proceeds to step 522
where it sets the price at the desired profit price point and moves
to step 520. If the test at step 516 is met, then at step 518, the
PA module 174 sets the price to the test sales price point and
again moves to step 520. The test sales price point may be one
derived by the TS module and its computations of various pricing
curves.
[0060] If the goal defined in the price setting rules is to hold to
a desired profit margin, then the PA module 174 proceeds to step
530 where the desired profit price point is computed from the
average product cost plus the desired profit margin amount and the
channel cost, all of which may themselves be based on other
calculations. The PA module 174 then moves to step 520, which sets
up an analysis of the next channel.
[0061] If the goal defined in the price setting rules is to hold to
insure strong performance, then the PA module 174 proceeds to step
540 where it computes a Temp1 value based on the third minimum
comparison price less a small amount, in this case $0.01.
Alternatively, Temp1 in step 540, may be any other function of
competitive prices deemed to be likely to make the merchant's price
competitive for a given product. For example, Temp1 could be the
average competitive price after removing outlier prices that were
more than 1.5 standard deviations from the average competitive
price. Alternatively, if the goal is to gain market share, Temp1 in
step 560 might be calculated in a number of different manners to
meet a given merchant's business goals. For example, in step 560
Tempt1 can be $.01 less than a minimum comparison price. The PA
module 174 then proceeds to step 542 where it computes a Temp2
value based on the minimum of the minimum advertised price or the
minimum merchant price parameters. At step 544, the Temp1 and Temp2
values are compared. If Temp1 is not less than Temp2, then at step
552 the price is set to Temp1 (i.e., no price minimum constraints
were encountered) and the logic proceeds to step 554 to return to
entry point #1. If Temp1 is less than Temp2, then at step 546,
Temp3 is computed as the difference of Temp2 and Temp1. At step
548, Temp3 is compared to a value defining the maximum flexibility
for adjusting shipping charges (Maximum Ship Flex). If this test at
step 548 is not satisfied, then at step 556 the price is set at
Temp1 less the value defining the maximum flexibility for adjusting
shipping charges and at step 558 the PA module 174 proceeds to
entry point #1 to address the next channel. If the test at step 548
is satisfied, then the PA module 174 calculates at step 550 the
required adjustment in shipping price to offset the reduction in
base price and then at step 520 proceeds to address the next
channel. Additionally, there may be restrictions placed on how
frequently prices may be changed. For instance, the price within a
given channel for a specific product may be held steady for at
least seven days to increase certainty of sales trends before
making further price adjustments.
[0062] FIG. 5A shows the general flow of analysis for an alternate
example of a set of price setting rules, which assumes that there
is sales status data in the database 142 for the products and
channels to be analyzed, including the various parameters useful
for analysis by the price setting rules. The analysis process
begins with the PA module 174 progressing to analysis of a
particular product XYZ at step 502 (see FIG. 5). The PA module 174
reads the data for product XYZ at step 506. In this alternative,
the competitive price data for the channel may only be accessed
later, contingent on an initial analysis of sales status data. The
PA module 174 reads the product sales status data for product XYZ
at step 507, such as sales trends and the product inventory levels
and relevant storage costs for product XYZ at step 508. The PA
module 174 then may take one of several paths, based on the price
setting goal that is predefined in the price setting rules for
Product XYZ for particular sales trends, seasonality, inventory
levels and storage costs or selected by the user, if the goal is
selectable at the time of analysis at step 509.
[0063] Although many similar calculations are possible, referencing
FIG. 8, a high inventory level may be flagged if MonthsInventory is
greater than 12 (as an example) months. MonthsInventory is
calculated so as to account for seasonality changes and new item
listings, thereby preventing incorrect decisions to put an item on
clearance. Thus, it is not appropriate to put Christmas decorations
on clearance in September just because they have not sold for a few
months, nor is it appropriate to put a brand new product on
clearance because there were no historical sales. In this example,
a low inventory level may be when MonthsInventory is less than 2
months and `normal inventory` may be between 2 and 6 months of
inventory on hand. Between 6 and 12 months of inventory may be
considered moderately high.
[0064] Similar to inventory levels, sales trends may be calculated
by examining if sales during the most recent month
(MonthlySalesMoneyMo) were higher or lower than sales during the
most recent quarter. (MonthlySalesMoneyQtr).
[0065] If product XYZ has high inventory levels and the sales
trends are down, product XYZ is put on clearance and a lower profit
margin requirement is used (possibly sold at a loss) at step 511.
The price of product XYZ may be set to the price of the lowest
competitor or lower than the lowest competitor. If there are also
high storage costs (from FIG. 8, this would be
StorageCostPerItemPerYear*QtyOnHand in excess of a merchant or
service operator specified threshold), the price may be set even
lower. If product XYZ has low inventory levels and the sales trends
are up, the price of product XYZ may be increased (for example by a
factor of 2%) and competitive prices may be ignored at step 513 or
used only to determine if the price adjustment is too extreme for
that channel. If product XYZ has normal inventory and sales trends
are up, step 515, the PA 174 proceeds to step 510 of FIG. 5A and
sets the goal to ensure strong performance. To achieve "Ensure
Strong Performance" the system may implement a downward price
adjustment so that the product appears in the cluster of lowest
prices or merely to ensure that pricing remains below an average
price found for the channel. The system may also adjust prices to
maintain a preferred ranking such as 3.sup.rd from the lowest
offering price.
[0066] If product XYZ has normal inventory and sales trends are
down, step 517, the PA 174 proceeds to step 510 of FIG. 5A and sets
the goal to gain market share. This would typically mean adjusting
the price to one of the lowest in the channel. If there are other
inventory and sales trends as well as storage costs that do not
meet one of the above described criteria, step 519, the PA module
174 proceeds to step 510 of FIG. 5A and may take one of several
paths, based on the price setting goal that is predefined in the
price setting rules for Product XYZ in the particular channel or
selected by the user if the goal is selectable at the time of
analysis. The examples shown above and in FIGS. 5 and 5A are not
the only possible embodiments but are intended to be illustrative
of the methods by which merchant sales trends and competitive price
data may be used together to automatically adjust and/or optimize
prices.
[0067] FIGS. 6a, 6b, and 6c are a PO.txt file that shows a database
schema and variables for use by the PA module in the analysis shown
in FIG. 5. Among other things, FIGS. 6a, 6b, and 6c show any
relevant formula and the basis or origin for the variable.
[0068] FIG. 1 shows Sales Driving Sites 214, which are any web site
where the merchant may have bought advertising for the merchants'
self managed stores 180 such as a local portal, Ebay, Amazon, or a
search engine. The self managed stores 180 are the referral targets
for Sales Driving Sites 214. The system uses a variety of methods
well known to those familiar with the art that allow the self
managed stores to recognize and identify traffic from the Sales
Driving Sites and offer the appropriate total price for that sales
channel using referrer IP's, cookies or user name logins.
[0069] FIG. 7 shows an example of logic that may be used with an
incoming shopper to determine what price that shopper will see.
Generally the goal is to provide the shopper the same price they
have seen previously, usually on another site, such as a price
comparison site. In some instances the shopper has been the subject
of a market data test from TS module 172. In that case, the shopper
should be presented the same price as was set for the test. In
other cases, the shopper has no price history. In that case, the
shopper can be treated as a regular shopper arriving for the first
time at the site, or can be made into a test shopper who is offered
a price based on a test marketing design. FIG. 7 shows each of
these possibilities.
[0070] In one scenario, it is desirable, if possible, to label the
shopper with a tag. For purposes of this invention the term tag
includes creating a client side cookie as well as a cookieless
session which appends a session ID to every URL or to hidden forms
in HTML pages.
[0071] Initially the shopper lands on a merchant site, step 702.
The system determines whether or not the shopper is from a
comparison site, step 704. The system determines this by using a
referrer address from the shopper's browser. Although not shown in
FIG. 7, if the referrer address from the shopper's browser says
that the shopper is from a certain comparison site, the system
applies a tagging module to `tag` the shopper by one or more of the
following: a) saving a cookie on the shopper computer (which can be
encrypted, to prevent it being hacked); b) saving a setting on
server indicating that the computer from shopper's IP address came
from XYZ shopping site; and c) if the shopper has an account on the
website that is doing the price analysis (this case is not shown in
FIG. 7), the system can save data showing that that shopper came
from a given site. (It is possible that a returning shopper does
not go to the analysis site directly but still comes from a
comparison site). When the shopper returns, the system has all of
these means to identify them.
[0072] The user could only hack the cookie of case (a), because
cases (b) and (c) involve data stored in the servers of the system.
If the hack is attempted with the client side cookie of case (a)
because of the encryption the system will most likely not recognize
it as a valid tag and will ignore it. Then the system attempts to
look the shopper up via data stored in the server in case (b) or
(c). If all of that fails, it's as though the system has never seen
the user before. The hacker shopper will not get any special
treatment.
[0073] FIG. 7 contemplates that certain shoppers with no history
will be selected by the Test Seller (TS) modules 172 to be part of
a test. The TS module 172 is a component that provides unique (or
near unique) prices on one or more products to identified Test
Shoppers. A Test Shopper is someone that the system has identified
to show prices that may be different from the merchant's standard
price. The system may be set up to have every shopper in an
interval or at a site be a Test Shopper, or it may be that just a
certain percentage of shoppers are Test Shoppers, or just shoppers
in specific geographic locations, etc. (Companies have created
databases of geography by IP address range. For example,
http://www.geobytes.com/IpLocator.htm. This information can also be
used to determine whether a shopper has a slow speed or high speed
internet connection). If the system cannot identify the location,
then it can still use the TS module to optimize for the best price
overall. The TS module can optimize for prices within a geographic
region and may determine that to maximize profitability, the
merchant can charge more to certain customers e.g. those in Beverly
Hills, as compared to customers in rural Arkansas. Whereas this is
done in brick and mortar stores all of the time, it generally has
not been applied to web sites before. The geographic targeting is
an option not a requirement of the system.
[0074] Referring again to FIG. 7, if the system determines that a
shopper is from a comparison shopping site, step 718, it looks up
the price for the given price comparison site, step 720, and shows
the price that was submitted to that comparison shopping site, step
722. But if the shopper reached the website from another location,
any price is fair game. The system checks to see if the shopper has
a client side cookie, step 706. If the shopper does have a client
side cookie, the client side cookie is read, step 716. If the
shopper does not have a client side cookie, the system attempts to
create a client side cookie, step 708. The system then checks to
see if the shopper has a server side cookie, for example a saved IP
address, step 710. If the shopper has a server side cookie, the
shopper's settings are read, step 714. If the shopper does not have
a server side cookie, the system attempts to create a server cookie
for the shopper, step 712.
[0075] Once a shopper cookie has been read, step 716, or created
step 708, 712 the system checks to see if the shopper is a
comparison shopper, step 724. If the shopper is a comparison
shopper the system proceeds to step 718 as discussed above. If the
shopper is not a comparison shopper, the system proceeds to step
726. The system checks to see if the shopper is a Test Shopper,
step 726. If the user is a Test Shopper (having been so designated
by TS module 172) the system uses the cookie/tag applied to
determine who the shopper is and product test parameters used, step
732, and then sends them the same price TS module 172 would have
offered to the user before, step 734. If the user is not recognized
as either coming from a comparison shopping site or as a Test
Shopper, the system can determine if it wants the user to be a Test
Shopper, step 728. If the system wants the user to be a Test
Shopper, it generates a unique tag and set of pricing for the user
via the TS module 172, step 736 and presents it to the shopper,
step 738. If the system does not want the shopper to be a Test
Shopper, the system reads the product price for the merchant store,
step 730, and presents the product price to the shopper, step 740.
The concept is an online store where two persons shop at the same
time but see different prices. When each returns, that shopper sees
the pricing that he/she saw before. This helps a merchant to
determine the `right price` to offer products to maximize their
profit/business goals.
[0076] A shopper may be provided a unique or near unique tag. For
example, if the customer does not permit a unique id to be stored
in a browser `cookie`, the system can use the shopper's IP address
for the tag. This is an example of a near-unique tag, because it is
possible that more than one shopper will share the same IP
address.
Detailed Description of Specific Implementation Scenarios:
[0077] Given the structure of one embodiment of the inventive
system above, the following are more detailed implementation
scenarios.
1) Price Optimizer that Varies Shipping Charges as Part of Overall
Pricing.
[0078] Because actual shipping costs for modern ecommerce systems
can be calculated in real-time, merchants typically add a handling
cost to the shipping charge (a fixed amount or a percentage)
offered to a customer. In the present inventive system, this
handling cost can be increased in some situations to allow a
merchant to present a lower product price while still meeting the
merchant's profitability targets.
[0079] Preferred embodiment of shipping optimization:
[0080] a) The merchant sets Desired Sales Price (DSP) of the item.
This will be done for all items merchant is selling and will
typically be stored in a database such as Microsoft SQL 2000.
[0081] b) In formulating the price setting rules, the merchant may
set a minimum allowed profit margin (typically a percentage but
could be a monetary amount). This can be used to calculate a
minimum sales price (MSP). Merchant may also set MSP directly. MSP
may be limited by minimum advertised price (MAP) as specified by
the manufacturer of the product. The cost of the specific sales
channel (e.g., for eBay, the listing, final value, and PayPal
transaction fees, percent of items listed by that merchant in that
category or of that specific type that sell through the given
channel) may be included as part of the calculation of MSP. For
example, if only 30% of the listings for that type of product are
selling through eBay and eBay has a 2% listing fee plus a 3% final
value fee plus a 3% PayPal transaction fee, and the merchant wants
a minimum 20% profit, then the base MSP should not be less than
(2%/(30% success rate)+3% final value+3% PayPal+20% desired
profit=32.66%) more than the cost of the unit for the seller to
meet their minimum profit margin. Note, the success rate may be
estimated over time and periodically updated by the Price Analyzer
module 174 using historical performance of the product or products
of a similar type or category. Also, the Price Analyzer module 174
may calculate the success rate as a function of other factors such
as seasonality, day of week, or time of day. For this reason, the
pricing rules are set up with easily varied parameters so that as
data is collected the parameters can be updated.
[0082] c) If a given comparative pricing engine does not display
"total costs" (may not be possible or accurate for many comparison
pricing engines because shipping usually varies on destination zip
code), then the system may be able to vary its shipping price for
that channel to obtain better placement on a given comparative
pricing engine.
[0083] d) First, the PA module 174 addresses desired placement in
the pricing range based on no change in shipping price. If the
merchant cannot obtain a desired placement without violating a
gross profit margin parameter of the pricing rules, the PA module
174 decreases the price below the MSP for that item up to an
adjustment constant (say 20% of the MSP) and increases the shipping
costs by 20% of the MSP for that channel. The PA module 174 will
only shift enough of the total cost of the transaction from the
product price to shipping to meet the placement target for that
comparative pricing engine. For instance if the merchant prefers a
number two placement (next lowest price) on the listing service and
that can be met with a 10% adjustment from product cost to
shipping, then only adjust both values by 10%. Whatever prices are
offered via a certain channel are stored in the merchant's price
database system for that channel for future lookup.
[0084] e) When a user comes to the merchant's web site as referred
by that comparison-shopping or marketplace channel, the merchant's
site will present the user with the corresponding product price and
shipping adjustment factors for that channel. The store can track
the user by the referrer address initially and then for future
visits by the user's IP address or user account (a lookup table
would be stored in the merchant's database) or a cookie on the
user's computer. This can be implemented by anyone skilled in the
art of e-commerce web site development as seen above in FIG. 7.
2) Variable Total Pricing Per Product Per Channel:
[0085] To obtain data needed to know the price and demand curve for
a given product a merchant may want to conduct `test marketing`.
This aspect of the invention is most valuable when there are many
units of a product that are being sold. Someone skilled in the art
of statistics, such as using normalized z-scores against one, two
or three sigma of standard deviation to insure a desired level of
statistical confidence, can readily determine the number of sales
required for this approach to be beneficial.
[0086] Using the infrastructure built for the shipping optimization
above allows the inventive system to offer different prices for
products and shipping per
advertising/comparison-shopping/marketplace channel based on the
profitability for that channel. Channel profitability can be
dependant on channel cost as a percentage of product sale or a flat
rate. This infrastructure can also be leveraged to offer multiple
prices/shipping of the same product in the same channel
simultaneously. This can take two forms:
[0087] a) Multiple prices for the same product based on user entry
point or random deviations to the "total price".
[0088] A merchant using the inventive system may vary the "total
price" (including pricing/shipping costs) based upon the user's
entry point to the web site. For example, all users might be
presented with the DSP plus or minus a factor (say 10%) of the DSP.
The tracking in 1(e) above enables consistency in showing the user
the same price over time.
[0089] Alternatively, the system can optimize total price by
varying pricing over more than just a given price. For instance, if
there is enough sales volume and randomness with respect to
page/entry point vs. time-of-day vs. total price for a given
product (product, shipping costs, tax), then the system may gather
enough statistically significant data for the PA module 174 to
alter the DSP for a given combination of sales channel, product,
time of day, and page on the site. Time of day is one example in
which other selling parameters, such as day of week, geographical
location of the buyer or the buyer's can also be accounted for. For
example, if customers are willing to pay a higher "total price" if
they search on the item directly from a merchant's store instead of
linking to the product from Froogle or finding it in the `Gift
Ideas` section of the merchant's site, then the system could
identify this and adjust the pricing accordingly.
[0090] b) Multiple prices for consignment or auction channels
(e.g., Overstock, eBay) that expire at different times
[0091] In another embodiment, the TS module 172 may determine price
sensitivity by automatically posting overlapping for-sale listings
for a given product that expire at different times and with
different Reserve Price or Buy-It-Now price amounts. Thus, at least
a portion of the test sales listings are simultaneous.
[0092] Buyers of auctions are often looking for a `deal`. So with
this in mind, there are two goals of this approach:
1) Maximize Profitability of the Auctions Themselves.
[0093] By testing many different auctions, the TS module 172
collects data useful to the PA module 174 in determining the best
Day of Week, Buy-It-Now price, Initial Listing, Shipping &
Handling Fee, Time of Day, Auction Length and Reserve Price for a
given product to maximize profitability. One knowledgeable in the
art of data modeling, as described earlier, can implement the PA
module 174 to optimize these variables with linear or non-linear
optimization methods. Then future auctions will likely be more
profitable.
2) Maximize Cross Sell Opportunities of an Auction to Other `Store
Inventory` Auctions
[0094] The merchant may want to offer a few of their products
available via an auction to inexpensively drive sales of other
products. For example, due to the high listing costs on some
channels like eBay, it is likely advantageous for a merchant to
only list a fraction of its products as an auction or Buy-It-Now
listing. The pricing rules of the system may limit posting to only
the top selling 10% (for example) of the merchant's products. Or,
the merchant may specify to limit listings to only the top 10% of
those products with high cross-selling statistics. As one example,
people that buy a certain product are more likely to also purchase
a companion or accessory product. As another example, using
techniques such as collaborative filtering may find that people
that buy Product "A" have a certain taste and sensibility that are
in common with those people that purchase Product "B". Thus,
advertising a product via a higher-priced Buy-It-Now or Auction
listing may lead to sales of `Store Inventory` items that have a
lower listing cost to the merchant. The above description applies
to eBay listings but could equally well apply to other auction or
store marketplace channels. The merchant may also restrict the
advertising costs to a given, channel to a specific budget.
[0095] From the above description and drawings, it will be
understood by those of ordinary skill in the art that the
particular embodiments shown and described are for purposes of
illustration only and are not intended to limit the scope of the
present invention. Those of ordinary skill in the art will
recognize that the present invention may be embodied in other
specific forms without departing from its spirit or essential
characteristics. References to details of particular embodiments
are not intended to limit the scope of the invention.
* * * * *
References