IP Library Granted Patent US 8,396,777
Granted Patent B1
US 8,396,777 · App. 12/478,738 · Granted Mar 12, 2013

Prediction market database, related methods, devices and systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,396,777
App. No.
12/478,738
Granted
Mar 12, 2013
Kind
B1
Abstract

This disclosure provides a database, methods and associated software to implement and manage a prediction market. By collecting individual predictions as a set of predicted outcomes, such as a range of outcomes, the principles presented herein permit aggregation of overlapping predictions to generate a cumulative probability distribution, effectively using “crowd wisdom” to build a probability model of an event. Through the use of “roll-up” and “roll-down” techniques, this disclosure provides a way of applying new information not only to an event being predicted, but also to the outcomes of other, related events. Conversion to a common probability distribution format may be used to simplify and accelerate mathematical operations, easing the burden in quickly calculating and updating a cumulative probability model for events in each affected dimension in the predicted market. These teachings may be applied to a wide variety of applications, including gaming, blog and opinion sites, spreadsheet programs, and date, logistics, accounting and other forecasting tools.

Claims (127)

1. A method of predicting an event, comprising:

receiving in the form of digital data an initial probability distribution representing possible outcomes of an event;

receiving an input from each of plural different users, also in the form of digital data, each input representing a predicted outcome for the event;

aggregating the inputs with the initial probability distribution to create a cumulative probability distribution based on the inputs, where the aggregating includes using a computer to automatically convert the inputs to at least one second probability distribution, and using a computer to combine the initial probability distribution with the at least one second probability distribution to create the cumulative probability distribution; and

creating a display image that includes the cumulative probability distribution for the event.

2. The method of claim 1 , where:

the method further comprises receiving at least some of the inputs at respective user computers, transmitting information representing the inputs from the respective user computers to a host computer system, and maintaining a record of each input; and

each input represents a range of predicted outcomes for the event from the corresponding user, including at least a high value and a low value.

3. The method of claim 2 , where converting includes computing a Normal distribution including at least a mean and a sigma-based value for each predicted outcome, using the corresponding high value and low value.

4. The method of claim 1 , further comprising:

upon occurrence of the event, identifying each input that correctly predicted outcome; and

responsive to each correctly predicted outcome, performing at least one of (i) updating a corresponding user profile in response to the correct prediction, or (ii) transmitting an indication of the correct prediction to the corresponding user.

5. The method of claim 1 , where:

aggregating includes converting each predicted outcome to a Normal distribution including at least a mean; and

aggregating includes computing an aggregate mean directly from the mean associated with each predicted outcome.

6. The method of claim 5 , where:

aggregating is performed by a host computer system by software resident on the host-computer system;

aggregating includes converting the information for each input to a Normal distribution including at least a mean and a weight representing prediction confidence of an associated user; and

aggregating includes computing an aggregate mean directly from the mean associated with the input from each of the plural different users, weighted by the associated weight representing prediction confidence.

7. The method of claim 1 , where:

aggregating includes converting information representing each input to a Normal distribution including at least a sigma-based value; and

aggregating includes

computing an aggregate sigma-based value directly from the sigma-based value associated with the input from each of the plural different users, and

convolving the sigma-based values for the inputs to obtain the cumulative probability distribution.

8. The method of claim 1 , where each input represents a range of predicted outcomes and a weight representing user confidence, and where transmitting includes transmitting for each input at least a high value and a low value between which the outcome is predicted, and the weight.

9. The method of claim 1 , where the method further comprises storing the cumulative probability distribution in a specific record of a relational database.

10. The method of claim 9 , where storing includes:

when a new user input is received associated with the event, retrieving a mapping that identifies the specific record of the relational database; and

storing at least a mean and a sigma-based value representing a revised, cumulative probability distribution, including a new predicted outcome associated with the new user input, in the specific record.

11. The method of claim 10 , where the method further comprises:

converting the information representing the new user input to at least a mean and sigma-based value;

retrieving the specific record to obtain at least a mean and sigma-based value associated with the cumulative probability distribution;

combining the Normal distributions associated with the new user input and the probability distribution, respectively, to obtain the revised, cumulative distribution; and

overwriting the specific record to reflect the revised cumulative distribution.

12. The method of claim 1 , where the method further comprises:

maintaining a record of each input, including maintaining a bet log collectively representing all of the inputs; and

subsequent to the aggregating,

receiving information representing a new user input representing a range of predicted outcomes and converting the information representing the new user input to a probability distribution,

retrieving from the bet log each record representing a prediction for the same event as represented by the new input, to obtain a probability distribution associated with each such record,

combining the probability distributions associated with the new user input and each such record, and

overwriting the specific record to reflect the combining.

13. The method of claim 12 , where each such record and the new input also each include information representing a weight, in the form of a wager, and where combining the probability distributions includes weighting each distribution in dependence upon the associated wager.

14. The method of claim 12 , applied to a multi-dimensional event modeling system stored as a relational database, the relational database storing including at least two tiers of related outcomes, including a first tier having records that each represent a cumulative probability distribution for a respective event, each cumulative probability distribution based on aggregated user wagers, and a second tier having a record representing a second tier prediction dependent upon plural ones of the respective events, where the method further comprises:

retrieving plural first tier records to obtain associated cumulative probability distributions, each representing an aggregate of user predictions for outcome of the associated event;

combining the associated cumulative probability distributions to obtain a probability distribution representing the second tier prediction; and

creating a display image based on the probability distribution representing the second tier prediction.

15. The method of claim 1 , where:

the method further comprises, as each new input is received from a user, retrieving the cumulative probability distribution and pricing an expected return based upon a cumulative probability distribution; and

creating the display includes displaying a distribution curve with a range of outcomes represented by the new input and associated probability extracted from the Normal distribution curve dynamically displayed to match user selection of range of outcomes.

16. The method of claim 1 , further comprising:

the method further comprises, as each new input is received from a user, combining a range represented by the new input with at least one Normal distribution representing other inputs representing predictions-to-date for the event, and pricing an expected return based upon a cumulative Normal distribution representing the new input combined with predictions-to-date for the event; and

creating a display includes displaying a Normal distribution curve with a range of outcomes represented by the new input and associated probability extracted from the Normal distribution curve dynamically displayed to match user selection of range of outcomes.

17. The method of claim 1 , where each input includes a weight of user confidence in the form of a wager, and where performing includes providing a reward to each user that correctly predicted the outcome.

18. The method of claim 17 , further comprising:

centrally-storing a user profile for each user, where providing a reward includes crediting a point balance for an associated user profile;

managing each user profile to debit the point balance for a lost wager; and

inhibiting wagers by users for amounts above the point balance for the associated user.

19. The method of claim 1 , applied to a relational database having plural records that each represent a cumulative probability distribution based on aggregated predictions for a respective event, the aggregated predictions for each event based upon a respective set of user inputs, each user input representing a predicted outcome for the respective event, where:

the method further comprises

associating a new input with one of the sets, the new input representing a range of predicted outcomes for the one of the respective events, and

maintaining a log representing user inputs for the respective sets on a collective basis, including the new input; and

aggregating includes

detecting the set associated with the new input,

retrieving from the log information representing predicted outcomes for the set associated with the new input,

combining the predicted outcomes for the set associated with the new input with the predicted outcomes represented by the new input, to obtain a revised, cumulative probability distribution associated with the one of the events, and

overwriting a corresponding one of the plural records.

20. The method of claim 19 , where retrieving includes for each user input retrieving at least an associated mean and an associated sigma-based value, and where combining includes calculating a cumulative mean and a cumulative sigma-based function directly from each mean and associated sigma-based function, respectively, obtained during retrieving from the log.

21. The method of claim 1 , where receiving an input from each of plural different users is performed on at least one user computer system, and where the method further comprises transmitting the information over the internet to a host computer, the transmitting performed using HTTP.

22. The method of claim 1 , applied to a relational database having at least two tiers, including a first tier represented by plural records, each record representing a cumulative probability distribution for a respective event, each cumulative probability distribution based on aggregated predictions obtained from user wagers, and a second tier with an event prediction dependent upon the plural events represented by the plural records, where the method further comprises:

receiving a new input represent a user prediction for a range of outcomes associated with a first tier record;

merging the new user input with one of the cumulative probability distributions, to obtain a revised, cumulative distribution; and

responsively adjusting the event prediction of the second tier to obtain a revised cumulative distribution.

23. The method of claim 1 , applied to a relational database having at least two tiers, including a first tier represented by plural first tier records, each first tier record representing a cumulative probability distribution for a respective event, each cumulative probability distribution based on aggregated predictions obtained from user wagers, and a second tier having a second tier record representing a second tier probability distribution dependent upon the first tier probability distributions represented by the plural records, where the method further comprises:

receiving a new input represent a user prediction for a range of outcomes associated with the second tier record;

responsively modifying the second tier probability distribution; and

revising each of the cumulative probability distributions based on the modifying, to obtain a revised prediction for each one of the plural records, in a manner corresponding to modification of the second tier probability distribution, to thereby spread a change in the event prediction represented by the new input across each of the aggregated predictions; and

storing each revised prediction in an associated one of the plural first tier records.

24. The method of claim 23 , further comprising identifying a shadow trade for each respective event sufficient to adjust the associated cumulative probability distribution to correspond to the associated revised prediction, and storing the shadow trade as a user wager for the respective event.

25. The method of claim 1 , further comprising:

using a user account process to track predictions made by each user; and

maintaining a database having predictions indexed by user.

26. An apparatus comprising instructions stored on non-transitory machine-readable media, the instructions when executed causing a machine to:

receive an initial probability distribution representing possible outcomes of an event;

an input from each of plural different users, each input representing a predicted outcome for the event;

aggregate the inputs with the initial probability distribution to create a cumulative probability distribution based on the inputs, where the aggregating includes converting the inputs to at least one second probability distribution, and combining the initial probability distribution with the at least one second probability distribution to create the cumulative probability distribution; and

create a display image that includes the cumulative probability distribution for the event.

27. The apparatus of claim 26 , where the instructions when executed further cause the machine to:

receive each input in the form of a range of predicted outcomes and a weight representing user confidence; and

store a record of the input in the form of at least a high value and a low value between which the outcome is predicted, and the weight.

28. The apparatus of claim 27 , where the instructions when executed further cause the machine to:

subsequent to aggregating, receive information representing a new user input representing a range of predicted outcomes;

convert the information representing the new user input to a third probability distribution;

retrieve the cumulative probability distribution;

combine the third probability distribution with the cumulative probability distribution to obtain a revised cumulative distribution; and

overwrite a database record to reflect the revised cumulative distribution.

29. The apparatus of claim 26 , where:

the instructions when executed further cause the machine to manage a bet log that collectively includes a record of each of the inputs; and

the apparatus further comprises instructions that when executed cause the machine to

receive information representing a new user input representing a range of predicted outcomes,

convert the information representing the new user input to a probability distribution,

retrieve from the bet log each record representing a prediction for the same event as represented by the new input, to obtain a probability distribution associated with each such record,

combine the probability distributions associated with the new user input and each such record, and

revise the cumulative distribution to reflect the combining.

30. The apparatus of claim 26 , where each input includes information representing a weight, in the form of a wager, and where the instructions when executed combine the inputs in a manner that weights each predicted outcome in dependence upon the associated wager to obtain the cumulative probability distribution.

31. The apparatus of claim 26 , applied as a computer program to manage a multi-dimensional event modeling system stored as a relational database, the relational database storing including at least two tiers of related outcomes, including a first tier having first tier records that each represent a cumulative probability distribution for a respective event, each cumulative probability distribution based on aggregated user wagers, and a second tier having a second tier record representing a second tier prediction dependent upon the cumulative probability distributions for plural events, where the apparatus further comprises instructions to cause the machine to:

retrieve plural first tier records to obtain associated cumulative probability distributions, each representing an aggregate of user predictions for the respective event;

combine the associated cumulative probability distributions to obtain a probability distribution representing the second tier prediction; and

store a probability distribution for the second tier prediction in the second tier record.

32. The apparatus of claim 26 , further comprising instructions that cause a machine to, as each new input is received from a user, combine a range represented by the new input with a Normal distribution representing other inputs, representing predictions-to-date for the event, and price an expected return based upon a cumulative Normal distribution representing the new input and prior inputs representing predictions for the event.

33. The apparatus of claim 26 , further comprising instructions that cause a machine to, as each new input is received from a user, retrieve the cumulative probability distribution for predictions-to-date for the event, and price an expected return to the user based upon a cumulative probability distribution.

34. The apparatus of claim 26 , applied as a computer program that manages a relational database having plural records that each represent a cumulative probability distribution based on aggregated predictions for a respective event, the aggregated prediction for each of the plural records based upon a respective set of user inputs, where the apparatus further comprises instructions that when executed cause the machine to:

associate information provided by a new input with one of the respective sets, the new input representing a range of predicted outcomes for one of the events;

maintain a log representing user inputs for the respective sets on a collective basis, including the new input; and

aggregate the information representing the inputs by

detecting which of the plural records is associated with the new input,

retrieving from the log the information representing each predicted outcome associated with the one of the events,

combining each predicted outcome associated with the one of the events, including the predicted outcomes associated with the new user input, and

revising the cumulative probability distribution to reflect the combining.

35. The apparatus of claim 26 , applied as a computer program that manages a relational database having at least two tiers, including a first tier represented by plural first tier records, each record representing a cumulative probability distribution for a respective event, each cumulative probability distribution based on aggregated predictions obtained from user wagers, and a second tier that stores an event prediction dependent upon the plural events represented by the plural records, where the apparatus further comprises instructions that when executed cause the machine to:

receive a new input represent a user prediction for a range of outcomes associated with a first tier record;

merge the new user input with one of the cumulative probability distributions, to obtain a revised cumulative distribution; and

adjust the event prediction of the second tier to obtain a second tier probability distribution.

36. The apparatus of claim 26 , applied as a computer program that manages a relational database having at least two tiers, including a first tier represented by plural first tier records, each record representing a first tier probability distribution for a respective event, each first tier probability distribution based on aggregated predictions obtained from user wagers, and a second tier with a second tier probability distribution dependent upon the plural events represented by the plural records, where the apparatus further comprises instructions that when executed cause the machine to:

receive a new input represent a user prediction for a range of outcomes associated with the event prediction of the second tier;

modify the second tier probability distribution;

revise each of the first tier probability distributions based on the modifying, to obtain a revised prediction for each one of the plural records, to thereby spread a change in the event prediction represented by the new input across each of the aggregated predictions; and

store each revised prediction in an associated one of the plural first tier records.

Assignments (18)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: SPIGIT, INC.
To: OWEN, KATHARYN E
Reel/Frame 065407/0524 →
RELEASE OF SECURITY INTEREST Recorded Dec 23, 2020
From: ARES CAPITAL CORPORATION
To: SPIGIT, INC.
Reel/Frame 054740/0815 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 18, 2020
From: PLANVIEW, INC.; SPIGIT, INC.; TROUX TECHNOLOGIES, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 054804/0543 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 17, 2020
From: PLANVIEW, INC.; SPIGIT, INC.; TROUX TECHNOLOGIES, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 054962/0236 →
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2020
From: ARES CAPITAL CORPORATION
To: SPIGIT, INC.
Reel/Frame 051672/0245 →
SECURITY INTEREST Recorded Jan 28, 2019
From: SPIGIT, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 048151/0902 →
SECURITY INTEREST Recorded Jan 28, 2019
From: SPIGIT, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 048152/0263 →
RELEASE OF SECURITY INTEREST Recorded Dec 4, 2018
From: PARTNERS FOR GROWTH IV, L.P.
To: SPIGIT, INC.
Reel/Frame 047673/0018 →
RELEASE OF SECURITY INTEREST Recorded Aug 8, 2016
From: WF FUND IV LIMITED PARTNERSHIP (C/O/B AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND IV
To: MINDJET LLC
Reel/Frame 039373/0715 →
RELEASE OF SECURITY INTEREST Recorded Aug 8, 2016
From: SILICON VALLEY BANK
To: SPIGIT, INC.
Reel/Frame 039373/0659 →
CHANGE OF NAME Recorded Sep 11, 2015
From: MINDJET US INC.
To: SPIGIT, INC.
Reel/Frame 036588/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: MINDJET LLC
To: MINDJET US INC.
Reel/Frame 035599/0528 →
SECURITY INTEREST Recorded Nov 7, 2014
From: MINDJET LLC
To: WF FUND IV LIMITED PARTNERSHIP
Reel/Frame 034130/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2013
From: SPIGIT, INC.
To: MINDJET LLC
Reel/Frame 031509/0547 →
SECURITY AGREEMENT Recorded Sep 16, 2013
From: SPIGIT, INC.
To: PARTNERS FOR GROWTH IV, L.P.
Reel/Frame 031217/0710 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: SPIGIT, INC.
To: SILICON VALLEY BANK
Reel/Frame 031207/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2012
From: CROWDCAST, INC.
To: SPIGIT, INC.
Reel/Frame 029351/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2010
From: FINE, LESLIE R.; FOGARTY, MATTHEW J.; SHORE, MATTHEW
To: CROWDCAST, INC.
Reel/Frame 024319/0289 →