Rza
• Posts: 5
Joined: Apr 10, 2018
August 17th, 2018 at 12:34:10 AM permalink
Lucky balls 6/48 is a game in which player chooses 6 numbers out of 48 in total, where 35 balls are drawn in each game. When the six played numbers are drawn within those 35 in the game, the ticket is winning. The odd is calculated based on how soon in the game the player had matched all six numbers on the ticket with the numbers drawn.

I was calculated the return to player (RTP) using the hypergeometric distribution formula as the Wizard did for Bingo. I used the paytables for two bookmakers offering the game, William Hill & Lotto Instant Win. For Lotto Instant Win I got an RTP of 84% and for William Hill 102% !

Where am I going wrong with my calculation?

William Hill paytable: luckyballs dot rs
LIW paytabe: lottery dot live

ThatDonGuy
• Posts: 6471
Joined: Jun 22, 2011
August 17th, 2018 at 9:30:50 AM permalink
If your paytable is correct (I can't seem to find it - I think you have to be registered with William Hill), then I get the same 101.935% return that you do.

I get a similar number through simulation.

Also, this doesn't take into account the "clover bonus" (two of the numbers from 6 to 35 are selected somehow; if that number of the draw (e.g. the 10th and 22nd, or the 19th and 34th) is one of your numbers, the payouts double, and if both of them are, the payout triples), or the "bonus game" with all payouts doubled, or the progressive jackpot.

Something about this doesn't pass the smell test. I would like to see the game as it is actually played.
gordonm888
• Posts: 5201
Joined: Feb 18, 2015
August 17th, 2018 at 5:08:38 PM permalink
If you go to the web site and click on the demo video, you will see how to interpret the numbers on the screen as a paytable.

When I interpret payout=1 as a push, then I calculate a net positive return of 0.019353, in agreement with ThatDonGuy.
Last edited by: gordonm888 on Aug 17, 2018
So many better men, a few of them friends, are dead. And a thousand thousand slimy things live on, and so do I.
Rza
• Posts: 5
Joined: Apr 10, 2018
August 20th, 2018 at 2:56:02 AM permalink
I found a bookmaker using the same paytable as William Hill : www dot merrybet dot com/lucky6

I am wondering if you can look at it and confirm that the Bookmaker is betting at 101.935% RTP. This is a live operating bookmaker's site. Are they betting at a loss?

I put the LIW paytable through an own built simulator and the RTP was up to 98%. I tried to figure out the variance between the Excel Spreadsheet and the simulator. What I did was apply Standard Deviation to the spreadsheet and got very close to my simulator RTP.

Is it possible to get different results from a spreadsheet and a simulaor and if so, were I right in applying SD or am I barking up the wrong tree?
Wizard
• Posts: 26713
Joined: Oct 14, 2009
August 20th, 2018 at 8:52:07 AM permalink
Can someone please post the pay table or a link to where it can be found?
"For with much wisdom comes much sorrow." -- Ecclesiastes 1:18 (NIV)
gordonm888
• Posts: 5201
Joined: Feb 18, 2015
August 20th, 2018 at 12:41:09 PM permalink
Quote: Wizard

Can someone please post the pay table or a link to where it can be found?

6/48, how many balls does it take to match all 6 numbers?

Number of balls to match 6 numbers: Payout
6:10000
7:7500
8:5000
9:2500
10:1000
11:500
12:300
13:200
14:150
15:100
16:90
17:80
18:70
19:60
20:50
21:40
22:30
23:25
24:20
25:15
26:10
27:9
28:8
29:7
30:6
31:5
32:4
33:3
34:2
35:1
So many better men, a few of them friends, are dead. And a thousand thousand slimy things live on, and so do I.
ThatDonGuy
• Posts: 6471
Joined: Jun 22, 2011
August 20th, 2018 at 4:21:02 PM permalink
Quote: Wizard

Can someone please post the pay table or a link to where it can be found?

Here
Wizard
• Posts: 26713
Joined: Oct 14, 2009
August 20th, 2018 at 7:00:45 PM permalink
I concur with the return already mentioned. Here is my return table.

Balls Pays Density Return
6 10000 0.00000008 0.00081490
7 7500 0.00000049 0.00366703
8 5000 0.00000171 0.00855640
9 2500 0.00000456 0.01140854
10 1000 0.00001027 0.01026768
11 500 0.00002054 0.01026768
12 300 0.00003765 0.01129445
13 200 0.00006454 0.01290794
14 150 0.00010488 0.01573156
15 100 0.00016314 0.01631421
16 90 0.00024471 0.02202418
17 80 0.00035595 0.02847571
18 70 0.00050426 0.03529801
19 60 0.00069820 0.04189215
20 50 0.00094756 0.04737802
21 40 0.00126341 0.05053656
22 30 0.00165823 0.04974693
23 25 0.00214595 0.05364865
24 20 0.00274204 0.05484084
25 15 0.00346363 0.05195448
26 10 0.00432954 0.04329540
27 9 0.00536038 0.04824344
28 8 0.00657865 0.05262921
29 7 0.00800879 0.05606155
30 6 0.00967729 0.05806375
31 5 0.01161275 0.05806375
32 4 0.01384597 0.05538388
33 3 0.01641004 0.04923012
34 2 0.01934040 0.03868081
35 1 0.02267496 0.02267496
36 to 48 0 0.86772942 0.00000000
Total 1.00000000 1.01935279

Either this game is indeed paying 101.95%, not including the Clover Bonus, whatever that is, or it is gaffed. Either way, I will dig deeper.

Anyone feel free to PM if you want to tell me anything confidentially.
"For with much wisdom comes much sorrow." -- Ecclesiastes 1:18 (NIV)
Wizard
• Posts: 26713
Joined: Oct 14, 2009
August 23rd, 2018 at 1:16:55 PM permalink
I just finished a first draft of my new page on Lucky 6 35-48. I chose that title to differentiate the game from a different game I title just Lucky 6. What you will probably be most interested to know is that with the Clover multiplier feature, assuming the clovers are randomly distributed, the return is 134.6%.

I'm off to Burning Man on Saturday and won't have time to do any testing for fairness of the game until my return and even then I'll probably be swamped catching up. Meanwhile, I will post the page, but won't draw a lot of attention to the high return. Leave that to the astute players willing to read carefully.
Last edited by: Wizard on Aug 23, 2018
"For with much wisdom comes much sorrow." -- Ecclesiastes 1:18 (NIV)
gordonm888
• Posts: 5201
Joined: Feb 18, 2015
August 23rd, 2018 at 2:50:46 PM permalink
Quote: Wizard

I just finished a first draft of my new page on Lucky 6 35-48.

I seem to remember that I calculated a similar value (134.6%) for the return with bonuses.

In situations like this, I try to imagine/recreate the error that someone might have made when doing the math analysis that underlies the payout table. So far, I can't figure out any math error that would explain this situation.
So many better men, a few of them friends, are dead. And a thousand thousand slimy things live on, and so do I.
Wizard
• Posts: 26713
Joined: Oct 14, 2009
Thanked by
August 23rd, 2018 at 3:04:13 PM permalink
Quote: gordonm888

I seem to remember that I calculated a similar value (134.6%) for the return with bonuses.

In situations like this, I try to imagine/recreate the error that someone might have made when doing the math analysis that underlies the payout table. So far, I can't figure out any math error that would explain this situation.

Thanks, I just fixed the link. A very big thanks for doing the math on this. I always feel more comfortable publishing an analysis if someone else came to the same bottom line.

Did you do the Clover multiplier by exact combinations or a simulation. I tried to do it with combinations, but it got rather messy, so did a sim. Here is the main function:

`void main(void){	int i,j,hits,clovers,pt,nummin,player_array[48],draw_array[48],clover_array[30];	__int64 count,event_array[49][3];	time_t curtime,endtime;	cerr << "Enter number of minutes in simulation: ";	cin >> nummin;	curtime=time(NULL);	endtime=curtime+(60*nummin);		count=0;	for (i=0; i<=47; i++)	{		draw_array=i+1;		player_array=i+1;	}	for (i=0; i<=29; i++)		clover_array=6+i;	for (i=0; i<=48; i++)	{		for (j=0; j<=2; j++)			event_array=0;	}	do	{		count++;			fisher_yates(player_array,48);		fisher_yates(draw_array,48);		fisher_yates(clover_array,30);		pt=0;		hits=0;		clovers=0;		do		{			for (j=0; j<=5; j++)			{				if (draw_array[pt]==player_array)				{					hits++;					if ((pt+1==clover_array[0])||(pt+1==clover_array[1]))						clovers++;				}			}			pt++;		}		while (hits<6);		if (clovers>2)			cerr << "clover error\n";		event_array[pt][clovers]++;		if (count%250000==0)		{			curtime=time(NULL);			cerr << "Time remaining: " << (float)(endtime-curtime)/60 << " minutes\n";		}	}	while (curtime<endtime);	printf("count=\t%I64i\n",count);	for (i=6; i<=48; i++)	{		printf("\n%i\t",i);		for (j=0; j<=2; j++)			printf("%I64i\t",event_array);	}	cin >> i;}void fisher_yates(int deck[], int NumCards){	int i,hold;	unsigned int rn;	for (i=NumCards-1; i>0; i--)	{		rn=genrand_int32()%(i+1);		hold=deck[rn];		deck[rn]=deck;		deck=hold;	}}`
"For with much wisdom comes much sorrow." -- Ecclesiastes 1:18 (NIV)