Durango Bill's

Bingo Probabilities

How to Calculate Bingo Probability Statistics

(Math notation is generally the
same as that used in Microsoft's Excel. The MathNotation
link will also give examples of the notation as used
here.)

The key to calculating Bingo statistics is the Single Board Cumulative Probability of getting Bingo on or before the "Nth" number is called. These are the numbers that appear in Column 3 of the statistics table.

For any number of boards (1, 50, or other), the probability of getting a Bingo when the Nth number is called is the difference between the cumulative probability for the Nth number and the (N-1)th number.

Example - single board (refer to the table): The probability of getting a Bingo when the 20th number is called is the cumulative probability for 20 numbers (0.022874) minus the cumulative probability for 19 numbers (0.017993). The result of 0.022874 minus 0.017993 is the 0.004881 probability that appears in the table.

Example - 50 boards (again refer to the table): The probability that (at least) one of the 50 boards will get a Bingo when the 20th number is called is the cumulative probability for 20 numbers (0.685574) minus the cumulative probability for 19 numbers (0.596608). The result of 0.685574 minus 0.596608 is the 0.088966 probability that appears in the table.

The Cumulative Probability column for any number of boards can be calculated once the Cumulative Probability for a single board is known. If we let "K" equal the number of boards, and let Cp[N] equal the single board Cumulative Probability after N numbers have been called, then the "K" boards Cumulative Probability after N numbers have been called is:

1 - ((1 - Cp[N])^K) (^ is the power function e.g. 2^3 = 8)

For example: If we have the Single Board Probability after 25 numbers have been called (look up 0.063961 in the table), the 50 board Cumulative Probability after 25 numbers is:

1 -((1 - 0.063961)^50) =

1 -(0.936039^50) =

1 - 0.036703 = 0.963297 (You can cross check this with the table.)

Note: A precision error will be noticeable when using smaller vales of "N")

Up to now we have been making easy calculations using the single board Cumulative Probabilities. So where do these numbers come from? Unfortunately this will require some serious computer number crunching. The Single Board Cumulative Probability that at least one Bingo exists given that "N" numbers have been called is the sum of the probabilities for the following conditions:

Of the N numbers called, 4 have been matched on the card, and these 4 have formed a Bingo,

Of the N numbers called, 5 have been matched on the card, and these 5 have formed a Bingo,

Of the N numbers called, 6 have been matched on the card, and these 6 have formed a Bingo, etc.

Of the N numbers called, K have been matched on the card, and these K have formed a Bingo, etc.

There will be two parts to the calculations. For each of the above lines, we need to know the probability of having K matches out of the N numbers that have been called. We also need to know the probability of having at least one Bingo given that K numbers have hit the board.

Part 1. Calculating the probability of having at least 1 Bingo

given that you have "K" hits on the Bingo Card

(Warning: If you don't like to play with the bits in "C" or "C++" programs, you aren't going to like this.)

There are 25 cells on a Bingo card that are organized into a 5 x 5 square. The center space is free which leaves 24 spaces that may or may not have been matched in the course of a game. This leaves 2^24 = 16,777,216 different patterns that may or may not have at least 1 Bingo. Each of these is an equally likely pattern. For each of the 16,777,216 of these patterns, we are going to have to count how many spaces are occupied and if the pattern contains a Bingo. For example: there are COMBIN(24,10) = 1,961,256 different ways we can hit 10 different spaces on the Bingo Board. We will have to count how many of these 1,961,256 have at least one Bingo. Then we can divide this count by 1,961,256, which will give us the probability of having a Bingo.

There's a little catch in here. How do you tell a computer how to recognize a "Bingo"? (And you better find an efficient way since we will be doing it 16,777,216 times.)

Let's number the spaces on a Bingo card as follows:

4 3 2 1 0

9 8 7 6 5

13 12 * 11 10

18 17 16 15 14

23 22 21 20 19

We have 24 spaces numbered from 0 to 23. We also note that integer numbers in a computer are expressed as binary numbers. The table below compares the first few decimal numbers with their binary

equivalents.

Decimal Binary

0 0

1 1

2 10

3 11

16,777,215 11111111111111111111111 (There are 23 1's)

Thus, if a computer counts from 0 to 16,777,215 the 0's and 1's in the binary numbers will generate all possible patterns for the bingo card. (Let "1" represent a "Called space" and "0" a not called space). If we use this same rule of applying a "1" for a hit and "0" for no hit, then we could express a Bingo for the first row by using "11111" for 5 hits across the row. Similarly the second row forms a Bingo if we have a pattern of "11111xxxxx". Here, the 1's are positions in 5-9 (We count positions from right to left starting with "0") while the x's occupy whatever garbage might be in the first row. We can continue this process for all 12 possible Bingo patterns. When we run our computer program, we just compare the 12 patterns with each of the 16,777,215 numbers. If all the 1's in any of the 12 tests have corresponding 1's in the binary number, then we have a Bingo. (In patterns that use the central free space, only four 1's are in the Bingo pattern). The actual computer instruction uses a bitwise "AND" test for the test.

Finally, we can write the computer code.

We can output the results here and show the probability of having a Bingo given you have "N" hits on your bingo card.

Number of

Nbr. of hits Comb.with Total Probability there is at

on the card a Bingo Combinations least 1 Bingo(Col.2 / Col.3)

---------------------------------------------------------------

0 0 COMBIN(24, 0) = 1 0.000000

1 0 COMBIN(24, 1) = 24 0.000000

2 0 COMBIN(24, 2) = 276 0.000000

3 0 COMBIN(24, 3) = 2,024 0.000000

4 4 COMBIN(24, 4) = 10,626 0.000376

5 88 COMBIN(24, 5) = 42,504 0.002070

6 912 COMBIN(24, 6) = 134,596 0.006776

7 5,928 COMBIN(24, 7) = 346,104 0.017128

8 27,102 COMBIN(24, 8) = 735,471 0.036850

9 92,520 COMBIN(24, 9) = 1,307,504 0.070761

10 244,092 COMBIN(24,10) = 1,961,256 0.124457

11 507,696 COMBIN(24,11) = 2,496,144 0.203392

12 841,100 COMBIN(24,12) = 2,704,156 0.311040

13 1,113,360 COMBIN(24,13) = 2,496,144 0.446032

14 1,174,620 COMBIN(24,14) = 1,961,256 0.598912

15 981,424 COMBIN(24,15) = 1,307,504 0.750609

16 644,445 COMBIN(24,16) = 735,471 0.876234

17 331,056 COMBIN(24,17) = 346,104 0.956522

18 133,428 COMBIN(24,18) = 134,596 0.991322

19 42,480 COMBIN(24,19) = 42,504 0.999435

20 10,626 COMBIN(24,20) = 10,626 1.000000

21 2,024 COMBIN(24,21) = 2,024 1.000000

22 276 COMBIN(24,22) = 276 1.000000

23 24 COMBIN(24,23) = 24 1.000000

24 1 COMBIN(24,24) = 1 1.000000

From here it gets "easier". If we want to find the cumulative probability that we have a Bingo after 10 numbers have been called, we just sum the following:

The probability that 4 of the 10 numbers are on the card times the probability that these 4 hits form a Bingo, plus the probability that 5 of the 10 numbers are on the card times the probability that these 5 hits form a Bingo, etc. through all 10 numbers are on the card. This comes out to:

COMBIN(24, 4) * COMBIN(51, 6) / COMBIN(75,10) * 0.000376 = 0.000087

COMBIN(24, 5) * COMBIN(51, 5) / COMBIN(75,10) * 0.002070 = 0.000249

COMBIN(24, 6) * COMBIN(51, 4) / COMBIN(75,10) * 0.006776 = 0.000275

COMBIN(24, 7) * COMBIN(51, 3) / COMBIN(75,10) * 0.017128 = 0.000149

COMBIN(24, 8) * COMBIN(51, 2) / COMBIN(75,10) * 0.036850 = 0.000042

COMBIN(24, 9) * COMBIN(51, 1) / COMBIN(75,10) * 0.070761 = 0.000006

COMBIN(24,10)* COMBIN(51, 0) / COMBIN(75,10) * 0.124457 = 0.000000

Total = 0.000808

(Which is the value shown for the single board cumulative probability after 10 numbers have been called. Calculations for all the other single board cumulative probabilities are similar.)

Return to the Bingo main page

Web page generated via Sea Monkey's Composer

within a Linux Cinnamon Mint 18 operating system.

(Goodbye Microsoft)

The key to calculating Bingo statistics is the Single Board Cumulative Probability of getting Bingo on or before the "Nth" number is called. These are the numbers that appear in Column 3 of the statistics table.

First, we
will show how to calculate the other columns once you have
the Column 3 data.

For any number of boards (1, 50, or other), the probability of getting a Bingo when the Nth number is called is the difference between the cumulative probability for the Nth number and the (N-1)th number.

Example - single board (refer to the table): The probability of getting a Bingo when the 20th number is called is the cumulative probability for 20 numbers (0.022874) minus the cumulative probability for 19 numbers (0.017993). The result of 0.022874 minus 0.017993 is the 0.004881 probability that appears in the table.

Example - 50 boards (again refer to the table): The probability that (at least) one of the 50 boards will get a Bingo when the 20th number is called is the cumulative probability for 20 numbers (0.685574) minus the cumulative probability for 19 numbers (0.596608). The result of 0.685574 minus 0.596608 is the 0.088966 probability that appears in the table.

How to
calculate the Column 5 data

The Cumulative Probability column for any number of boards can be calculated once the Cumulative Probability for a single board is known. If we let "K" equal the number of boards, and let Cp[N] equal the single board Cumulative Probability after N numbers have been called, then the "K" boards Cumulative Probability after N numbers have been called is:

1 - ((1 - Cp[N])^K) (^ is the power function e.g. 2^3 = 8)

For example: If we have the Single Board Probability after 25 numbers have been called (look up 0.063961 in the table), the 50 board Cumulative Probability after 25 numbers is:

1 -((1 - 0.063961)^50) =

1 -(0.936039^50) =

1 - 0.036703 = 0.963297 (You can cross check this with the table.)

Note: A precision error will be noticeable when using smaller vales of "N")

Calculating
the single board cumulative probability values

Up to now we have been making easy calculations using the single board Cumulative Probabilities. So where do these numbers come from? Unfortunately this will require some serious computer number crunching. The Single Board Cumulative Probability that at least one Bingo exists given that "N" numbers have been called is the sum of the probabilities for the following conditions:

Of the N numbers called, 4 have been matched on the card, and these 4 have formed a Bingo,

Of the N numbers called, 5 have been matched on the card, and these 5 have formed a Bingo,

Of the N numbers called, 6 have been matched on the card, and these 6 have formed a Bingo, etc.

Of the N numbers called, K have been matched on the card, and these K have formed a Bingo, etc.

There will be two parts to the calculations. For each of the above lines, we need to know the probability of having K matches out of the N numbers that have been called. We also need to know the probability of having at least one Bingo given that K numbers have hit the board.

Part 1. Calculating the probability of having at least 1 Bingo

given that you have "K" hits on the Bingo Card

(Warning: If you don't like to play with the bits in "C" or "C++" programs, you aren't going to like this.)

There are 25 cells on a Bingo card that are organized into a 5 x 5 square. The center space is free which leaves 24 spaces that may or may not have been matched in the course of a game. This leaves 2^24 = 16,777,216 different patterns that may or may not have at least 1 Bingo. Each of these is an equally likely pattern. For each of the 16,777,216 of these patterns, we are going to have to count how many spaces are occupied and if the pattern contains a Bingo. For example: there are COMBIN(24,10) = 1,961,256 different ways we can hit 10 different spaces on the Bingo Board. We will have to count how many of these 1,961,256 have at least one Bingo. Then we can divide this count by 1,961,256, which will give us the probability of having a Bingo.

The general algorithm we will
use will look like:

For each of the 16,777,216 patterns

Count the number of Bingo board spaces that have hits (Min = 0 Max = 24)

Check this pattern to see if it has at least one bingo

If "Yes" then add one to the count for this number of board hits

Repeat the loop for the next pattern.

For each of the 16,777,216 patterns

Count the number of Bingo board spaces that have hits (Min = 0 Max = 24)

Check this pattern to see if it has at least one bingo

If "Yes" then add one to the count for this number of board hits

Repeat the loop for the next pattern.

There's a little catch in here. How do you tell a computer how to recognize a "Bingo"? (And you better find an efficient way since we will be doing it 16,777,216 times.)

Let's number the spaces on a Bingo card as follows:

4 3 2 1 0

9 8 7 6 5

13 12 * 11 10

18 17 16 15 14

23 22 21 20 19

We have 24 spaces numbered from 0 to 23. We also note that integer numbers in a computer are expressed as binary numbers. The table below compares the first few decimal numbers with their binary

equivalents.

Decimal Binary

0 0

1 1

2 10

3 11

16,777,215 11111111111111111111111 (There are 23 1's)

Thus, if a computer counts from 0 to 16,777,215 the 0's and 1's in the binary numbers will generate all possible patterns for the bingo card. (Let "1" represent a "Called space" and "0" a not called space). If we use this same rule of applying a "1" for a hit and "0" for no hit, then we could express a Bingo for the first row by using "11111" for 5 hits across the row. Similarly the second row forms a Bingo if we have a pattern of "11111xxxxx". Here, the 1's are positions in 5-9 (We count positions from right to left starting with "0") while the x's occupy whatever garbage might be in the first row. We can continue this process for all 12 possible Bingo patterns. When we run our computer program, we just compare the 12 patterns with each of the 16,777,215 numbers. If all the 1's in any of the 12 tests have corresponding 1's in the binary number, then we have a Bingo. (In patterns that use the central free space, only four 1's are in the Bingo pattern). The actual computer instruction uses a bitwise "AND" test for the test.

Finally, we can write the computer code.

for (i = 16777215; i;
i--) {
/* Count from 2^24-1 to
1
*/

NbrBits = 0; /* Will count the number of 1's */

j = i; /* Get a work version of the number */

do { /* Will rotate the number to the right */

NbrBits += (j & 1); /* Will add 1 each time a "1" is found */

j >>= 1; /* Shift everything for the next test. */

} while(j); /* Repeat until nothing left to look at */

for (j = 12; j; j--) { /* Now check the 12 Bingo patterns */

if ((i & Bingos[j]) == Bingos[j]) { /* If one of the patterns matches */

NbrBingos[NbrBits]++; /* then increment the count for this */

break; /* number of hits. */

/* (Don't have to search further) */

}

} /* Else check next bingo pattern */

} /* Repeat all 16777215 possible patterns. */

NbrBits = 0; /* Will count the number of 1's */

j = i; /* Get a work version of the number */

do { /* Will rotate the number to the right */

NbrBits += (j & 1); /* Will add 1 each time a "1" is found */

j >>= 1; /* Shift everything for the next test. */

} while(j); /* Repeat until nothing left to look at */

for (j = 12; j; j--) { /* Now check the 12 Bingo patterns */

if ((i & Bingos[j]) == Bingos[j]) { /* If one of the patterns matches */

NbrBingos[NbrBits]++; /* then increment the count for this */

break; /* number of hits. */

/* (Don't have to search further) */

}

} /* Else check next bingo pattern */

} /* Repeat all 16777215 possible patterns. */

We can output the results here and show the probability of having a Bingo given you have "N" hits on your bingo card.

Number of

Nbr. of hits Comb.with Total Probability there is at

on the card a Bingo Combinations least 1 Bingo(Col.2 / Col.3)

---------------------------------------------------------------

0 0 COMBIN(24, 0) = 1 0.000000

1 0 COMBIN(24, 1) = 24 0.000000

2 0 COMBIN(24, 2) = 276 0.000000

3 0 COMBIN(24, 3) = 2,024 0.000000

4 4 COMBIN(24, 4) = 10,626 0.000376

5 88 COMBIN(24, 5) = 42,504 0.002070

6 912 COMBIN(24, 6) = 134,596 0.006776

7 5,928 COMBIN(24, 7) = 346,104 0.017128

8 27,102 COMBIN(24, 8) = 735,471 0.036850

9 92,520 COMBIN(24, 9) = 1,307,504 0.070761

10 244,092 COMBIN(24,10) = 1,961,256 0.124457

11 507,696 COMBIN(24,11) = 2,496,144 0.203392

12 841,100 COMBIN(24,12) = 2,704,156 0.311040

13 1,113,360 COMBIN(24,13) = 2,496,144 0.446032

14 1,174,620 COMBIN(24,14) = 1,961,256 0.598912

15 981,424 COMBIN(24,15) = 1,307,504 0.750609

16 644,445 COMBIN(24,16) = 735,471 0.876234

17 331,056 COMBIN(24,17) = 346,104 0.956522

18 133,428 COMBIN(24,18) = 134,596 0.991322

19 42,480 COMBIN(24,19) = 42,504 0.999435

20 10,626 COMBIN(24,20) = 10,626 1.000000

21 2,024 COMBIN(24,21) = 2,024 1.000000

22 276 COMBIN(24,22) = 276 1.000000

23 24 COMBIN(24,23) = 24 1.000000

24 1 COMBIN(24,24) = 1 1.000000

From here it gets "easier". If we want to find the cumulative probability that we have a Bingo after 10 numbers have been called, we just sum the following:

The probability that 4 of the 10 numbers are on the card times the probability that these 4 hits form a Bingo, plus the probability that 5 of the 10 numbers are on the card times the probability that these 5 hits form a Bingo, etc. through all 10 numbers are on the card. This comes out to:

COMBIN(24, 4) * COMBIN(51, 6) / COMBIN(75,10) * 0.000376 = 0.000087

COMBIN(24, 5) * COMBIN(51, 5) / COMBIN(75,10) * 0.002070 = 0.000249

COMBIN(24, 6) * COMBIN(51, 4) / COMBIN(75,10) * 0.006776 = 0.000275

COMBIN(24, 7) * COMBIN(51, 3) / COMBIN(75,10) * 0.017128 = 0.000149

COMBIN(24, 8) * COMBIN(51, 2) / COMBIN(75,10) * 0.036850 = 0.000042

COMBIN(24, 9) * COMBIN(51, 1) / COMBIN(75,10) * 0.070761 = 0.000006

COMBIN(24,10)* COMBIN(51, 0) / COMBIN(75,10) * 0.124457 = 0.000000

Total = 0.000808

(Which is the value shown for the single board cumulative probability after 10 numbers have been called. Calculations for all the other single board cumulative probabilities are similar.)

Return to the Bingo main page

Web page generated via Sea Monkey's Composer

within a Linux Cinnamon Mint 18 operating system.

(Goodbye Microsoft)