V předešlém článku jsem se věnoval tématu jak hrát tombolu profitabilně, ale bylo mi taky řečeno, že mnoho lidí tombolu hraje zkrátka jen proto, aby něco vyhráli. A o tom bude tento (snad již poslední) díl celé “tombolové série”.
Hlavní cena
Začněme rovnou tím, o čem jsem si myslel, že to bude nejsložitější, ale opak se ukázal být pravdou. Zdá se, že pravděpodobnost, že vyhrajete hlavní cenu, nezávisí na počtu cen v tombole, ale pouze na % počtu lístků, které si koupíte. Pokud si fitneme tento model:
Call:
lm(formula = pr_hlavni_cena ~ p_tvych_listku, data = math_df2)
Residuals:
Min 1Q Median 3Q Max
-0.071875 -0.011617 -0.000055 0.010434 0.082331
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004600 0.0004235 -1.086 0.277
p_tvych_listku 1.0005152 0.0007071 1415.004 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.01823 on 7998 degrees of freedom
Multiple R-squared: 0.996, Adjusted R-squared: 0.996
F-statistic: 2.002e+06 on 1 and 7998 DF, p-value: < 2.2e-16
zjistíme, že vysvětluje 99,6% celkového rozptylu a residuals plot vypadá následovně:
Tady nám to sedí doslova jako prdel na hrnec. Takže pokud si budete chtít spočítat, jakou máte pravděpodobnost, že hlavní cena bude právě Vaše, tak vzorec je:
kde:
- Pzl … počet lístků, které jste si koupili
- Pl … celkový počet prodaných lístků
Například pokud bude v tombole 200 lístků a Vy si koupíte 10 z nich (za předpokladu, že se všech 200 prodalo), pak pravděpodobnost, že vyhrajete hlavní cenu je: 10 / 200 = 0,05 (tj. 5%). Zajímavé na tom je, že nezáleží na tom, kolik je v tombole cen.
Chci vyhrát alespoň něco
Zde se pouštíme do jámy lvové a přiznám se, že zde se mi nepodařilo najít vzorec, který by uspokojivě vysvětloval výsledky simulace, že člověk se svými lístky vyhraje alespoň jednu cenu. Dokonce i s Bernoulliho pokusy jsem pohořel (i když ty byly nejblíže), takže to znamená, že losování lístků v tombole je rozhodně jev závislý. Abych takový model mohl sestavit, musel bych dokonale odhalit mechaniku těchto závislostí, což už je mimo mé schopnosti.
Takže co s tím uděláme? Tam, kde nepomůžou vzorce, chopíme se grafů a tabulek! Jediné, co jsem tedy zjistil je, že pravděpodobnost alespoň jedné výhry závisí na % počtu zakoupených lístků a taky na % počtu cen v tombole (vůči počtu prodaných lístků), kde mezi těmito 2 parametry je interakce. Můžeme si to vizualizovat následovně:
Na grafu jde vidět, že s rostoucím počtem cen v tombole Vaše šance něco vyhrát dramaticky roste. A kdybyste si koupili rovnou polovinu všech lístků, tak bez ohledu na to, kolik je v tombole cen, je Vaše výhra téměř jistá. Aby se tyto data daly nějak lépe použít, vytvořme si tabulku:
% tvých lístků | % počet cen (vůči lístkům) | Pravděpodobnost výhry |
---|---|---|
0.05 | 0.05 | 0.384 – 0.452 |
0.05 | 0.1 | 0.618 – 0.69 |
0.05 | 0.15 | 0.786 – 0.842 |
0.05 | 0.2 | 0.866 – 0.922 |
0.05 | 0.25 | 0.922 – 0.964 |
0.05 | 0.3 | 0.956 – 0.988 |
0.05 | 0.35 | 0.98 – 0.996 |
0.05 | 0.4 | 0.986 – 1 |
0.05 | 0.45 | 0.992 – 1 |
0.05 | 0.5 | 0.996 – 1 |
0.05 | 0.55 | 0.998 – 1 |
0.05 | 0.6 | 0.998 – 1 |
0.1 | 0.05 | 0.634 – 0.696 |
0.1 | 0.1 | 0.866 – 0.93 |
0.1 | 0.15 | 0.954 – 0.982 |
0.1 | 0.2 | 0.984 – 0.996 |
0.1 | 0.25 | 0.994 – 1 |
0.1 | 0.3 | 0.998 – 1 |
0.15 | 0.05 | 0.77 – 0.844 |
0.15 | 0.1 | 0.96 – 0.98 |
0.15 | 0.15 | 0.988 – 1 |
0.15 | 0.2 | 0.996 – 1 |
0.15 | 0.25 | 0.998 – 1 |
0.2 | 0.05 | 0.866 – 0.92 |
0.2 | 0.1 | 0.988 – 0.998 |
0.2 | 0.15 | 0.998 – 1 |
0.2 | 0.2 | 0.998 – 1 |
0.25 | 0.05 | 0.912 – 0.972 |
0.25 | 0.1 | 0.992 – 1 |
0.3 | 0.05 | 0.964 – 0.986 |
0.3 | 0.1 | 0.998 – 1 |
0.35 | 0.05 | 0.978 – 0.996 |
0.35 | 0.1 | 0.998 – 1 |
0.4 | 0.05 | 0.986 – 0.998 |
0.45 | 0.05 | 0.994 – 1 |
0.5 | 0.05 | 0.996 – 1 |
0.55 | 0.05 | 0.998 – 1 |
0.6 | 0.05 | 0.998 – 1 |
Takže například pokud bude v tombole 200 lístků a 10 cen (což je 5% z celkového počtu lístků; v tabulce hodnota 0.05), pak pokud budete chtít mít alespoň 63% pravděpodobnost, že něco vyhrajete, pak si musíte koupit cca 10% lístků, což je v tomto případě 20 ks. Pokud byste si koupili lístků 2x tolik (40 ks), pak Vaše pravděpodobnost na výhru vzroste na 86-92%.
Z tabulky jsem odebral řádky, kde minimální pravděpodobnost byla 100%. Nejnižší hodnota pro počet cen je 5% a tak si nejsem úplně jistý, jestli by to nechtělo nasimulovat i pro menší počty cen vůči lístkům. Každopádně jestli to někdo někdy budete potřebovat, dejte vědět a uděláme update 🙂 .
Takže tolik k tombole a doufám, že tento článek byl již v této sérii poslední 😀 .
Vzorec nalezen! (update 31.3.2023)
Trochu se mi to v hlavě rozleželo a myslím, že se mi konečně podařilo najít uspokojivý vzorec. Pro jeho řešení jsem musel sáhnout hlouběji do znalostí kombinatoriky a výsledkem je tato rovnice:
kde:
- Pl … počet prodaných lístků
- Pzl … počet (tvých) zakoupených lístků
- Pc … počet cen
Pokoušel jsem se tento vzorec i zjednodušit, což se mi sice trochu povedlo, ale při ověřování jsem skončil na tom, když mi faktoriál vrátil nekonečno 😀 . Takže tohle asi spočítáte jen s kalkulačkou, která umí kombinace. Pro praktické použití se nakonec přecijenom bude hodit víc asi ta tabulka.
Co se týká ověření vzorce, tak residuals plot vypadá následovně:
Není to úplně dokonalé, ale z mého pohledu dostačující. Přibližná chyba ±2% není až tak zlá.
Kód
spust_tombolu_2 = function(p_tvych_listku, p_zisk_tomboly, p_pocet_cen) {
pocet_prodanych_listku = 200
pocet_tvych_listku = (p_tvych_listku*pocet_prodanych_listku) |> round()
pocet_cen = (p_pocet_cen*pocet_prodanych_listku) |> round()
hodnoty_cen = rlnorm(pocet_cen,4.377245, 1.640558)
hodnota_cen_total = sum(hodnoty_cen)
cena_listku = (p_zisk_tomboly*hodnota_cen_total)/pocet_prodanych_listku
cena_tvych_listku = pocet_tvych_listku*cena_listku
listky_v_losovani = 1:pocet_prodanych_listku
tve_listky = sample(listky_v_losovani, pocet_tvych_listku)
vylosovate_listky = sample(listky_v_losovani, pocet_cen)
hlavni_cena = sample(vylosovate_listky, 1)
tve_vyherni_listky = intersect(vylosovate_listky, tve_listky)
pocet_vyhernich_listku = length(tve_vyherni_listky)
list (
vyhral_neco = pocet_vyhernich_listku > 0,
vyhral_hlavni_cenu = hlavni_cena %in% tve_vyherni_listky
)
}
Pingback:Jak vydělávat na tombole, část druhá - Světýlkův blog