FAQ

Configuring your league points formulas

By September 20, 2018 No Comments

The Basics

If you don’t already have a points system and aren’t sure where to start, we suggest you start with one of our preset points systems (Logarithmic, Square Root, Linear):

Take a look at each of them and see what you think of the sample points structure on the right.

Fixed

The “Fixed” option gives you some customization with a simple interface:

In the above example points will be attributed:

  • 1st place: 25 points,
  • 2nd place: 18 points,
  • 3rd place: 13 points,
  • etc.

You can change the comma separated list of Fixed Points and the point payouts will change. You can always enter a number of players for an example tournament on the right and see if the point payouts are as you expected:

Custom Formulas

But the option we really want to talk about today is the “Custom” option where you can create your own points formula.

The image above shows the different variables available to you to use in your formulas.

Some of these are apply to the tournament as a whole:

  • p = number of players
  • b = buy-in
  • z = prizepool

and some of them apply to the individual player:

  • f = finish position
  • c = total cost (buy-in + rebuys + addon)
  • k = knockouts

Examples

Linear

If you select the “Linear” preset you can see the formula that is used here:

p-f+1

So if a player finishes 5th out of 30 players they would be given 26 points (30 – 5 + 1)

Fixed

We can see an example that the “Fixed” formula below:

f<10 ? [25,18,13,9,6,4,3,2,1][f] : 0

This looks complex but it is really just saying:

If the player finishes in better than 10th place:

Award points from this list [25,18,13,9,6,4,3,2,1] , if f=3 give me the 3rd, if f=5 give me the 5th, etc.

Otherwise, award 0 points

 

Linear with a bonus for winner

What if we want to use a “Linear” formula but give a winner’s bonus of 5 points?

In this case we can use a conditional expression:

X ? Y : Z

Which can be read as “If X then Y else Z”

So for our example, it would be:

p-f+1+(f==1 ? 5 : 0)

So this is a standard linear point system and then you add the bonus “if Finish Position == 1 then 5 bonus points else 0 bonus points”

Note: Always use the double equals sign “==” to compare if two values are equal

Fixed points for top 3 and participation point for everyone else

In this example we will give points as follows:

  • 1st place: 10 points
  • 2nd place: 7 points
  • 3rd place: 4 points
  • All others: 1 point

So here we can use modify slightly the fixed function:

f<4 ? [10,7,4][f] : 1

Which could read as: “If player’s finish is better than 4th place give them 10,7, or 4 points respectively, otherwise give them one point”

Just about any point system can be modeled with a custom formula. Give it a shot and let us know if you get stuck, we’ll be happy to help you find the formula that works for your system: support@blindvalet.com

Reference

Operators

Operator Name Syntax Associativity Example Result
+ Add x + y Left to right 4 + 5 9
- Subtract x - y Left to right 7 - 3 4
* Multiply x * y Left to right 2 * 3 6
/ Divide x / y Left to right 6 / 2 3
%, mod Modulus x % y Left to right 8 % 3 2
^ Power x ^ y Right to left 2 ^ 3 8
! Factorial y! Left to right 5! 120
? : Conditional expression x ? y : z Right to left 15 > 100 ? 1 : -1 -1
: Range x : y Right to left 1:4 [1,2,3,4]
== Equal x == y Left to right 2 == 4 - 2 true
!= Unequal x != y Left to right 2 != 3 true
< Smaller x < y Left to right 2 < 3 true
> Larger x > y Left to right 2 > 3 false
<= Smallereq x <= y Left to right 4 <= 3 false
>= Largereq x >= y Left to right 2 + 4 >= 6 true

Constants

Constant Description Value
e, E Euler’s number, the base of the natural logarithm. 2.718281828459045
LN2 Returns the natural logarithm of 2. 0.6931471805599453
LN10 Returns the natural logarithm of 10. 2.302585092994046
LOG2E Returns the base-2 logarithm of E. 1.4426950408889634
LOG10E Returns the base-10 logarithm of E. 0.4342944819032518
NaN Not a number. NaN
null Value null. null
phi Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as (1 + sqrt(5)) / 2 1.618033988749895
pi, PI The number pi is a mathematical constant that is the ratio of a circle’s circumference to its diameter. 3.141592653589793
SQRT1_2 Returns the square root of 1/2. 0.7071067811865476
SQRT2 Returns the square root of 2. 1.4142135623730951
tau Tau is the ratio constant of a circle’s circumference to radius, equal to 2 * pi. 6.283185307179586

Functions

Function Description
abs(x) Calculate the absolute value of a number.
cbrt(x [, allRoots]) Calculate the cubic root of a value.
ceil(x) Round a value towards plus infinity If x is complex, both real and imaginary part are rounded towards plus infinity.
cube(x) Compute the cube of a value, x * x * x.
exp(x) Calculate the exponent of a value.
expm1(x) Calculate the value of subtracting 1 from the exponential value.
fix(x) Round a value towards zero.
floor(x) Round a value towards minus infinity.
log(x [, base]) Calculate the logarithm of a value.
log10(x) Calculate the 10-base logarithm of a value.
log1p(x) Calculate the logarithm of a value+1.
log2(x) Calculate the 2-base of a value.
mod(x, y) Calculates the modulus, the remainder of an integer division.
nthRoot(a) Calculate the nth root of a value.
nthRoots(x) Calculate the nth roots of a value.
pow(x, y) Calculates the power of x to y, x ^ y.
round(x [, n]) Round a value towards the nearest integer.
sign(x) Compute the sign of a value.
sqrt(x) Calculate the square root of a value.
square(x) Compute the square of a value, x * x.
and(x, y) Logical and.
not(x) Logical not.
or(x, y) Logical or.
xor(x, y) Logical xor.
random([min, max]) Return a random number larger or equal to min and smaller than max using a uniform distribution.
randomInt([min, max]) Return a random integer number larger or equal to min and smaller than max using a uniform distribution.
mad(a, b, c, …) Compute the median absolute deviation of a list with values.
max(a, b, c, …) Compute the maximum value of a list with values.
mean(a, b, c, …) Compute the mean value of a list with values.
median(a, b, c, …) Compute the median of a list with values.
min(a, b, c, …) Compute the maximum value of a list of values.
mode(a, b, c, …) Computes the mode of a set of numbers or a list with values(numbers or characters).
prod(a, b, c, …) Compute the product of a list with values.
std(a, b, c, …) Compute the standard deviation of a list with values.
sum(a, b, c, …) Compute the sum of a list with values.
var(a, b, c, …) Compute the variance of a list with values.
acos(x) Calculate the inverse cosine of a value.
acosh(x) Calculate the hyperbolic arccos of a value, defined as acosh(x) = ln(sqrt(x^2 - 1) + x).
acot(x) Calculate the inverse cotangent of a value, defined as acot(x) = atan(1/x).
acoth(x) Calculate the hyperbolic arccotangent of a value, defined as acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2.
acsc(x) Calculate the inverse cosecant of a value, defined as acsc(x) = asin(1/x).
acsch(x) Calculate the hyperbolic arccosecant of a value, defined as acsch(x) = asinh(1/x) = ln(1/x + sqrt(1/x^2 + 1)).
asec(x) Calculate the inverse secant of a value.
asech(x) Calculate the hyperbolic arcsecant of a value, defined as asech(x) = acosh(1/x) = ln(sqrt(1/x^2 - 1) + 1/x).
asin(x) Calculate the inverse sine of a value.
asinh(x) Calculate the hyperbolic arcsine of a value, defined as asinh(x) = ln(x + sqrt(x^2 + 1)).
atan(x) Calculate the inverse tangent of a value.
atan2(y, x) Calculate the inverse tangent function with two arguments, y/x.
atanh(x) Calculate the hyperbolic arctangent of a value, defined as atanh(x) = ln((1 + x)/(1 - x)) / 2.
cos(x) Calculate the cosine of a value.
cosh(x) Calculate the hyperbolic cosine of a value, defined as cosh(x) = 1/2 * (exp(x) + exp(-x)).
cot(x) Calculate the cotangent of a value.
coth(x) Calculate the hyperbolic cotangent of a value, defined as coth(x) = 1 / tanh(x).
csc(x) Calculate the cosecant of a value, defined as csc(x) = 1/sin(x).
csch(x) Calculate the hyperbolic cosecant of a value, defined as csch(x) = 1 / sinh(x).
sec(x) Calculate the secant of a value, defined as sec(x) = 1/cos(x).
sech(x) Calculate the hyperbolic secant of a value, defined as sech(x) = 1 / cosh(x).
sin(x) Calculate the sine of a value.
sinh(x) Calculate the hyperbolic sine of a value, defined as sinh(x) = 1/2 * (exp(x) - exp(-x)).
tan(x) Calculate the tangent of a value.
tanh(x) Calculate the hyperbolic tangent of a value, defined as tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1).