David Bauer: concept and data
Anja Lemcke: illustrations
Simon Wimmer: UI design
Beni Buess: oracle model and backend
Webkid.io: frontend code
// model after calculating points for every team
// points team a (20) points team b (40)
// |--------------------/----------+------------------------------|
// ^ 0 ^ threshold (20) ^ total team a + team b (60)
let spread = pointsTeamB - pointsTeamA
let underdogThresholdShift = spread / 2 / 5 * flags.underdogBonus
// for underdogBonus === 2 this will get us a new threshold of 24
//
// team a team b
// |------------------------/------+------------------------------|
// ^ threshold (24)
// shift if maxWeight - minWeight < 2
// shift more if parameters are weighted low (small totalPoints)
let maxPoints = 25
let weightThresholdShift = (spread / 2 / maxPoints) * (maxPoints - totalPoints);
// if in ko round, shift threshold against the underdog (more pressure on higher rated team)
// the shift is 2/10 of the initial spread (thus reversing an underdog bonus of 2)
team a team b
|------------------------/------+------------------------------|
^ threshold (24)