U.S. patent application number 14/468396 was filed with the patent office on 2014-12-25 for utility for creating heatmaps for determining competitive advantage in the restaurant marketplace.
The applicant listed for this patent is GrubHub, Inc.. Invention is credited to Stefano Alexander Scotto.
Application Number | 20140379425 14/468396 |
Document ID | / |
Family ID | 48655447 |
Filed Date | 2014-12-25 |
United States Patent
Application |
20140379425 |
Kind Code |
A1 |
Scotto; Stefano Alexander |
December 25, 2014 |
UTILITY FOR CREATING HEATMAPS FOR DETERMINING COMPETITIVE ADVANTAGE
IN THE RESTAURANT MARKETPLACE
Abstract
A utility builds and displays heatmaps of competitive activity
that aid in studying the competitive advantage of a particular
restaurant. The heatmaps are constructed based on activity logged
with a restaurant service, and available within the restaurant
service's database(s).
Inventors: |
Scotto; Stefano Alexander;
(Chicago, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
GrubHub, Inc. |
Chicago |
IL |
US |
|
|
Family ID: |
48655447 |
Appl. No.: |
14/468396 |
Filed: |
August 26, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13467723 |
May 9, 2012 |
8880420 |
|
|
14468396 |
|
|
|
|
Current U.S.
Class: |
705/7.31 |
Current CPC
Class: |
G06Q 30/02 20130101;
G06Q 50/12 20130101; G06Q 30/0205 20130101 |
Class at
Publication: |
705/7.31 |
International
Class: |
G06Q 30/02 20060101
G06Q030/02; G06Q 50/12 20060101 G06Q050/12 |
Claims
1-28. (canceled)
1. A system for displaying a real-time heat map of competitive
activity pertinent to a subject restaurant, the system comprising:
i) a database adapted to maintain an order queue; ii) a restaurant
server having access to the database; iii) a computer system
coupled to the restaurant server over a network; iv) wherein the
computer system is adapted to transmit an identifier to the
restaurant server, the identifier identifying the subject
restaurant to the restaurant server; v) wherein the computer system
is adapted to transmit an indicia indicative of desired competitor
characteristics to the restaurant server; vi) wherein the
restaurant server is adapted to receive the identifier and the
indicia indicative of desired competitor characteristics, and
wherein the restaurant server is adapted to query the database for
competitors of the subject restaurant based on the indicia of
desired competitor characteristics and the identifier; vii) wherein
the restaurant server is adapted to compile a list of competitors
of the subject restaurant and transmit the list of competitors to
the computer system; viii) wherein the computer system receives the
list of competitors, the computer system specifying an indicia
indicative of a map area including the subject restaurant and
transmitting the indicia indicative of a map area to the restaurant
server; ix) wherein the restaurant server receives the specified
indicia indicative of a map area, the restaurant server being
adapted to query the database for competitor activity within the
specified map area, the restaurant server being adapted to receive
at least one competitive activity event from the database, the at
least one competitive activity event is a real-time or near
real-time event of a competitor in the list of competitors; x)
wherein the restaurant server is adapted to transmit the at least
one competitive activity event to the computer system; and xi)
wherein the computer system is adapted to render the at least one
competitive activity event on a display of the computer system, the
heat map includes the rendered competitive activity event.
2. The system of claim 1 wherein the at least one competitive
activity event is an order occurrence.
3. The system of claim 1 wherein the at least one competitive
activity event is an amount of an order.
4. The system of claim 1 wherein the at least one competitive
activity event is a number of items associated with an order.
5. The system of claim 1 wherein the at least one competitive
activity event is displayed for a fixed time period before being
erased from the display.
6. The system of claim 1 wherein the indicia indicative of desired
competitor characteristics includes a maximum distance from the
subject restaurant.
7. The system of claim 1 wherein the indicia indicative of desired
competitor characteristics includes a set of coordinates specifying
a map area including the location of the subject restaurant.
8. The system of claim 1 wherein the indicia indicative of a map
area is a maximum distance from the subject restaurant.
9. The system of claim 1 wherein the indicia indicative of a map
area is a set of coordinates.
10. A method for displaying a real-time heat map of competitive
activity pertinent to a subject restaurant, the method operating on
a system comprised of a restaurant server having access to a
database and a computer system networked with the restaurant
server, the method comprising the steps of: i) maintaining an order
queue in the database; ii) transmitting an identifier from the
computer system to the restaurant server, the identifier
identifying the subject restaurant; iii) transmitting an indicia
indicative of desired competitor characteristics from the computer
system to the restaurant server; iv) the restaurant server querying
the database for competitors of the subject restaurant based on the
indicia of desired competitor characteristics and the identifier;
v) the restaurant server compiling a list of competitors of the
subject restaurant; vi) the restaurant server transmitting the list
of competitors to the computer system; vii) the computer system
receiving the list of competitors; viii) the computer system
specifying an indicia indicative of a map area including the
subject restaurant; ix) the computer system transmitting the
indicia indicative of a map area to the restaurant server; x) the
restaurant server receiving the indicia indicative of a map area;
xi) the restaurant server querying the database for competitor
activity within the specified map area; xii) the restaurant server
receiving at least one competitive activity event from the
database, the at least one competitive activity event is a
real-time or near real-time event of a competitor in the list of
competitors; xiii) the restaurant server transmitting the
competitive activity event to the computer system; and xiv) the
computer system rendering the competitive event on a display of the
computer system, the heat map includes the rendered competitive
activity event.
11. The method of claim 10 wherein the competitive event is an
order occurrence.
12. The method of claim 10 wherein the competitive event is an
amount of an order.
13. The method of claim 10 wherein the competitive event is a
number of items associated with an order.
14. The method of claim 10 wherein the competitive event is
displayed for a fixed time period before being erased from the
display.
15. The method of claim 10 wherein the indicia indicative of
desired competitor characteristics includes a maximum distance from
the subject restaurant.
16. The method of claim 10 wherein the indicia indicative of
desired competitor characteristics includes a set of coordinates
specifying a map area including the location of the subject
restaurant.
17. The method of claim 10 wherein the indicia indicative of a map
area is a maximum distance from the subject restaurant.
18. The method of claim 10 wherein the indicia indicative of a map
area is a set of coordinates.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation application of co-pending
U.S. patent application Ser. No. 13/467,723, entitled "Utility for
Creating Heatmaps for the Study of Competitive Advantage in the
Restaurant Marketplace," filed May 9, 2012, which is hereby
incorporated by reference in its entirety to provide continuity of
disclosure, and which claims priority under 35 U.S.C. .sctn.120 as
a continuation-in-part of co-pending U.S. patent application Ser.
No. 13/337,347, titled "UTILITY FOR DETERMINING COMPETITIVE
RESTAURANTS," filed on Dec. 27, 2011, which is hereby incorporated
by reference in its entirety.
FIELD OF THE INVENTION
[0002] The present invention relates to a system and method of
studying the competitive advantage of a retail business and its
competitors, and more particularly relates to a system and method
for creating maps of retail activity for a retail business and its
competitors, and more particularly still, for creating maps of
pickup and delivery diner activity for a restaurant and its
competitors using a database assembled by a restaurant service of
which the restaurant and its competitors are members.
DESCRIPTION OF THE PRIOR ART
[0003] Businesses naturally desire to know who their most important
competitors are. Generally, any two businesses that market to the
same customers are in competition. For example, a suburban
convenience store is, in the broadest sense, in competition with a
nearby grocery store, as dollars spent by customers in the grocery
store cannot be spent in the convenience store. However, experience
shows that a gas station located a mile away and offering basic
convenience items is a far more important competitor to the
convenience store than the grocery store across the street, as
customers will look to the gas station for the same types of
purchases that they look to the convenience store; i.e., impulse
purchases or purchases that must be executed quickly.
[0004] Within the restaurant field, the situation becomes complex
very quickly. There are numerous cuisine types, such as Asian and
French, and within each cuisine type, there are often multiple
levels of dining experience. For example, within Asian restaurants,
there are fast-food Asian restaurants, as well as fine-dining Asian
restaurants, and multiple levels in between. Cuisine types can be
subdivided even further; for example, there are Chinese, Japanese,
Thai, and Vietnamese restaurants, all of which are "Asian
Restaurants," and all of which offer very different types of food
from one another, and are likely to attract diners with very
different tastes.
[0005] To further complicate matters, within the restaurant field,
restaurants offering very different types of food can be considered
competitors under certain circumstances. For example, an urban
Mexican restaurant primarily serving the lunch crowd is likely in
direct competition with nearby sandwich restaurants, pizza
restaurants, and Asian restaurants serving the same crowd.
[0006] One way that restaurants determine their closest competitors
is to consult market surveys. For example, a restaurant may setup
an online page that, in exchange for access to coupons or other
"bonuses," gathers information about customers' dining habits by
asking diners to answer surveys. Another way that this can be
accomplished would be by placing a tracking cookie on a user's
computer and checking the cookie each time a customer visits the
restaurant's web page for the identity of other restaurant's web
pages. Other, similar techniques have been employed in the
past.
[0007] There are a number of problems with such "market survey"
approaches. One problem is that the significance of market surveys
is difficult to quantify. For example, the relevance of a
restaurant's customer visiting the website of a competitor is
questionable. Another issue with such surveys is that they are
expensive and time consuming to conduct.
[0008] Another problem facing businesses is that once a particular
competitor is identified, it is difficult to understand in what
areas the competitor excels, and in what areas the competitor is
vulnerable. Similarly, many businesses do not understand their own
strengths and weaknesses when compared to their most important
competitors. These inquiries are critical to the development of
competitive advantage. Returning to the restaurant field, a
particular competitor may excel at serving light meals to the lunch
crowd, while not having an appropriate selection of more filling
meals for lunch patrons. The same restaurant may have entirely
different competitive strengths with regards to dinner and
breakfast patrons, or it may not serve them at all. Based on these
kinds of assessments, a restaurant that excels at providing hearty
meals to the lunch crowd could appropriately position itself
against its light-lunch serving competitor.
[0009] Most restaurants do not make any formal study of other
restaurants competitive advantage. For those that do, the usual way
for a restaurant to obtain a better understanding of the
competitive advantage of competing restaurants is through a study
of reviews conducted by critics, surveys conducted with the
restaurant's own customers, and actual investigation of the
restaurant's offerings through visits to the competing restaurant.
This method of market research, while well understood, leaves much
to be desired. In particular, it is extremely time consuming, and
the actual determination of a competitor's strengths and weaknesses
is highly subjective.
[0010] Certain businesses have made use of maps that play back
purchases by consumers at their establishment. For example, online
retailer Zappos.com makes a map of recent purchases available. This
map displays some or all online orders that are placed, along with
an indication of where the purchase was placed from. For example,
if a customer in Raleigh, N.C. purchases a set of shoes, a brief
descript of the shoes along with an abbreviated version of the
purchasers name, such as M. S. (for Mary Smith), is displayed in a
small "bubble" for a brief period of time, with the tail of the
bubble tracing back to the purchasers approximate location. In
addition, restaurant service provider GrubHub, Inc. operates a map
that resides in the lobby of their Chicago headquarters as well as
the lobby of their New York office that displays orders in near
real-time in certain markets. These displays provide strong visual
clues as to where ordering activity is taking place at any given
time.
OBJECTS OF THE DISCLOSED COMPETITIVE ADVANTAGE UTILITY
[0011] An object of the disclosed competitive advantage utility is
to provide an automated means of studying the competitive advantage
of specifically identified competitors for a business;
[0012] Another object of the disclosed competitive advantage
utility is to provide an automated means of studying the
competitive advantage of all competitors, or an identified subset
of competitors, within a particular distance of a subject
business;
[0013] Another object of the disclosed competitive advantage
utility is to graphically depict activity of all competitors or an
identified subset of competitors;
[0014] Another object of the disclosed competitive advantage
utility is to graphically depict the activity of competitive
restaurants within a particular distance of a subject business;
[0015] Another object of the disclosed competitive advantage
utility is to graphically depict the activity of competitive
restaurants within a specified time period;
[0016] Other advantages of the disclosed shopping service will be
clear to a person of ordinary skill in the art. It should be
understood, however, that a system, method, or apparatus could
practice the disclosed competitor utility while not achieving all
of the enumerated advantages, and that the protected shopping
service is defined by the claims.
SUMMARY OF THE INVENTION
[0017] A utility for studying the competitive advantage of a
particular restaurant displays a heatmap of competitive activity.
In particular, a database maintains an order queue. A restaurant
server with access to the database communicates with a computer
system over a network, such as, for example, the Internet. The
computer system transmits an identifier to the restaurant server
that uniquely identifies it. The computer system also transmits an
indicia indicative of desired competitor characteristics to the
restaurant server. The restaurant server queries the database based
on the indicia and the identifier to determine a set of competitors
for the subject restaurant. The restaurant server then compiles a
list of competitors and transmits them to the computer system,
which specifies a map area that includes the subject restaurant and
transmits the map area to the restaurant server. The restaurant
server queries the database for competitor activity within the map
area and generates competitive activity events that are transmitted
to the computer system. The computer system renders the competitive
activity events on a display.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Although the characteristic features of this invention will
be particularly pointed out in the claims, the invention itself,
and the manner in which it may be made and used, may be better
understood by referring to the following description taken in
connection with the accompanying drawings forming a part hereof,
wherein like reference numerals refer to like parts throughout the
several views and in which:
[0019] FIG. 1 is a simple system diagram of a system implementing
the disclosed competitor utility;
[0020] FIGS. 2a and 2b are a flowchart illustrating a first process
by which a utility can programmatically determine the competitors
of a subject restaurant;
[0021] FIG. 3 is a flowchart illustrating a process by which a
cuisine type match score between a subject restaurant and a
competitor restaurant can be calculated;
[0022] FIG. 4 is a flowchart illustrating a process by which a
distance score can be calculated between a subject restaurant and a
competitor restaurant can be calculated;
[0023] FIG. 5 is a flowchart illustrating a second process by which
a utility can programmatically determine the competitors of a
subject restaurant;
[0024] FIG. 6 is a flowchart illustrating a process by which the
menu of a subject restaurant can be compared with the menus of
competitor restaurants;
[0025] FIG. 7 is a flowchart illustrating a process by which the
order history of a subject restaurant can be compared with the
order histories of competitor restaurants;
[0026] FIG. 8 is a flowchart illustrating a third process by which
a utility can programmatically determine the competitors of a
subject restaurant;
[0027] FIGS. 9a and 9b comprise a flowchart illustrating a fourth
process by which a utility can programmatically determine the
competitors of a subject restaurant;
[0028] FIG. 10 is a flowchart illustrating a process by which the
hours of operation of a subject restaurant can be compared with the
hours of operation of the subject restaurant's potential
competitors;
[0029] FIG. 11 is a flowchart illustrating a process by which the
diner ratings of a subject restaurant can be compared with the
diner ratings of the subject restaurant's potential
competitors;
[0030] FIG. 12 is a flowchart illustrating a process by which by
which the delivery radius of a subject restaurant can be compared
with the delivery radii of the subject restaurant's potential
competitors;
[0031] FIG. 13 is a flowchart illustrating a process by which the
delivery fees of a subject restaurant can be compared with the
delivery fees of the subject restaurant's potential
competitors;
[0032] FIG. 14 is a flowchart illustrating a process by which the
order minimums of a subject restaurant can be compared with the
order minimums of the subject restaurant's potential competitors;
and
[0033] FIG. 15 is a simplified system diagram of a system
implementing the disclosed competitive advantage utility;
[0034] FIG. 16 is a flowchart illustrating a process by which a
heatmap of competitive activity can be assembled and displayed;
[0035] FIG. 17 is a displaying a tool for selecting a map area for
which to display a heat map for;
[0036] FIGS. 18a-c are a set of heat maps for a small area about a
subject restaurant;
[0037] FIGS. 19a-c are a set of heat maps for a larger area about a
subject restaurant;
[0038] FIG. 20 is a flowchart illustrating a process by which a
heatmap of aggregate competitive activity can be assembled and
displayed;
[0039] FIGS. 21a-d are a sequence of heatmaps illustrating
aggregated competitive activity for the displayed neighborhood at
different times;
[0040] FIG. 22 is a flowchart illustrating a process by which
relative rankings of aggregated competitive activity generated in
accordance with a playback schedule can be ranked;
[0041] FIGS. 23a-d are illustrations of various ways to display
relative amounts of aggregated competitive activity; and
[0042] FIG. 24 is a line graph illustration of order activity for
the subject restaurant over a time period.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT
I. Utility for Determining Competitors of a Business
[0043] Turning to the Figures, and to FIG. 1 in particular, a
system implementing the disclosed competitor locator utility is
depicted. In particular, the system comprises a computer 12, which
could be, for example, a personal computer or a smart phone, with
access to a database 14. The computer 12 executes software,
referred to as the competitor utility. The database contains
records of restaurants, including the restaurants' names, location,
a general description of the type of cuisine offered by each
restaurant, a detailed menu comprising the items offered for sale
and their prices, and an order history for each restaurant. Such a
database may be compiled by, for example, a market research company
covering the restaurant business, or a restaurant service,
providing delivery and/or order placement services for a large
number of restaurants, or any other entity having an interest in
restaurants.
[0044] FIGS. 2a and 2b comprise a flow chart depicting a first
process by which software with access to database 14 can assemble a
list of the most important competitors to a subject restaurant. In
a first step 20, a number of user inputs are accepted, including
identifying the subject restaurant, specifying whether restaurants
providing their service through pickup, delivery, either pickup or
delivery, or both pickup and delivery are to be included in the
search, and a maximum radius to search in. In step 22, the utility
queries database 14 for all restaurants within the market of the
subject restaurant; e.g., for a restaurant in Chicago, Ill., all
restaurants within the Chicago area will be returned, as all of
them are potentially competitors of the subject restaurant.
[0045] Execution then transitions to step 24, where the first of
two filters are applied. The first filter removes all restaurants
that do not provide the chosen pickup or delivery service, and
assembles competitor set 1. For example, if delivery were chosen
above, all restaurants that provide only pickup service would be
filtered out of competitor set 1. Execution then transitions to
step 26, where all restaurants outside of the specified maximum
radius are filtered out. Allowing a user to specify a maximum
radius allows the user to apply judgment regarding the specific
situation facing the subject restaurant. For example, a downtown
restaurant may use a much smaller maximum radius than a restaurant
within a residential neighborhood.
[0046] After assembling competitor set 2, the utility then
generates a cuisine match score for each restaurant within
competitor set 2 in step 28. The details of how a cuisine match
score can be generated are discussed below with regard to FIG. 3.
Execution then transitions to step 30, where a distance score is
generated for reach restaurant within competitor set 2, as further
discussed below with regards to FIG. 4.
[0047] The scores generated in steps 28 and 30 are then weighted
and combined to form a competitor score for each restaurant within
competitor set 2. The scores can be combined with any desired
weighting; for example, the cuisine score can be weighted by a
factor of 0.8, while the distance score can be weighted by a factor
of 0.2. In step 34, the lowest scoring competitors are discarded,
so that only the most relevant competitors are displayed. There are
a number of ways that competitors can be trimmed from the list; for
example, the lowest scoring restaurant can be removed, or a
percentage, such as 30%, of the lowest scoring restaurants can be
removed. Finally, in step 36, the competitor restaurants are
presented by the utility.
[0048] FIG. 3 is a flow chart that illustrates the process by which
a cuisine type match score can be computed. In step 50, the
database record for the subject restaurant is retrieved from the
database. In step 52, a check is made to determine if there are
more competitor restaurants in competitor set 2 to compute cuisine
type match scores for. If there are not, the process exits in step
54. However, if there are more competitor restaurants in competitor
set 2, execution transitions to step 56, where the next competitor
restaurant in competitor set 2 is retrieved. In step 58, the
cuisine type match score for the present competitor restaurant is
computed, and in step 60, the cuisine type match score for the
present competitor is saved for future use. Execution then returns
to step 52.
[0049] One way that the cuisine type match score could be computed
would be to compute the number of matching cuisine types between
the present competitor restaurant and the subject restaurant, and
then dividing the number of matches by the total number of cuisine
types of the subject restaurant. Cuisine type is a broad indication
of the type of food that a restaurant serves, and many restaurants
will cover multiple cuisine types. A non-exhaustive list of example
cuisine types are: African, Argentinian, barbecue, bagels, bakery,
Brazilian, Cajun, Cantonese, Caribbean, Chicken, classic,
Colombian, Cuban, deli, dessert, Dim Sum, eclectic, Ecuadorian,
fine dining, French, fresh fruits, German, Greek, grill, hoagies,
ice cream, Indian, Irish, Jamaican, Japanese, kids menu, Korean,
Kosher, late night, Latin American, Lebanese, low carb, low fat,
Malaysian, Mandarin, Mediterranean, Mexican, Middle Eastern,
noodles, organic, Persian, Peruvian, Polish, Portuguese, Puerto
Rican, ribs, Russian, seafood, soul food, soup, South American,
Spanish, steak, subs, sushi, Szechwan, tapas, Thai, Turkish, vegan,
vegetarian, Vietnamese, wings, and wraps.
[0050] Accordingly, if the subject restaurant has cuisine types of
Brazilian, fine dining, grill, late night, low carb, and South
American, and a competitor restaurant has cuisine types of classic,
Cuban, fine dining, and Latin American, there would be matches on
only 1 cuisine type out of 6. If another competitor restaurant has
cuisine types of Brazilian, fine dining, South American, and wraps,
there would by matches on 3 cuisine types out of 6. Accordingly,
the first competitor restaurant would have a cuisine type match
score of 1/6, while the second restaurant would have a cuisine type
match score of 1/2 ( 3/6).
[0051] FIG. 4 is a flowchart that illustrates the process by which
a distance score can be computed for competitor restaurants. In
step 70, the record of the subject restaurant is retrieved.
Execution then transitions to step 72, where a check is made to
determine if there are more competitor restaurants. If not,
execution transitions to step 74 where the process is exited. If
there are additional competitor restaurants, execution transitions
to step 76, where the next competitor restaurant record is
retrieved. In step 78, a distance score for the present competitor
restaurant is computed, and in step 80, the distance score for the
present competitor restaurant is stored for later use.
[0052] One way that a distance score for a competitor restaurant
can be computed is through the use of the Gaussian function, which
assumes that the preference of consumers regarding the distance to
a restaurant which they are willing to patronize is normally
distributed. The Gaussian formula can be expressed as:
f ( x ) = a - ( x - b ) 2 2 c 2 ##EQU00001##
[0053] Where e is Euler's number (approximately 2.718281828), a is
a constant that sets the high of the distributions peak, b is the
center value of the peak, and c controls the width of the resultant
distribution. Accordingly, for a distribution centered at 0
(meaning that most consumers will prefer restaurants closer to
them) with a maximum peak of 1.0, and an approximate width of 2.0
miles, the following equation results.
f ( x ) = - ( x ) 2 2 .times. 2 2 ##EQU00002##
[0054] Accordingly, for a competitor restaurant that is 2 miles
away from the subject restaurant would have a score of
approximately 0.60653.
[0055] In FIG. 5, a flow chart depicting a second process by which
software with access to database 14 can assemble a list of most
important competitors for a subject restaurant. In a first step
102, a record corresponding to the subject restaurant is retrieved
from the database 14. In the next step 104, a database query is
made to determine those restaurants within a maximum pickup
distance of the subject restaurant. Then, those restaurants that
have a different basic cuisine type are stripped out in step 106;
i.e., if the subject restaurant primarily serves pizza, then Asian
restaurants, French Restaurants, Fine Dining Restaurants, etc.,
will be stripped out, as they are not truly "competitors" of the
subject restaurant.
[0056] In step 108, the menus of the remaining competitor
restaurants are compared with the menu of the subject restaurant.
Similarly, in step 110, the order histories of the remaining
competitor restaurants are compared with the order history of the
subject restaurant. Based on the comparisons in step 108 and step
110, a list of most important competitors is assembled and output
in step 112. Generally, a competitor value is assigned to each
competitor in step 112, which is a combination of the menu value
derived in step 108 and the order history order history value
derived in step 110, both of which are addressed in more detail
hereafter. It should be noted that the different values can be
combined in a weighted fashion; for example, the menu value may
receive a weight of 2, while the order history value receives a
weight of 1, and the competitor score will be the addition of the
two weighted scores.
[0057] It is mentioned above in step 108 that the menu of the
subject restaurant is compared with the menus of the remaining
competitor restaurants. One way this can be accomplished is
illustrated in the flow chart of FIG. 6. It should be noted that
this process assumes that the subject restaurant has already been
retrieved into memory. Accordingly, the process begins at step 150,
where a check is made to determine if all of the competitor
restaurants have been compared to the subject restaurant. If there
are no competitor restaurants, execution transitions to step 168,
where the process is exited. However, if there are more competitor
restaurants to compare against the subject restaurant, execution
transitions to step 152, where the next competitor is retrieved and
becomes the present competitor restaurant. Execution then
transitions to step 154, where a check is made to determine if all
of the subject restaurant's menu items have been scored against the
present competitor restaurant. If the subject restaurant has more
menu items to score against the present competitor restaurant,
execution transitions to step 156, where the next menu item of the
subject restaurant is retrieved.
[0058] Execution then transitions to step 158 where a check is made
to determine if the present competitor restaurant has more menu
items to compare with the present menu item of the subject
restaurant. If so, execution transitions to step 160, where the
next menu item of the present competitor restaurant is retrieved.
In step 162, the present menu item of the subject restaurant and
the present competitor restaurant are compared and scored, and in
step 164 the menu match score of the competitor restaurant is
incremented by the match score of the last menu item.
[0059] Returning to step 154, if the subject restaurant does not
have more menu items, execution transitions to step 166, where the
score for the present competitor restaurant is stored. Execution
then returns to step 150, where execution proceeds as previously
discussed. With regards to step 158, if the present competitor
restaurant does not have any more menu items, execution returns to
step 154, where execution proceeds as previously discussed.
[0060] Step 162 discussed above requires that the menu items of two
restaurants are compared and scored based on how similar they are.
There are a variety of ways that this can be done. The simplest way
to do this would be to compare the names of the menu items using a
simple string comparison. Items that exactly matched could, for
example, be given a value of one (1), while items that did not
match could be given a value of zero (0). However, this method
would not provide a very reliable comparison, as restaurants are
likely to give different names to similar items. For example, one
restaurant may call a hamburger with cheese a "cheeseburger," while
another restaurant may refer to it as an "old fashioned burger with
cheese."
[0061] An improved method of determining how close two menu items
are to one another would be to employ a preprocessor, which would
classify menu items for each restaurant using a common
nomenclature. The preprocessor, which could be employed at the time
that menus were input into the database or at any time thereafter,
could produce an extra field associated with each menu item. Within
the extra field, hereinafter referred to as the true item field, a
hamburger with cheese would be the same regardless of the title
that the restaurant gave it.
[0062] The comparison of true items would also allow for more
granular grading of matches. For example, each true item could
store a similarity to every other true item. Accordingly, a
hamburger could be given a similarity of 0.9 to a cheeseburger, and
vice-verse. However, such an approach would necessarily require a
large amount of information to be assembled and stored for every
food item. In particular, for a database of N true items, each true
item would need to store an additional N-1 fields to account for
its match to every other true item.
[0063] A different approach would be to group true items into a
variety of types, such as salads, soups, lunch sandwiches, pizzas,
steaks, etc. Simple items, such as a standard salad, would be
assigned a 1.0 for the type salads, and a 0.0 for the remaining
types. More difficult to classify items, such as a steak salad,
would be assigned non-zero values for multiple types, such as 0.75
for salads, 0.25 for steaks, and 0.0 for the remaining fields. When
two of the same true items were compared, a match score of 1.0
could be assigned, but when comparing different true items the
scores in each type could be multiplied together and added to form
a match score. For example, when comparing a steak salad to a
regular salad, a match score of 0.75 would result.
[0064] Another way of determining how close two menu items are to
one another would be to compare constituent ingredients. This
would, of course, require that the database actually store the
ingredients that comprise the various menu items. If the
ingredients are available, each ingredient of the two menu items
could be compared, and a score derived from the comparison. For
example, if a menu item of a subject restaurant has ten
ingredients, and a menu item of a competitor restaurant matches six
ingredients, a match score of 0.6 could result. This model can, of
course, be further adjusted so that only similar cuisines are
compared. For example, a steak salad could give a high match score
if compared to a steak taco, despite being very different food.
[0065] Other factors that can be used to compare menu items include
dietary value, such as, for example, low-calorie, low carbohydrate,
vegetarian, vegan, and gluten free, as well as food quality, such
as standard, all-natural, organic, and locally produced or
grown.
[0066] Returning to FIG. 5, step 110 requires a comparison of the
order history of the subject restaurant with competitor
restaurants, to reflect the principle that a restaurant that serves
gourmet sandwiches and burgers is not likely to compete directly
with a fast food restaurant serving lunch sandwiches and burgers,
even though their menus may be substantially identical. FIG. 7 is a
flowchart illustrating a process by which order histories of
restaurants can be compared and scored for similarity.
[0067] Starting with a step 202, an order history value for the
subject restaurant is computed. Execution then transitions to step
204, where a check is made to determine if there are more
competitor restaurants with which to compare order histories. If
none remain, execution transitions to step 214 where the order
history comparison process exits. However, if additional competitor
restaurants remain, the next competitor restaurant is retrieved and
marked as the present competitor restaurant in step 206. The order
history of the present competitor restaurant is retrieved and an
order history value is computed in step 208, and a comparison
between the order history values of the present competitor
restaurant and the subject restaurant is conducted and scored in
step 210. Execution then transitions to step 212, where the order
history score for the competitor restaurant is saved. Execution
then returns to step 204, where execution proceeds as previously
discussed.
[0068] The above process discussed computing the "order history
value" for the subject restaurant and each competitor of the
subject restaurant. One way that an order history value can be
computed would be to compute the mean, or average, value of an
order for the entirety of a restaurant's order history, or a
subsection thereof. It is also fairly simple to determine if a
restaurant's average order size is similar to another restaurant,
and therefore, it is fairly simple to "score" the similarity of one
restaurant's order history to another using the average order size.
For example, if one restaurant has an average order size of $29,
while another has an average order size of $11, it is likely that
the two restaurants are not in direct competition; on the contrary,
if one restaurant has an average order size of $13 and another has
an average order size of $11, it is far more likely that they are
in competition. Given the above, one way to compare the average
values would be to use a fixed range value, such as $3.50, as an
offset from the average order size. Accordingly, if a subject
restaurant had an average order size of $10, any restaurant's with
an average order size of between $6.50 and $13.50 would be judged a
potential competitor, and given an order history competition score
of 1, while restaurant's with an order size outside of that range
would be given a score of 0. One simple variation would be to vary
the range value based on the type of restaurant. For example, fast
food restaurants could use a range value of $1.80, while pizza
restaurants could use a range value of $3.20, etc.
[0069] Another simple extension of the above would be to vary the
size of the offset used for comparison based on the order history.
One way to do this would be to use a fixed percentage of the
average order size, such as, for example 10%. Another way would be
to use the standard deviation of the order history subset from
which the average value was computed. Standard deviation of a set
can be computed using the following formula:
.sigma.= {square root over
(.SIGMA..sub.i=1.sup.n(m-x.sub.1).sup.2)}
[0070] Where .sigma. is the standard deviation, m is the mean value
of a set having n members, and x.sub.i is the ith member of a set
having n members. Expressed in words, the standard deviation is the
square root of the sum of the square of the difference between the
mean and each set member. For example, assume that a subject
restaurant has an order history with the following five order
amounts: $13, $9, $17, $11, $11.50. The mean, or average of these
orders would be $12.30, and the standard deviation would be
$5.98.
[0071] Assuming that order sizes are normally distributed, one
standard deviation from the mean will account for 68.27% of all
orders within the set of orders used to compute the standard
deviation, while using two standard deviations would account for
95.45% of orders. Accordingly, given the example above, one way of
grading the orders would be to use an "all-or-nothing" scoring
system, and thereby assign a value of 1 to any restaurant whose
average order size is within, for example, 1 or 2 standard
deviations of the order size of the subject restaurant.
[0072] A further refinement that can be applied to any of the order
history competitive scoring systems discussed above would be to
scale the competitive score of a restaurant based on how far apart
the average order sizes were. With reference to the last system
discussed above, if a subject restaurant has an average order size
of $10 and a standard deviation of $1, a zero value could be
assigned to restaurants with, for example, an average order size 3
standard deviations away; i.e., less than or equal to $7 or greater
than or equal to $13. Intermediate values could be linearly
interpolated within that range, so that competitive restaurants
with an average order size identical to that of the subject
restaurant, $10 in this case, would be given a value of 1.
Accordingly, a competitive restaurant with an average order size of
$8.50 or $11.50 would be assigned an order history score of 0.5,
etc.
[0073] A simpler way of comparing the order history of the subject
restaurant with a competitor's order history would be to compare
the daily volume of orders that each restaurant processed. This
could be done by comparing average daily order volume as discussed
earlier for order size, with the average daily order volume being
computed, for example, over a week, a month, or a quarter.
Similarly, standard deviation of order volume computed over a
period can also be useful for comparing the order volume of a
subject restaurant and a competitor restaurant.
[0074] An additional, longer term, comparison of order histories
can also be used to determine if the subject restaurant and a
particular competitor have a similar seasonal pattern. If the
seasonal pattern diverges significantly, this can be indicative
that the restaurants may only compete part of the year, rather than
year round. One way to compute a seasonal pattern for the sales of
a restaurant would be to compute the total sales for a quarter, and
compare those sales on a quarter-to-quarter basis with other
quarters. Similarly, sales could be computed on a month of the year
basis, or a week of the year basis. Then a comparison can be made
from one time period to another; i.e., quarter-to-quarter,
month-to-month, week-to-week, etc., to determine if particular time
periods consistently perform better or worse than other time
periods. For example, it would be expected that ice cream parlors
in the Midwest would perform consistently better in summer than
winter, while other restaurant's would likely have the opposite
pattern. By comparing seasonal patterns of potentially competing
restaurant's competitors that are not readily apparent may be
found. For example, competitors of restaurants that specialize in
serving Holiday parties may not be easily determined in other
ways.
[0075] One way to compare the seasonal pattern of sales for a
subject restaurant, and a potential competitor restaurant would be
to calculate the total sales for each on a monthly basis over the
period of, for example, five years. An average monthly sales number
can then be computed, and the standard deviation calculated as
discussed previously. Each month can then be compared to the
average and the standard deviation, and, months that vary from the
standard deviation by more than some particular value can be
computed. The month-to-month variation of the subject restaurant
can then be correlated with the month-to-month variation of the
potential competitor restaurant using, for example, a Pearson
correlation analysis. The correlation analysis will return a value
between 0 and 1, which can be used as a seasonal pattern score that
is indicative of the level of competition between the two
restaurants.
[0076] One issue with computing a seasonal pattern is determining
if a trend is present in the seasonal data, such as would be
present for a rapidly growing (or shrinking) restaurant. However,
there are numerous methods well-known in the art to detrend data.
For example, the use of detrended fluctuation analysis can be used
to remove the trend component of the analyzed order data.
[0077] Another improvement that can be made is to more accurately
model the radius within which diners search for pickup and delivery
restaurants. One way that this can be done is to acknowledge that
diners will have variable tolerances for the distance that they
will look for restaurants. While one diner may be willing to
patronize only restaurants within 8 blocks of his residence,
another diner may be willing to patronize restaurants as far away
as 5 miles from her residence. The preferences of diners as to a
maximum radius they are willing to travel to patronize a pickup or
delivery restaurant is likely to vary with a number of factors. For
example, diners in New York, who usually walk, may uniformly have a
lower maximum radius than diners in Los Angeles, who usually drive.
However, some variance among the diners in each market is likely.
Accordingly, one way to model diner preferences for their maximum
restaurant patronizing distance would be conduct market surveys to
determine a distribution function for each market area, such as a
particular city, or a particular neighborhood within a city.
Alternatively, a restaurant service could actually access data
regarding diners ordering habits and determine for a particular
market the distribution of distances that diners place orders with
restaurants. Assuming a more or less normal distribution of
preferences among diners, a distribution function can be modeled
with a mean maximum restaurant patronizing distance, and a standard
deviation.
[0078] To make effective use of a distribution function for the
maximum restaurant patronizing distance, a modification to the
process of FIG. 5 must be made, as is reflected in FIG. 8. In step
302, the record for the subject restaurant is retrieved from the
database. In step 304, a maximum radius is determined. One way of
doing this would be to use a distance 3 standard deviations greater
than the mean maximum restaurant patronizing distance, which should
account for approximately 99.7% of diners' preferences.
[0079] In step 306, restaurants within the "maximum radius" are
retrieved from the database, and are assigned a distance value. One
way that this can be done would be to linearly interpolate based on
distance, so those competitor restaurants that are very close to
the subject restaurant are assigned a distance score close to 1,
while those that are far away, e.g., close to a 3 standard
deviations of the maximum restaurant patronizing distance
distribution function away, would be assigned a distance value
close to 0.
[0080] In step 308, the subject restaurant's menu is compared with
the competitor restaurant menus, and each competitor restaurant is
assigned a menu score. The comparison process can, for example,
follow the process outlined in FIG. 3. Execution then transitions
to step 310, where the order history of the subject restaurant and
the competitor restaurants are compared, using, for example, the
process outlined in FIG. 4. In step 312, the distance value, the
menu value and the order history values are combined, and a set of
competitors, each with a competition score, is assembled and
output.
[0081] FIGS. 9a and 9b comprise a flow chart depicting a third
process by which software with access to database 14 can assemble a
list of most important competitors for a subject restaurant. In a
first step 402, a record corresponding to the subject restaurant is
retrieved from the database 14. In the next step 404, a maximum
radius to search for competitor restaurants is determined, and, in
step 406, a database query is made to determine those restaurants
within the maximum search radius. In step 408, the menus of the
remaining competitor restaurants are compared with the menu of the
subject restaurant. Similarly, in step 410, the order histories of
the remaining competitor restaurants are compared with the order
history of the subject restaurant. Unlike the process of FIG. 8,
however, this process adds a number of additional steps to further
improve competitor comparisons.
[0082] In step 412, the hours of operation of the subject
restaurant are compared with the hours of operation of the
competitor restaurants and an hours of operation score for each
potential competitor is developed. In step 414, diner ratings for
the subject restaurant are compared with the diner ratings of the
competitor restaurants, and a diner rating score for each potential
competitor is developed. In step 416, the delivery radius of the
subject restaurant is compared with the delivery radius of the
competitor restaurants, and a delivery radius score for each
potential competitor is developed. In step 418, delivery fees
charged by the subject restaurant are compared with delivery fees
charged by competitor restaurants, and a delivery fee score for
each potential competitor is developed. In step 420, order minimums
for the subject restaurant are compared with order minimums for the
competitor restaurants, and an order minimum score for each
potential competitor is developed.
[0083] FIG. 10 is a flow chart that illustrates the process by
which the hours of operation for a subject restaurant can be
compared with the hours of operation of its competitors, and an
hours of operation score can be programmatically computed. In step
502, the database record for the subject restaurant is retrieved
from the database. In step 504, a check is made to determine if
there are more competitor restaurants to compare hours of operation
with. If there are not, the process exits in step 512. However, if
there are more competitor restaurants, execution transitions to
step 506, where the next competitor restaurant is retrieved. In
step 508, the hours of operation of the subject restaurant and the
present competitor restaurant are compared and an hours of
operation score is computed. In step 510, the hours of operation
score for the present competitor is saved for future use. Execution
then returns to step 504.
[0084] An hours of operation score that is indicative of the degree
of competition between a subject restaurant and a potential
competitor can be developed by comparing the degree of overlap of
operating hours between the subject restaurant and the potential
competitor. For example, if the subject restaurant is open from
6:30 AM through 2:00 PM, a total of 7.5 hours, and a competitor is
open from 11 AM through 9 PM, the competitor's hours of operation
match a total of three hours of the subject restaurant, which would
give a score of 3/7.5, or 0.4.
[0085] FIG. 11 is a flow chart that illustrates the process by
which diner ratings for a subject restaurant can be compared with
its competitors' diner ratings, and a diner ratings score can be
programmatically computed. In step 602, the database record for the
subject restaurant is retrieved from the database. In step 604, a
check is made to determine if there are more competitor restaurants
to diner ratings with. If there are not, the process exits in step
612. However, if there are more competitor restaurants, execution
transitions to step 606, where the next competitor restaurant is
retrieved. In step 608, the diner ratings of the subject restaurant
and the present competitor restaurant are compared and a diner
ratings score is computed. In step 610, the diner ratings score for
the present competitor is saved for future use. Execution then
returns to step 604.
[0086] Assuming that diners are required to assign a numeric value
to a particular restaurant, then a diner ratings score that is
indicative of the degree of competition between a subject
restaurant and a potential competitor can be developed by computing
the average value of the subject restaurant's diner ratings, and
comparing that with the average value of a competitor's diner
ratings. One way to compute a diner ratings score indicative of the
degree of competition between the restaurants would be to use the
following formula:
S = S Max - R AS - R AC S Max ##EQU00003##
[0087] Where, S is the computed diner rating score, SMax is the
maximum possible diner rating score, R.sub.AS is the average rating
of the subject restaurant, and R.sub.AC is the average rating of
the competitor restaurant.
[0088] For example, if the diner ratings of the subject restaurant
have an average value of 4.0 (out of 5) and the diner ratings of a
competitor have an average value of 3.2 (out of 5), then, using the
formula above, the diner rating score would be (5-0.8)/5=0.84.
[0089] FIG. 12 is a flow chart that illustrates the process by
which the delivery radius of a subject restaurant can be compared
with its competitors' delivery radii, and a delivery radius score
can be programmatically computed. In step 702, the database record
for the subject restaurant is retrieved from the database. In step
704, a check is made to determine if there are more competitor
restaurants to compare delivery radii with. If there are not, the
process exits in step 712. However, if there are more competitor
restaurants, execution transitions to step 706, where the next
competitor restaurant is retrieved. In step 708, the delivery
radius of the subject restaurant and the present competitor
restaurant are compared and a delivery radius score is computed. In
step 710, the delivery radius score for the present competitor is
saved for future use. Execution then returns to step 704.
II. Utility for Determining Competitive Advantage of a Subject
Business
[0090] Turning to FIG. 15, a simplified system diagram depicting a
system for analyzing the strengths and weaknesses of a business.
While the business discussed herein is a restaurant, the system and
method disclosed can be adapted to a wide variety of businesses by
a person of skill in the art.
[0091] A restaurant server 16 is coupled to a database 14 that is
maintained by a restaurant service. The database is coupled to the
restaurant service's system 13 for order placement by diners with
member restaurants, and, maintains a record of any orders placed by
diners in real-time. The restaurant server 16 is coupled to various
devices over the Internet 18. The coupled devices can include, for
example, an order appliance 20, as described in earlier filed U.S.
patent application Ser. No. 13/337,362, titled "Read Time
Integrated Shopping Service," filed Dec. 27, 2011, a personal
computer 22, a tablet computer 24 or a wireless mobile device
26.
[0092] The restaurant server 16 operates to communicate data with
any of the coupled devices. For example, the restaurant server 16
can serve a web page, or communicate with an application operating
on any of the coupled devices via, for example, XML over HTTP. Only
restaurants that are members of the restaurant service are
permitted to access the competitive advantage utility. Accordingly,
an access means, such as a username and password or some other
unique identifier, are used to limit access to the competitive
advantage web page or application. Each member restaurant is
designated its own access means; i.e., a different username. In one
embodiment of the disclosed competitive advantage utility, each
order appliance may have a unique code assigned to it that
corresponds to the restaurant it is assigned to. This unique code
can make for a simple access means, as the software operating on
the order appliance can automatically upload the unique code to the
restaurant service, which can assume that anyone with access to the
order appliance is authorized to access the competitive utility.
However, this does not preclude the use of a password, or other
identifier, coupled with the unique code assigned to the order
appliance.
[0093] FIG. 16 depicts a flowchart describing a process by which a
utility can generate a near real-time or real-time heat map of
competitive activity. In step 952 a set of restaurants to be
studied is assembled. The set of assembled restaurants can include
any arbitrary grouping of restaurants, such as, for example, i) the
subject restaurant, ii) a group of competitor restaurants that are
manually chosen, iii) a group of competitor restaurants that are
determined automatically using any of the systems and methods
discussed earlier in this disclosure, iv) a group of all
restaurants within a user defined distance of the subject
restaurant. In step 954, a user of the utility selects a map area
including the subject restaurant within which to generate the heat
map. This selection can be done via manual input; i.e., a text box,
or through a graphical interface such as that described later
herein. The process of selecting the map area can be through the
specification of a distance, so that a circular radius around the
subject restaurant is included. Other ways that a map area can be
specified include, but are not limited to, 1) using the delivery
area of the subject restaurant as stored in the restaurant service
database; 2) selecting multiple coordinates; i.e.,
latitude-longitude pairs, so that an elliptical area can be
specified, 3) selecting multiple coordinates to that a rectangular
or square area can be specified, and 4) selecting a series of
coordinates tracing out an arbitrary closed area, with the last
coordinate, being equal to the first coordinate, and thereby
closing the area. In step 956, a map displaying the members of the
set of restaurants derived in step 952 and within the map area
selected in step 954 is displayed. In step 958, the utility
monitors the database for a competitive event, such as an order to
a restaurant within the assembled step, and in step 960, the event
is rendered on the map.
[0094] One use of the process of FIG. 16 is to track competitive
activity from a pool of competitor restaurants. For example, a
restaurant manager may configure the utility to replay the lunch
period; i.e., approximately 11:30 AM to 1:30 PM in most U.S.
cities, for several weeks, and the view of FIGS. 18 and 19 will
allow her to observe orders that are placed with competitors during
those periods, and compare them to orders placed with the manager's
own restaurant. If a particular restaurant is generating large
number of orders in a period consistently, this could lead the
restaurant manager to plan a promotion targeting that restaurant's
diners, or to examine that restaurant's menu and the particular
items being ordered with an eye toward improving the subject
restaurant's offerings. Another use of the process of FIG. 16 would
be to track the ordering activity of diners within the designated
area, either as the orders occur in near real time or real time, or
as a replay of prior activity, such as the lunch period of some
number of days. The area could be set to, for example, the delivery
area of the restaurant and order flow could be examined. It could
then be changed to be slightly greater than the delivery area, and
examined again. If order activity to competitors increases
significantly, it would indicate to the manager of the subject
restaurant that increasing the delivery area could potentially be
profitable. In addition, the view of diner activity can be used to
target geographical locations, such as the distribution of coupons
in a geographic area, or assembling a list of diner emails to whom
to send promotions to. The following figures graphically illustrate
these processes.
[0095] Turning to FIG. 17, a screen from the utility for
determining competitive advantage is depicted. This screen depicts
a portion of a neighborhood centered about a subject restaurant
1002. Using the interface of this screen, a user can graphically
set a radius in which a heat map will be generated, as required by
the step 954 of the process of FIG. 16. In particular, as depicted,
a first radius 1010 captures all restaurants within a first
specified distance, such as, for example, 1.5 city blocks, while a
second radius 1012 encompasses a larger distance, such as, for
example, 4 blocks. The first radius encompasses competitive
restaurants 1004a-1004d, although it should be noted that 1004d is
barely within the first radius 1010. The second radius encompasses
not only competitive restaurants 1004a-1004d, but also competitive
restaurants 1005a-1005j. However, neither radius encompasses
competitive restaurants 1006a-1006j.
[0096] Turning to FIG. 18a, a screen depicting a map encompassing
the first radius 1010 of FIG. 17 is depicted. This view encompasses
the subject restaurant 1002 and a small number of competitor
restaurants 1004a-1004d. While only a small number of competitors
are depicted, there is ample room to display orders as they are
logged, as depicted in FIG. 18b. Similar to FIG. 18b, FIG. 18c
displays orders in real time, but the order balloons are tied to
the locations of diners ordering meals. On the contrary, FIG. 19a
displays not only competitors 1004a-1004d, but also competitors
1005a-1005j. While the greater number of competitors generates more
useful information, the display of that information is extremely
crowded during "hot periods," such as lunch and dinner time, when
numerous orders are logged. This creates a "crowded" view of the
near real-time or real-time competitive information, as depicted in
FIG. 19b. Similarly, FIG. 19c displays the same view as FIG. 19b,
but order balloons are tied to the locations of diners ordering
meals.
[0097] As discussed so far, the disclosed competitive advantage
utility has displayed all orders to restaurants within the
assembled set. However, this is not a limitation of the disclosed
utility; in particular, the orders that are examined can be more
narrowly tailored, so that only orders of a specified item are
displayed. For example, a restaurant manager may be interested in
evaluating her restaurant's burger offerings versus competitors'
burger offerings. Accordingly, the manager could monitor pickup and
delivery orders over a specified area for a period of time to
determine if a particular competitor is receiving a
disproportionate share of burger orders.
[0098] The disclosed competitive advantage utility can also be used
to generate heatmaps for aggregate competitive activity. Aggregate
competitive activity refers to, for example, a collection of
competitive activity accumulated over a number of different
competitors, a specific time period, or collection of time periods,
or a compilation of competitors and time periods.
[0099] FIG. 20 depicts a flowchart of a process by which the
competitive advantage utility can generate a heat map of aggregate
competitive activity. In step 1052 a set of restaurants is
assembled similar to step 952. In step 1054, a user of the utility
selects a map area including the subject restaurant within which to
generate the heat map. In step 1056, the user selects an area over
which competitive activity will be aggregated, such as, for
example, 4 square blocks, or 1 square mile. Similarly, in step
1058, the user selects a time period over which to aggregate
competitive activity, such as 5 minutes, 30 minutes, or 1 day.
[0100] In step 1060, the user defines a playback schedule. In one
embodiment of the disclosed competitive advantage utility, the
playback period is a single continuous time period, such as, for
example, 11:30 AM-2:30 PM on Apr. 17, 2012. However, in a separate
embodiment of the disclosed competitive advantage utility, the
playback schedule can be a number of continuous time periods. For
example, the playback schedule can be a number of related
continuous time periods, such as 4 consecutive Tuesday lunch
periods; i.e., 11:30 AM-2:30 PM on Apr. 17, 2012, 11:30 AM-2:30 PM
on Apr. 24, 2012, 11:30 AM-2:30 PM on May 1, 2012 and 11:30 AM-2:30
PM on May 8, 2012. However, if the user of the competitive
advantage utility desires to view unrelated time periods that is
also within the scope of the disclosed competitive advantage
utility. For example, if a restaurant manager desires to look at 3
random time periods, such as 1:30-2:45 PM on Mar. 7, 2012, 11:15
AM-12:30 PM on Apr. 19, 2012, and 7:30 PM-10:00 PM on May 4, 2012,
the user could set that up as the playback schedule.
[0101] In step 1062, the aggregate heat map is rendered. In
particular, starting at the beginning of the first playback period,
the competitive advantage utility displays an indication of the
aggregate competitive activity within each activity aggregating
area. As better illustrated in FIG. 21a, the activity aggregating
area effectively defines a grid which is overlaid on the area;
i.e., the activity aggregating area is effectively a quantum of
area over which all orders are aggregated within a time period as
described below. The amount of competitive activity may be
displayed as the raw competitive activity indicia; i.e., the number
of orders, in a particular aggregating time period. However, the
amount of competitive activity is preferably displayed in a manner
that shows the relative amount of activity in a particular
area/time period versus other area/time periods, as discussed later
in this disclosure. The playback schedule is stepped through using
the aggregating time period as a time quantum, and each activity
aggregating area is updated for each time step. The amount of time
that each step is displayed can be configured by the user. FIGS. 21
b-d illustrate three steps of an aggregate heat map. It should be
noted that certain activity indicia are displayed as larger than a
single grid unit; however, within the present embodiment of the
disclosed competitive advantage utility, each of these is assigned
to a single activity aggregating area.
[0102] FIG. 22 illustrates a process by which the N.times.n sets of
competitive activity that are displayed during the playback of an
aggregated heatmap can be ranked so that the relative amount of
competitive activity can be properly displayed. In step 1102, all
orders that occur within the heatmap area and playback schedule are
assembled into a first set of orders. In step 1104, the first set
of orders is divided into N sets of orders, with each of the N set
of orders corresponding to a specific activity aggregating area;
i.e., one of the grid sectors shown in FIG. 21a. In step 1106, the
orders within each of the N sets is subdivided into n additional
sets of orders. Each of the n sets of orders corresponds to a
particular aggregating time period within the playback schedule of
a particular activity aggregating area, which is hereinafter
referred to as an activity set. For example, if the aggregating
time period is 5 minutes, and the playback schedule stretches from
11:30 AM to 12:30 PM on Apr. 17, 2012, activity sets for each of
the N activity aggregating areas will be generated for 11:30:01 AM
to 11:35 AM, 11:35:01 AM to 11:40 AM, etc., with a total of 12
activity sets being generated for each of the N activity
aggregating areas.
[0103] In step 1108, the largest (H.sub.Nn) and smallest (L.sub.Nn)
activity set within the playback schedule is determined. In step
1110 each of the Nxn activity sets are scored. One way of scoring
the activity sets is through use of the following formula:
S Nn = X Nn - L Nn H Nn - L Nn ##EQU00004##
[0104] Where S is the score of the activity set corresponding to
activity set indicia X; X is an indicia of the amount of
competitive activity for a particular quantum of aggregated
competitive activity, H is the highest indicia of competitive
activity for all activity sets of aggregated competitive activity
within the Nxn sets of orders created by the process of FIG. 22,
and L is the lowest indicia of competitive activity for all
activity sets of aggregated competitive activity within the Nxn
sets of orders created by the process of FIG. 22.
[0105] The above process can be made more useful by discarding all
activity sets that have no competitive activity within them, which
will allow for more meaningful comparisons of competitive activity.
An additional optimization would be to discard all aggregating
areas with no competitive activity prior to separating out the
aggregating time periods within each aggregating area.
[0106] By using a ranking method, such as that set forth in FIG.
22, the competitive activity of each activity set can be displayed
so that its relative amount of competitive activity is immediately
apparent. For example, higher amounts of activity can be marked
with darker shades of red, while smaller amounts of competitive
activity can be marked with lighter shades of red, orange, yellow,
or gray, where little or no activity is present. Alternatively, the
size of a marking, such as a circle, can be changed based on the
amount of the activity, or the fill of the marking can be changed,
so that a low level of activity is denoted by an almost empty
marking while a high level of activity is denoted by a nearly full
marking. Examples of some of these are shown in FIG. 23.
[0107] As discussed above, different indicia may be used to define
competitive activity. For example, the number of orders within an
activity set can be used as an effective indicia of competitive
activity. Alternatively, the dollar amount of orders may be used.
Other indicia are also possible, such as an additive or
multiplicative combination of order number and dollar amount, an
indicia involving item count, or any other indicia that is
proportional to business activity for a restaurant.
[0108] As discussed above when discussing the generation of
non-aggregated heatmaps, aggregated heatmaps of specific items can
also be generated.
[0109] In addition to displaying activity as a heatmap, the
disclosed competitive advantage utility also can display
competitive activity and subject restaurant activity as a more
traditional graph. For example, FIG. 24 illustrates a line graph
that displays a restaurant's orders for two consecutive weekends.
The lunch period for both days is aggregated into a single point
labeled 12 PM and the dinner period for both days is aggregated
into a single point labeled 8 PM. Similar graphs can be made for
particular items of the subject restaurant, all activity of a group
of competitor restaurants, all activity of all competitor
restaurants, or specific items of a group of or all competitor
restaurants.
[0110] Obviously, many additional modifications and variations of
the present invention are possible in light of the above teachings.
Thus, it is to be understood that, within the scope of the appended
claims, the invention may be practiced otherwise than is
specifically described above.
[0111] The foregoing description of the invention has been
presented for purposes of illustration and description, and is not
intended to be exhaustive or to limit the invention to the precise
form disclosed. The description was selected to best explain the
principles of the invention and practical application of these
principles to enable others skilled in the art to best utilize the
invention in various embodiments and various modifications as are
suited to the particular use contemplated. It is intended that the
scope of the invention not be limited by the specification, but be
defined by the claims set forth below.
* * * * *