U.S. patent application number 14/948585 was filed with the patent office on 2017-05-25 for method and system for predicting the timing of and attendance at an event milestone.
This patent application is currently assigned to International Business Machines Corporation. The applicant listed for this patent is International Business Machines Corporation. Invention is credited to James E. Bostick, John M. Ganci, JR., Martin G. Keen, Sarbajit K. Rakshit.
Application Number | 20170147925 14/948585 |
Document ID | / |
Family ID | 58720821 |
Filed Date | 2017-05-25 |
United States Patent
Application |
20170147925 |
Kind Code |
A1 |
Bostick; James E. ; et
al. |
May 25, 2017 |
Method and System for Predicting the Timing of and Attendance at an
Event Milestone
Abstract
A method for predicting the timing of and attendance at a
predefined event milestone, the method including the steps of:
receiving, by a prediction engine, a first input variable;
generating, by the prediction engine, a first time prediction of
the predefined event milestone in response to the received first
input variable; receiving, by the prediction engine, a second input
variable; generating, by the prediction engine, a first attendance
prediction at the predefined event milestone in response to the
second input variable; and assigning a first confidence level to
one of the first time prediction and the first attendance
prediction.
Inventors: |
Bostick; James E.; (Cedar
Park, TX) ; Ganci, JR.; John M.; (Cary, NC) ;
Keen; Martin G.; (Research Triangle Park, NC) ;
Rakshit; Sarbajit K.; (Kolkata, IN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
International Business Machines Corporation |
Armonk |
NY |
US |
|
|
Assignee: |
International Business Machines
Corporation
Armonk
NY
|
Family ID: |
58720821 |
Appl. No.: |
14/948585 |
Filed: |
November 23, 2015 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 30/02 20130101 |
International
Class: |
G06N 5/02 20060101
G06N005/02 |
Claims
1. A method for predicting the timing of and attendance at a
predefined event milestone, the method comprising the steps of:
receiving, by a prediction engine, a first input variable;
generating, by the prediction engine, a first time prediction of
the predefined event milestone in response to the received first
input variable; receiving, by the prediction engine, a second input
variable; generating, by the prediction engine, a first attendance
prediction at the predefined event milestone in response to the
second input variable; and assigning a first confidence level to
one of the first time prediction and the first attendance
prediction.
2. The method of claim 1, further comprising the step of assigning
a second confidence level to the other one of the first time
prediction and the first attendance prediction.
3. The method of claim 1, wherein the step of generating a first
time prediction of the predefined event milestone further comprises
the step of generating the first time prediction within a
predefined threshold.
4. The method of claim 1, wherein the step of generating a first
attendance prediction at the predefined event milestone further
comprises the step of generating the first attendance prediction
within a predefined threshold.
5. The method of claim 1, further comprising the step of receiving,
by the prediction engine, a third input variable.
6. The method of claim 5, further comprising the step of
generating, by the prediction engine, a second time prediction of
the predefined event milestone in response to the received third
input variable.
7. The method of claim 6, further comprising the step of assigning
a second confidence level to the second time prediction.
8. The method of claim 1, further comprising the step of receiving,
by the prediction engine, a third input variable.
9. The method of claim 8, further comprising the step of
generating, by the prediction engine, a second attendance
prediction at the predefined event milestone in response to the
third input variable.
10. The method of claim 9, further comprising the step of assigning
a second confidence level to the second attendance prediction.
11. The method of claim 1, further comprising the step of
transmitting one of the first time prediction and the first
attendance prediction.
12. A system for predicting the timing of and attendance at a
predefined event milestone, the system comprising: an event
milestone prediction system comprising: a prediction engine
configured to: receive a first input variable; generate a first
time prediction of the predefined event milestone in response to
the received first input variable; receive a second input variable;
and generate a first attendance prediction at the predefined event
milestone in response to the second input variable; wherein the
event milestone prediction system is configured to assign a first
confidence level to one of the first time prediction and the first
attendance prediction.
13. The system of claim 12, wherein the event milestone prediction
system is configured to assign a second confidence level to the
other one of the first time prediction and the first attendance
prediction.
14. The system of claim 12, wherein the prediction engine is
configured to generate the first time prediction of the predefined
event milestone within a predefined threshold.
15. The system of claim 12, wherein the prediction engine is
configured to generate the first attendance prediction within a
predefined threshold.
16. The system of claim 12, wherein the prediction engine is
configured to receive a third input variable and to generate a
second time prediction of the predefined event milestone in
response to the received third input variable.
17. The system of claim 16, wherein the event milestone prediction
system is configured to assign a second confidence level to the
second time prediction.
18. The system of claim 12, wherein the prediction engine is
configured to receive a third input variable and to generate a
second attendance prediction at the predefined event milestone in
response to the third input variable.
19. The system of claim 19, wherein the event milestone prediction
system is configured to assign a second confidence level to the
second attendance prediction.
20. A computer program product for predicting the timing of and
attendance at a predefined event milestone, the computer program
product comprising a computer readable storage medium having
program instructions embodied therewith, wherein the computer
readable storage medium is not a transitory signal per se, the
program instructions readable by a computer to cause the computer
to perform a method comprising: receiving, by a prediction engine,
a first input variable; generating, by the prediction engine, a
first time prediction of the predefined event milestone in response
to the received first input variable; receiving, by the prediction
engine, a second input variable; generating, by the prediction
engine, a first attendance prediction at the predefined event
milestone in response to the second input variable; and assigning a
first confidence level to one of the first time prediction and the
first attendance prediction.
Description
BACKGROUND
[0001] The present invention is directed to methods and systems for
predicting the timing of and attendance at an event milestone,
assigning confidence levels to the predictions, and providing
notifications of the same.
[0002] The operation of a major event (such as a professional
sports game or a concert) and specifically attendance of that event
is affected by many variables which can greatly impact various
interested parties including event organizers, vendors, and those
in locations surrounding the event. Some variables are known--in
the case of an event where tickets are pre-sold, the expected
attendance is known. In other cases, where people largely buy
tickets on the day of the event, it is not. Some events have a
defined end time (a concert is scheduled to run for 2 hours) and
some have a variable end time (an NFL game may run from between 3
hours to 5 hours depending upon speed of play and the potential of
overtime). For some events, the majority of attendees arrive at the
beginning of the event and mostly stay to the end. For others,
attendees may arrive late or leave early depending upon a number of
factors.
[0003] Examples of various event uncertainties and how such
uncertainties effect various interested parties can include,
without limitation, the following: (1) Event parking attendants and
traffic police need to anticipate when people will leave an event
and take to their vehicles, but event time is variable. For example
two NFL games start at 1:00 PM. One game is close, and 80% of
attendees stay to the end of the game which concludes at 5:00 PM.
The second game is a rout with the home team losing badly. The game
ends at 4:00 PM, but 65% of attendees have already left by 3:00 PM;
(2) Event vendors may wish to maximize revenues through variable
pricing. For example a beer vendor at a baseball match must cut-off
beer sales by the 7th inning The exact time of when the 7th inning
will begin is unknown and therefore the vendor cannot tailor sales
of stock accordingly. If that vendor knew they had approximately 1
hour of operating time remaining they could price accordingly
(offer promotions such as a free bag of peanuts if they have too
much stock, or raise prices if stock is limited); (3)
Transportation in the surrounding areas (roads, public
transportation, public footpaths) is affected by when attendees
leave an event en-mass. If this could be predicted, traffic-enabled
GPS systems could direct non-event traffic away from an area in
anticipation of future busy conditions; (4) Food prep and staffing:
Vendors at the event or surrounding area have a vested interest in
understanding attendance, patterns of traffic for vendors based on
key indicators in the event itself. Consider there may be specific
events that impact a food serving area more than others thus moving
staff could be performed based on prediction. The amount of food
they stock and prepare to serve the public and staff could greatly
benefit from being able to predict the key milestones.
SUMMARY
[0004] The disclosure is directed to inventive methods and systems
for predicting the timing of and attendance at a predefined event
milestone. An embodiment can include, but is not limited to, a
method and system whereby parties can subscribe to predictions
related to the attendance of an event at a given milestone and/or
the actual time a given event milestone will occur; an event
milestone to actual time prediction system can predict event
milestones with actual time periods; an event milestone to
predicted attendance system can predict how many attendees will be
at the event during defined event milestones; and an event
milestone notification system can match subscriptions with event
predictions as they are received. When a match is found, the system
can generate a notification and send it to the appropriate
subscriber.
[0005] According to an aspect, a method for predicting the timing
of and attendance at a predefined event milestone includes the
steps of: (i) receiving, by a prediction engine, a first input
variable; (ii) generating, by the prediction engine, a first time
prediction of the predefined event milestone in response to the
received first input variable; (iii) receiving, by the prediction
engine, a second input variable; (iv) generating, by the prediction
engine, a first attendance prediction at the predefined event
milestone in response to the second input variable; and (v)
assigning a first confidence level to one of the first time
prediction and the first attendance prediction.
[0006] According to an another aspect, a system for predicting the
timing of and attendance at a predefined event milestone including:
an event milestone prediction system comprising: a prediction
engine configured to: receive a first input variable; and generate
a first time prediction of the predefined event milestone in
response to the received first input variable; the prediction
engine further configured to: receive a second input variable; and
generate a first attendance prediction at the predefined event
milestone in response to the second input variable; wherein the
event milestone prediction system is configured to assign a first
confidence level to one of the first time prediction and the first
attendance prediction.
[0007] According to a further another aspect, a computer program
product for predicting the timing of and attendance at a predefined
event milestone, the computer program product comprising a computer
readable storage medium having program instructions embodied
therewith, wherein the computer readable storage medium is not a
transitory signal per se, the program instructions readable by a
computer to cause the computer to perform a method including (i)
receiving, by a prediction engine, a first input variable; (ii)
generating, by the prediction engine, a first time prediction of
the predefined event milestone in response to the received first
input variable; (iii) receiving, by the prediction engine, a second
input variable; (iv) generating, by the prediction engine, a first
attendance prediction at the predefined event milestone in response
to the second input variable; and (v) assigning a first confidence
level to one of the first time prediction and the first attendance
prediction.
[0008] In accordance with a preferred embodiment of the present
invention, a specialized improved computer system is created as
described herein--here the devices, engines, databases and/or
systems that are specifically structured, configured, connected,
and/or programmed to predict the timing of and attendance at an
event milestone, assign confidence levels to the predictions, and
provide notifications of the same to interested parties.
[0009] The transmission/transfer of data to/from systems,
databases, engines, mobile devices, or other computer based
devices/systems can be via wireless communication/transmission over
a network, which can be any suitable wired or wireless network
capable of transmitting communication, including but not limited to
a telephone network, Internet, Intranet, local area network,
Ethernet, online communication, offline communications, wireless
communications and/or similar communications means. The wireless
transmission can be accomplished through any wireless
protocol/technology, including, but not limited to, ZigBee
standards-based protocol, Bluetooth technology, and/or Wi-Fi
technology. Further, this data can be encrypted as needed based on
the sensitivity of the data or the location the database with
respect to a mobile device, for example. One system can be located
in the same room, in a different room in the same building, in a
completely different building and location from another system, or
in the "cloud." The storage of the data in the cloud can be subject
to security measures, as should be appreciated by those of skill in
the art. Various alerts and notifications can be sent to authorized
users of the systems described herein by the data transmission
means described herein or as may be known or appreciated by those
of skill in the art.
[0010] These and other aspects of the invention will become clear
in the detailed description set forth below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In the drawings, like reference characters generally refer
to the same parts throughout the different views. Also, the
drawings are not necessarily to scale, emphasis instead generally
being placed upon illustrating the principles of the invention.
[0012] FIG. 1 is a schematic representation of a system for
predicting the timing of and attendance at a predefined event
milestone, in accordance with an embodiment.
[0013] FIG. 2 is a flowchart of a method for predicting the timing
of and attendance at a predefined event milestone, in accordance
with an embodiment.
[0014] FIG. 3 is a schematic representation of a computer program
product configured to predict the timing of and attendance at a
predefined event milestone, in accordance with an embodiment.
DETAILED DESCRIPTION
[0015] The present disclosure is directed to embodiments of a
method and system for predicting the timing of and attendance at a
predefined event milestone. The disclosed system can be configured
to generate a prediction of a time at which milestones and
highlights during an event (e.g., a baseball game) occur, based on,
for example, receiving and analyzing certain variables such as a
current pace of the event, pace of previous events that include a
set of participants similar to those in the event, and pace of
other events which are similar to the current pace of the event. In
one embodiment, the system can be configured to assign a confidence
level on the predicted time at which the milestones and the
highlights during the event occur, wherein the confidence level can
be dynamically adjusted as the event progresses. In another
embodiment, the system can be configured to generate a prediction
regarding a number of attendees who will present during the
milestones and the highlights of the event. In a particularly
advantageous aspect, the "event" can relate but is not limited to
real life events such as concerts and sports events.
[0016] In view of the foregoing, a system and method is provided
that dynamically predicts the actual time (preferably within a
predefined set threshold) a milestone will occur at a given event,
based on current and historical event information (variables) is
provided. These variables can be almost anything that may have an
effect on the quantity/quality of a generated prediction. The
prediction can be assigned a confidence level and updated as both
the event progresses and new input data (variables) is received.
The actual time predictions by milestone can be sent to interested
parties through an event prediction notification system. This can
answer the question: at what time will milestone X occur during the
event? A system and method is also provided that dynamically
predicts the attendance at a given event at a specified event
milestone based on current and historical event information, and on
factors external to the event such as weather and transportation
data (variables). The prediction can be assigned a confidence level
and updated as both the event progresses and new input data is
received. The attendance predictions by milestone can be sent to
interested parties through an event prediction notification system.
This answers the question: how many people will be attending the
event when milestone X occurs? This system and method of an
embodiment can be of interest to event organizers, vendors at
events, local police controlling traffic at the event, and mapping
systems predicting traffic in an area surrounding an event, for
example (interested parties).
[0017] Referring to FIG. 1, a schematic representation of a system
100 for predicting the timing of and attendance at a predefined
event milestone in accordance with an embodiment is provided. The
system includes an event milestone prediction system 10, which can
include a single prediction engine 11. The prediction engine 11 can
include, but is not limited to, a first prediction sub-engine 12
and a second prediction sub-engine 14 (and can also include a
database(s) to store information such as input variables and
algorithms to direct the prediction engine 11 and/or the first and
second prediction sub-engines 12/14 based on the received and
analyzed input variables, and one or more servers including any
processor, server (including a cloud server), mainframe computer,
or other processor-based device capable of facilitating
communication and running software programs or other applications).
The prediction engine 11 can be programmed, configured, or
connected to receive and transmit the same information or commands,
and perform the same functionality as described with respect to the
first prediction sub-engine 12 and the second prediction sub-engine
14 herein (and can be so programmed, configured, or connected to
with or without additionally including the separate first
prediction sub-engine 12 and the second prediction sub-engine 14).
For example, where there are descriptions regarding the respective
separate functionalities of the first prediction sub-engine 12 and
the second prediction sub-engine 14, such functionality can be
carried out by the single prediction engine 11. For descriptions
regarding communications/commands/transmission of data to or
between the first prediction sub-engine 12 and the second
prediction sub-engine 14, such communications/commands/transmission
of data can occur within the single prediction engine 11. In an
embodiment that includes a first prediction sub-engine 12 and the
second prediction sub-engine 14, these sub-engines can be included
within the same hardware component (and at the same geographic
location) or in different hardware components (and at different
geographic locations).
[0018] The first prediction sub-engine 12 and second prediction
sub-engine 14 can be communicatively connected, as shown in FIG. 1.
Input variables can be stored in databases 50 and 50'. These
databases 50/50' can be connected to the event milestone prediction
system 10, and input variables from database 50 can be transmitted
to prediction sub-engine 12 and input variables from database 50'
can be transmitted to prediction sub-engine 14. Input variables can
be delivered from an administrator with an administrator device 20
to database 50, and from with an administrator device administrator
20' (which may be the same administrator with the same
administrator device) to database 50', or can be directly
transmitted to the event milestone prediction system 10, first
prediction sub-engine 12, and/or second prediction 14.
[0019] In accordance with an embodiment, the first prediction
sub-engine 12 can be configured to receive at least a first input
variable from administrator device 20 and/or database 50, analyze
the first input variable, and generate a first time prediction of
the predefined event milestone in response to the received first
input variable. The event milestone prediction system 10 can be
configured to assign a first confidence level to the first time
prediction of the predefined event milestone. The first time
prediction of the predefined event milestone along with the
associated confidence level can then be transmitted from the event
milestone prediction system 10 directly to the event milestone
subscribers 40, or by the event milestone notification system 30
(which can be part of and within the same hardware component (and
at the same geographic location), or separate from and in different
hardware components (and can be at different geographic locations)
as the single prediction engine 11), to the event milestone
subscribers 40 (on a specific timed basis--e.g., immediately,
particular timed intervals, to specific dates and times).
Similarly, the second prediction sub-engine 14 can be configured to
receive at least a second input variable, analyze the second input
variable, and generate a first attendance prediction at the
predefined event milestone in response to the second input
variable. The event milestone prediction system 10 can be
configured to assign a second confidence level to the first
attendance prediction at the predefined event milestone. The first
attendance prediction at the predefined event milestone along with
the associated confidence level can then be transmitted from the
event milestone prediction system 10 directly to the event
milestone subscribers 40, or by the event milestone notification
system 30, to the event milestone subscribers 40, i.e., interested
parties (on a specific timed basis--e.g., immediately, particular
timed intervals, to specific dates and times). The event milestone
subscribers 40 can receive such notifications on a particular
computing device. Examples of milestone subscriber computing
devices can include personal computers, desktops, laptops, tablets,
as well as any other fixed or mobile computerized device comprising
a processor and a network connection and capable of communicating
directly with the event milestone prediction system 10 or
indirectly through the event milestone notification system 30.
[0020] Referring to FIG. 2, a flowchart of a method 200 for
predicting the timing of and attendance at a predefined event
milestone in accordance with an embodiment is provided. The steps
of the method are illustrative only, and do not imply that any
steps must be performed or performed in any particular order.
[0021] In step 210, a first input variable is received by the
prediction engine 11 (or the first prediction sub-engine 12).
[0022] In step 220, a first time prediction of the predefined event
milestone is generated in response to the received first input
variable by the prediction engine 11 (or the first prediction
sub-engine 12). This first time prediction can be generated within
a predefined threshold (for example +/-5 minutes), as further
described in the Exemplary System, Uses and Functionalities section
below.
[0023] In step 230, a second input variable is received by the
prediction engine 11 (or the second prediction sub-engine 14).
[0024] In step 240, a first attendance prediction at the predefined
event milestone is generated in response to the second input
variable by the prediction engine 11 (or the second prediction
sub-engine 14). The first attendance prediction can be generated
within a predefined threshold (for example +/-5%), as further
described in the Exemplary System, Uses and Functionalities section
below.
[0025] In step 250, a first confidence level is assigned to one of
the first time prediction and the first attendance prediction.
[0026] In step 260, a second confidence level is assigned to the
other one of the first time prediction and the first attendance
prediction.
[0027] In step 270, at least one of the first time prediction and
the first attendance prediction is transmitted to event milestone
subscribers.
[0028] It should be appreciated that multiple input variables can
be received by the prediction engine 11 (and/or by the first
prediction sub-engine 12 and the second prediction sub-engine 14),
multiple time predictions can be generated by the prediction engine
11 (and/or by the first prediction sub-engine 12) based on the
respective multiple input variables, multiple attendance
predictions can be generated by the prediction engine 11 (and/or by
the second prediction sub-engine 14) based on the respective
multiple variables, and multiple respective confidence levels can
be assigned to the respective multiple time predictions and to the
multiple attendance predictions, all of which can be transmitted to
event milestone subscribers 40.
[0029] Referring to FIG. 3, a schematic representation of a
computer program product configured or programmed to predict the
timing of and attendance at a predefined event milestone in
accordance with an embodiment is provided. Components of the event
milestone prediction system 10 including components of the
prediction engine 11, generally designated as 300, are shown.
[0030] In the illustrative embodiment, event milestone prediction
system 10 is shown in the form of a general-purpose computing
device, such as computer system 310. The components of computer
system 310 may include, but are not limited to, one or more
memory(ies) 320, one or more processor(s) or processing unit(s)
330, a network adaptor 340, and an input/output (I/O) interface(s)
350. It should be appreciated that a single memory and a single
processor or processing unit 330 can be utilized in an embodiment
including the single prediction engine 11, and multiple memories
320 and/or processor(s) or processing unit(s) 330 can be utilized
in an embodiment including the first prediction sub-engine 12 and
the second prediction sub-engine 14. The various components are
connected to one another as shown by the double-headed arrows, each
of which represent the ability of each of these components to
transmit/receive information and/or commands from each of the other
respective components or external components/devices as may be
appropriate (as should be appreciated by one of skill in the art in
conjunction with a review of this description).
[0031] Computer system 310 typically includes a variety of computer
system readable media. Such media may be any available media that
is accessible by computer system 310, and it can include both
volatile and non-volatile media, removable and non-removable
media.
[0032] Memory(ies) 320 can include computer system readable media
in the form of volatile memory, such as random access memory (RAM)
and/or cache memory. Computer system 310 may further include other
removable/non-removable, volatile/non-volatile computer system
storage media (as should be appreciated by one of skill in the art
in conjunction with a review of this description). Received input
variable data, an operating system, one or more application
programs, program modules, and program data can be stored in
memory(ies) 320. Each of the operating systems, one or more
application programs, other program modules, and program data, or
some combination thereof, may include an implementation of a
networking environment. The program modules generally carry out the
functions and/or methodologies of embodiments as described
herein.
[0033] Computer system 310 may also communicate with one or more
event milestone subscriber device(s) 130 (which can be used by
subscribers 40, as shown in FIG. 1), and administrator devices
20/20', each of which can be any processor-based device that are
capable of facilitating a user's access and interaction with the
computer system 310 (including one or more devices that enable a
user to interact with computer system 310 and any devices (e.g.,
network card, modem, etc.) that enable computer system 310 to
communicate with one or more other computing devices). Such
communication can occur via input/output (I/O) interface(s) 350.
Still yet, computer system 310 can communicate with one or more
networks, such as a local area network (LAN), a general wide area
network (WAN), and/or a public network (e.g., the Internet) via
network adapter 340. It should be understood that although not
shown, other hardware and software components, such as microcode,
device drivers, redundant processing units, external disk drive
arrays, RAID systems, tape drives, and data archival storage
systems may be used in conjunction with computer system 310.
[0034] Network adaptor 340 is programmed, configured, or connected
to transmit/receive information and/or commands from/to the event
milestone subscriber devices 130 and administrator device 20/20',
either directly (through a network 140 or via a wired
configuration) or through the event milestone notification system
30 (which can be a part of or separate from computer system 310).
Network adaptor 340 is also programmed, configured, or connected to
receive input variables 50/50'.
[0035] The computer system 310, via the processor(s) or processing
unit(s) 330 and the connections between the processors or
processing units 330 and the memory(ies) 320 and network adaptor
340, is configured or programmed to function and implement/perform
the steps of the methods described herein.
[0036] As described herein, the event milestone prediction system
10 can be used to generate predictions related to when, in actual
time, an event milestone will occur and to predict the event
attendance when that milestone arrives. Advantages of embodiments
(as briefly detailed above and shown in the Figures) are
illustrated by the following Exemplary System, Uses and
Functionalities description. However, the particular components,
uses, functionalities and amounts thereof recited in this
description, as well as other conditions and details, are to be
interpreted to apply broadly in the art and should not be construed
to unduly restrict or limit the invention in any way.
EXEMPLARY SYSTEM, USES, AND FUNCTIONALITIES
[0037] An embodiment can be divided into three main components
including, but not limited to (1) an event milestone to actual time
prediction system (including the first prediction sub-engine 12),
(2) an event milestone to predicted attendance system (including
the second prediction sub-engine 14); and (3) a subscription event
milestone notification system (including the event milestone
notification system 30 and event milestone subscribers 40).
Alternatively, as described above, each of these event milestone to
actual time prediction system, the event milestone to predicted
attendance system, and the event milestone notification system can
be part of a single component/system (which can be part of and
within the same hardware component, and at the same geographic
location) which can perform each of the functionalities of these
three components/systems combined. Also, the event milestone to
actual time prediction system and the event milestone to predicted
attendance system can be part of a single component/system (which
can be part of and within the same hardware component, and at the
same geographic location), while the event milestone notification
system 30 can be part of a separate system (which is separate from
and in different hardware component(s), and can be at different
geographic location(s)).
[0038] In brief, the event milestone to actual time prediction
system can be configured to predict event milestones (e.g., end of
event, commencement of fourth quarter) with actual time periods
(3:00 PM, 1:45 PM). In cases where event milestones are closely
correlated to a fixed time schedule (the end time of a concert is
pre-scheduled and typically finishes close to this pre-defined
time, the end time of a soccer match is almost always between 1 hr
45 m and 1 h 55 m after starting) predictions may not necessarily
be needed (but can be obtained). However the duration of some
events (sports events such as a football or baseball game) can be
highly variable where milestones such as end of event, end of
quarter, and end of inning can differ significantly between
games.
[0039] For events with highly variable milestones, the following
input sources, which can include input variables, can be used to
form predictions--(1) Pacing of current event--the time an event
takes to reach already occurred milestones can be a significant
factor in predicting how long future milestones will take. If the
first 5 innings in a baseball match have closely correlated to a
fixed time (5 minutes each, 20 minutes each) then this can be
factored into predictions for future innings. (2) Historical pacing
of participants in previous events--how long did it take
participants to reach milestones in previous events? By studying
previous events (games) of a football team that predominantly
passes the ball, for example, a pattern may emerge for quick games,
whereas a team that predominantly runs the ball could average
longer games. (3) Comparison of similarly poised events--how long
have other events with similar characteristics taken to reach
milestones? For example, a football game entering the fourth
quarter where both teams are tied is likely to take longer to play
out than a game where one team leads the other by 21 points.
[0040] An embodiment of the disclosed system can use the factors
described in the preceding paragraph and other factors to generate
predictions of actual time for predefined future milestones, and to
assign a confidence level to them. The confidence level can be
assigned based on the relative strength of analysis described in
the preceding paragraph (i.e., input variables obtained from the
sources such as the pacing of the current event, historical pacing,
and a comparison of similarly poised events). Each of these
sources/factors can be used to generate their own respective
confidence levels. For example (regarding the factor of pacing), in
a baseball game where there is a low level of correlation between
the timing/length of innings (1st inning--15 minutes, 2nd inning--7
minutes), and therefore predictions of future innings are harder to
draw based on this factor--a prediction based on the pacing factor
has a low confidence rating (e.g., a 2 out of 10 (or 20%), where 1
is the lowest confidence level and 10 is the highest confidence
level (other representative numbers can be used)). Conversely,
historical analysis (the factor of historical pacing) may retrieve
past baseball games that were closely correlated to this game
(e.g., same teams, same time of year, same weather and other
similar circumstances), and therefore a higher weighting (e.g., a
confidence level of 8 out of 10 (or 80%)) can be assigned to
predictions based on this factor. Confidence levels can also be
relatively lower for predictions made further into the future. For
example, an embodiment of the system is configured to predict the
length of the next inning with a higher confidence level than the
inning after the next inning and so forth.
[0041] In accordance with an exemplary embodiment, the following
can be actual time predictions for a baseball game in the 6th
inning: Start of 7th inning: 3:35 PM (confidence level 75% +/-5
mins); Start of 8th inning: 3:55 PM (confidence level 55% +/-5
mins); Start of 9th inning: 4:20 PM (confidence level 35% +/-5
mins); End of game: 4:35 PM (confidence level 20% +/-5 mins). As
the event continues, predictions can continually be dynamically
refined based on additional static or historical input variables,
and dynamic variables (such as current weather or score), and
confidence levels can be updated.
[0042] The event milestone to predicted attendance system can be
configured to predict how many attendees will be at the event
during defined event milestones. As an input source, this system
can require a basic measurement of the number of people who are
present at the event at a given time (a precise number is not
needed). This can be implemented in a number of ways including: (1)
At points of entry and exit to the event location, counting the
number of people who enter and leave the event (turnstiles,
scanning of tickets, embedded RFID in tickets, surveillance
cameras); (2) Through image analysis of the event (a blimp above
the event, or cameras pointed at seating in the event, could
determine through image analysis if the stadium is, say 80%
full).
[0043] Event attendance can be recorded by milestone (e.g., start
of event, bottom of 1st inning etc.) to create a record of the
number of attendees present in a stadium, for example, at a given
time. The following input sources can, for example, then be used to
predict attendance for future event milestones: (1) Attendance
patterns of current event--how many people are present at the event
now and how many tickets were sold? An event in the 1st inning
where attendance is only 65% of tickets sold indicates attendance
will rise for future milestones. Conversely for an event where
attendance has fallen assumes people have left the event and future
milestones will not reach the higher attendance levels of earlier
milestones. (2) Attendance patterns in previous events--how many
attendees were present during milestones in previous events? This
may uncover historical patterns--for example that 35% of attendees
at the "home team's" game leave in the 7th inning. Comparison of
similarly poised events--how many people have attended events with
similar characteristics at specified milestones? A football game
where the home team is losing by 21 points in the fourth quarter
may see attendance drop to 20% of original levels, whereas a close
game or a game against a main rival could see 90% attendance levels
up until the end of game milestone, for example. (3) External
factors--Factors external to the event itself may also greatly
influence attendance. Weather can be a significant factor on many
levels. An event held outdoors could see a significant drop in
attendance during inclement weather, whereas pleasant weather may
encourage attendees to stay longer. An event that runs at the same
time as rush hour may see attendees leave early to beat the
traffic. An event where many attendees rely on public
transportation may see significant drops in attendance based around
train or bus timetables. The system of an embodiment can be
configured to use these factors to generate predictions of
attendance levels for pre-defined future milestones, and to assign
a confidence level to them. Example attendance predictions for a
football game in the 3rd quarter can be--Start of fourth quarter:
80% of maximum attendance (confidence level 75% +/-5%); Two minute
warning: 65% of maximum attendance (confidence level 65% +/-5%);
and End of game: 60% of maximum attendance (confidence level 54%
+/-5%).
[0044] The subscription event milestone notification system can be
configured to allow users, for example, to subscribe to a system
that sends them notifications based upon defined criteria on a per
event basis or full season basis, for example. These criteria can
include: Event milestone actual time; Event milestone attendance
level; and Event milestone confidence level. Examples of
subscriptions can include: (1) Event parking supervisor--Notify me
when there are predicted to be 30 minutes remaining until the
conclusion of the event; Notify me when 20% or more of attendees
are predicted to leave within a 15 minute period; Notify me when
there is an 80% confidence level for the prediction "number of
attendees who will stay at an event until its conclusion"; (2)
Event vendor--Notify me when the 7th inning is predicted to be one
hour away; Notify me when attendance at the event is predicted to
be at its highest level; and (3) Traffic mapping service-13 Notify
me when an event is predicted to end with an 80% confidence level;
and Notify me when the busiest period of attendees leaving an event
is predicted to be.
[0045] A list of milestones that can require predictions can
include baseball game: start of event, start of third inning, end
of game. The first prediction sub-engine 12 can be configured to
predict when each milestone will be reached. Input variable can
include current event time milestones (for example what time did
the game start, what time did the second inning start); and/or
historical event time milestones (at what time were similar
milestones reached in other related events with additional focus on
events that closely match the characteristics of the current event,
such as other games with a similar point-in-time score). The first
prediction sub-engine 12 can be configured to generate actual time
predictions for each event milestone within a defined threshold
(for example +/+5 minutes) and to assign a confidence level. The
predictions can be continually updated as new information is
available (the score changes, the next inning is reached, a former
milestone takes longer or shorter to reach etc.). The second
prediction sub-engine 14 can be configured to predict how many
people will be attending the event when a given milestone is
reached. Input variable can include current event attendance
milestones (how many people are attending the event at a point in
time, what is the expected maximum attendance [how many tickets
were sold]); historical event attendance milestones (how many
people attended similar milestones in other related events with
additional focus on events that closely match the characteristics
of the current event, such as other games with a similar
point-in-time score); and/or other external data sources that
affect attendance (for example weather data for outdoor events,
predicted traffic build ups, transportation schedules). The second
prediction sub-engine 14 can be configured to generate attendance
predictions for each event milestone within a defined threshold
(for example +/-5%) and to assign a confidence level. The
predictions can be continually updated as new information is
available (the score changes, the next inning is reached, it starts
to rain). The event milestone prediction system 10 can be
configured to send both actual time/milestone and
attendance/milestone predictions to the event milestone
notification system 30 and then to subscribers.
[0046] Event milestone subscribers can subscribe to the event
milestone notification system 10 (for example event vendors, event
parking supervisors, local police, predictive traffic mapping
services). Subscribers can specify which notifications they wish to
receive when a prediction is generated related to actual time or
attendance of a given event milestone (for example notify me when
the 7th inning will start, notify me when 10,000 people will be
leaving the event within a 15 minute period). Subscribers can
select a threshold for confidence level (for example only notify me
for predictions with a confidence level 70% or above), and
frequency (only send me new predictions every 5 minutes, only send
me new predictions when there is a 10% or more improvement in
confidence level). Subscribers can receive notifications on their
mobile or other computing device. The event milestone notification
system 30 can match subscriptions with event predictions as they
are received. When a match is found the system 30, it can be
configured to generate a notification and to transmit it to the
appropriate subscriber.
[0047] The present invention may be a system, a method, and/or a
computer program product at any possible technical detail level of
integration. The computer program product may include a computer
readable storage medium (or media) having computer readable program
instructions thereon for causing a processor to carry out aspects
of the present invention.
[0048] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), a static
random access memory (SRAM), a portable compact disc read-only
memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a
floppy disk, a mechanically encoded device such as punch-cards or
raised structures in a groove having instructions recorded thereon,
and any suitable combination of the foregoing. A computer readable
storage medium, as used herein, is not to be construed as being
transitory signals per se, such as radio waves or other freely
propagating electromagnetic waves, electromagnetic waves
propagating through a waveguide or other transmission media (e.g.,
light pulses passing through a fiber-optic cable), or electrical
signals transmitted through a wire.
[0049] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0050] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, configuration data for integrated
circuitry, or either source code or object code written in any
combination of one or more programming languages, including an
object oriented programming language such as Smalltalk, C++, or the
like, and procedural programming languages, such as the "C"
programming language or similar programming languages. The computer
readable program instructions may execute entirely on the user's
computer, partly on the user's computer, as a stand-alone software
package, partly on the user's computer and partly on a remote
computer or entirely on the remote computer or server. In the
latter scenario, the remote computer may be connected to the user's
computer through any type of network, including a local area
network (LAN) or a wide area network (WAN), or the connection may
be made to an external computer (for example, through the Internet
using an Internet Service Provider). In some embodiments,
electronic circuitry including, for example, programmable logic
circuitry, field-programmable gate arrays (FPGA), or programmable
logic arrays (PLA) may execute the computer readable program
instructions by utilizing state information of the computer
readable program instructions to personalize the electronic
circuitry, in order to perform aspects of the present
invention.
[0051] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0052] These computer readable program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine, such that the instructions, which execute via
the processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or block
diagram block or blocks.
[0053] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0054] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods, and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of instructions, which comprises one
or more executable instructions for implementing the specified
logical function(s). In some alternative implementations, the
functions noted in the blocks may occur out of the order noted in
the Figures. For example, two blocks shown in succession may, in
fact, be executed substantially concurrently, or the blocks may
sometimes be executed in the reverse order, depending upon the
functionality involved. It will also be noted that each block of
the block diagrams and/or flowchart illustration, and combinations
of blocks in the block diagrams and/or flowchart illustration, can
be implemented by special purpose hardware-based systems that
perform the specified functions or acts or carry out combinations
of special purpose hardware and computer instructions.
* * * * *