Predictions
Details will show up here when predictions have been entered.
Plots
Gray prediction box: Q1–Q3; line: median; whiskers: 1.5 IQR
Hover for details.
Entries
Click a column heading to sort.
| Loading… | ||||||
Results
Details will show up here once the Bean has arrived and the result has been entered.
Plots
Accuracy: white = 0 pts; green = 10 pts Standout factor: red = 0×, white = 1×, purple = 2× Points: white = 0 pts; blue = 20 pts Gray data box: Q1–Q3; line: median; whiskers: 1.5 IQR
Hover for details. Click a mark to open the score calculation.
Leaderboard
Click a column heading to sort. Click a row for details.
| Rank | ||||||||
|---|---|---|---|---|---|---|---|---|
| Loading actual values… | ||||||||
| Loading… | ||||||||
Scoring
Summary
Once the Bean arrives, we’ll determine scores for predictions.
Predictions in each category (name, date, etc.) will be scored for accuracy and multiplied by a standout factor based on how they compare with the other predictions. The total score is summed across categories.
In each category, points are awarded as follows (for details, see below):
- Accuracy: a prediction gets at most 10 pts. The further it is from correct, the fewer points it receives.
- These points are multiplied by a standout factor, which raises or lowers those accuracy points according to how unusually good or bad the prediction was within the crowd of other predictions. If a prediction is much better than most, the factor can double its accuracy score. If it is much worse, the factor can remove those accuracy points completely.
- Bonus points are awarded for exactly correct predictions, and for Katie + Jacob’s judgments of your weather description and the match of the drawing’s hairdo (or lack thereof) to the real thing.
Perfect accuracy (50 pts) and the maximum standout factor (2×) can produce a maximum baseline of 100 points, before bonuses are added.
Detailed explanation
Each category score has an accuracy fraction and a standout factor. Accuracy rewards closeness to the actual value; the factor raises unusually accurate predictions and lowers unusually inaccurate ones.
Prediction varies by prognosticator; Crowd is calculated from everyone’s predictions; Rule is fixed before scoring; Bonus is scored separately.
Accuracy: 0–10 pts per category
Accuracy rewards how close a prediction is to the actual value. For a numerical prediction, its distance \(\pv{d_k}\) from the actual value in category \(k\) is:
\[ \pv{d_k} = \left|\text{prediction}_k-\text{actual}_k\right| \]Predictions equally far from the actual value receive the same accuracy points, whichever direction they are off.
For the first name, \(\pv{d_k}\) is the raw Levenshtein distance after lowercasing and normalizing punctuation, diacritics, and spaces. Each inserted, deleted, or substituted character counts as one edit.
The half-credit distance \(\rp{h_k}\) sets the scale for a category. Its accuracy fraction \(\pv{Q_k}\) is:
\[ \pv{Q_k}=2^{-\pv{d_k}/\rp{h_k}} \]An exact prediction has \(\pv{Q_k}=1\); a distance of \(\rp{h_k}\) has \(\pv{Q_k}=\tfrac12\); a distance of \(2\rp{h_k}\) has \(\pv{Q_k}=\tfrac14\).
Crowd distance spread
For each category, calculate the lower quartile \(\cv{L_k}\), median \(\cv{M_k}\), and upper quartile \(\cv{U_k}\) of the crowd’s distances \(\pv{d_k}\). The results table reports this spread as \([\cv{L_k},\cv{M_k},\cv{U_k}]\). These three values show where a prediction’s distance falls within the crowd.
The standout level \(\pv{Z_k}\) measures how many median-to-quartile intervals better or worse the prediction is than the median distance:
\[ \pv{Z_k} = \begin{cases} \dfrac{\cv{M_k}-\pv{d_k}}{\cv{M_k}-\cv{L_k}}, & \pv{d_k}<\cv{M_k},\\[6pt] 0, & \pv{d_k}=\cv{M_k},\\[6pt] -\dfrac{\pv{d_k}-\cv{M_k}}{\cv{U_k}-\cv{M_k}}, & \pv{d_k}>\cv{M_k}. \end{cases} \]Standout factor: 0× to 2×
Convert that level into the standout factor \(\pv{F_k}\), capped between 0 and 2:
\[ \pv{F_k} = \rp{1} + \operatorname{clip} \left(\frac{\pv{Z_k}}{\rp{2}},-\rp{1},\rp{1}\right) \]A median-distance prediction has a factor of 1×. Two median-to-quartile intervals better than the median reaches 2×; two intervals worse reaches 0×.
Category points Pik
The category points are 10 points multiplied by the accuracy fraction and the standout factor:
\[ \pv{P_{ik}} = \rp{(10\ \mathrm{pts})}\,\pv{Q_{ik}}\,\pv{F_{ik}} \]A category therefore earns between 0 and 20 points.
On a prediction-value plot, each absolute-error threshold appears on both sides of the actual value. These scoring thresholds are separate from the gray boxplot, which summarizes the signed prediction values themselves.
The total score is the sum of the five category scores plus bonus points:
\[ \pv{P_{\mathrm{total}}} = \sum_k \pv{P_k} + \bv{\text{bonus points}} \]With the current sample crowd, a perfect objective prediction earns — pts: — accuracy pts + — standout contribution. If it also earns all — available bonus points, its total is — pts.
Parameters
| Category | Half-credit distance | Maximum accuracy | Standout factor |
|---|---|---|---|
| First name | 1 edit | 10 pts | 0×–2× |
| Weight | 8 ounces | 10 pts | 0×–2× |
| Length | 1 inch | 10 pts | 0×–2× |
| Date/time | 3 days | 10 pts | 0×–2× |
| Temperature | 5°F | 10 pts | 0×–2× |
Bonus points
| Exact first name | — pts |
|---|---|
| Each actual middle name included, in any order | — pts per name |
| Exact full name | — additional pts |
| Weather description, judged after birth | 0–— pts |
| Hair in the drawing, judged after birth | 0–— pts |
The full-name points require the exact first name and the exact middle-name sequence, with no missing, extra, or reordered names. Weather and hair scores are entered by the organizers; a blank score remains visibly unjudged.
There is no separate bonus cap. The available maximum depends on how many middle names the Bean has.
Full definitions
For prognosticator \(i\) in category \(k\), \(\pv{d_{ik}}\) is the distance from the actual value, \(\rp{h_k}\) is the half-credit distance, and \(\bv{J_i}\) is the bonus-point total.
Accuracy fraction
\[ \pv{Q_{ik}}=2^{-\pv{d_{ik}}/\rp{h_k}} \]Crowd absolute-error distribution
\[ \cv{L_k} = \operatorname{quantile}_{0.25} \left(\{\pv{d_{ik}}\}_i\right) \] \[ \cv{M_k} = \operatorname{median}_i\left(\pv{d_{ik}}\right) \] \[ \cv{U_k} = \operatorname{quantile}_{0.75} \left(\{\pv{d_{ik}}\}_i\right) \]\(\cv{L_k}\), \(\cv{M_k}\), and \(\cv{U_k}\) are the lower quartile, median, and upper quartile. The lower half is scaled by \(\cv{M_k}-\cv{L_k}\); the upper half is scaled by \(\cv{U_k}-\cv{M_k}\). Smaller errors are better.
Standout level
\[ \pv{Z_{ik}}= \begin{cases} 2, & \pv{d_{ik}}<\cv{M_k}\ \text{and}\ \cv{L_k}=\cv{M_k},\\ \dfrac{\cv{M_k}-\pv{d_{ik}}}{\cv{M_k}-\cv{L_k}}, & \pv{d_{ik}}<\cv{M_k}\ \text{and}\ \cv{L_k}<\cv{M_k},\\ 0, & \pv{d_{ik}}=\cv{M_k},\\ -\dfrac{\pv{d_{ik}}-\cv{M_k}}{\cv{U_k}-\cv{M_k}}, & \pv{d_{ik}}>\cv{M_k}\ \text{and}\ \cv{U_k}>\cv{M_k},\\ -2, & \pv{d_{ik}}>\cv{M_k}\ \text{and}\ \cv{U_k}=\cv{M_k}. \end{cases} \]If a quartile is tied with the median, any prediction strictly beyond that tie receives the full adjustment in that direction. A prediction exactly at the median always has zero standout.
Standout fraction
\[ \pv{S_{ik}} = \max\left( -\rp{1}, \min\left(\frac{\pv{Z_{ik}}}{\rp{2}},\rp{1}\right) \right) \]Standout factor
\[ \pv{F_{ik}}=\rp{1}+\pv{S_{ik}} \]Category score
\[ \pv{P_{ik}} = \rp{(10\ \mathrm{pts})}\,\pv{Q_{ik}}\,\pv{F_{ik}} \]Total
\[ \pv{P_{i,\mathrm{total}}} = \sum_k \pv{P_{ik}} + \bv{J_i} \]Score calculator
- Accuracy fraction
- —
- Accuracy points
- —
- Crowd-relative level
- —
- Standout factor
- —
- Standout contribution
- —
- Category points
- —
JavaScript
const accuracyFraction = 2 ** (-distance / halfCredit);
const standoutLevel = distance === medianError
? 0
: distance < medianError
? medianError > lowerQuartileError
? (medianError - distance) /
(medianError - lowerQuartileError)
: 2
: upperQuartileError > medianError
? -(distance - medianError) /
(upperQuartileError - medianError)
: -2;
const standoutFraction = Math.max(
-1,
Math.min(standoutLevel / 2, 1),
);
const accuracyPoints = accuracyMax * accuracyFraction;
const standoutPoints = accuracyPoints * standoutFraction;
const points = accuracyPoints + standoutPoints;
Admin
Signed in as . Local development access.
Show columns
| Loading… |
Repository copy
Checking…