The following table shows the expected prize and odds of a winning ticket with a certain count of consecutive matching numbers.
Number of Consecutive Matching Numbers
1 / 1.07
1 / 17
1 / 273
1 / 4,370
1 / 70,000
1 / 1,120,000
6 (Super Jackpot)
1 / 16,800,000
Note that an increase in the number of purchased perpetual lottery tickets will not decrease the expected prize payouts per winning ticket. This is because as the number of perpetual lottery tickets goes up, so does the size of the lottery pool. What will happen as the number of perpetual tickets goes up is more total prize payouts and more winning tickets each week!
Glow Lotto works by awarding you one perpetual lottery ticket per $25 dollars deposited. Another way of looking at this is that each week Glow Lotto uses a portion of the interest from your $25 dollar deposit to "buy" a single use ticket.
Looking at it this way, we see that each entry in the lottery actually costs just 6.5 cents! Talk about a bargin 😁 (
(pow(1.2, 1 / 52) - 1) * 25 * .75 = 0.65)
Continuing with this perspective, an important note is that the expected value of a single use Glow Lotto ticket is actually greater than the cost of the ticket, i.e. for every 6.5 cent ticket you "buy", you expect to get back more than 6.5 cents in prizes! This is because all money that goes into the lotto pool goes straight back to ticket holders, and some is carried over from previous weeks. This is very different from than most lotteries where for every $1 you spend on a ticket, you only expect to get $0.50 back (i.e. where you are playing at an expected loss).
Unlike some lotteries which pay out a fixed prize based on a number of matches (i.e. a fixed $50 for a ticket with 3 consecutive matches), Glow Lotto pays out a variable amount depending on the number of winning tickets for a given tier. This is because Glow Lotto has access to a fixed amount of total funds to pay out in each lottery. In the unlikely event of many fewer winning tickets than expected for a given week, each winner will receive a larger prize than expected. Similarly, in the unlikely event of many more winning tickets than expected for a given week, each winner will receive a smaller prize than expected.
Even so, we can calculate what the expected payout will be for a given number of matches and know that the actual payouts will hover around the expected payout. See the code below. Notice that it doesn't depend on the number of purchased perpetual tickets, but it does depend on the prize distribution which you can find here.
# Get the weekly multiplier by taking the 52 root of anchor's 20% yearly returns
weekly_interest_rate = pow(1.2, 1/52)
# Set ticket_price, split_factor, and prize_distributions
ticket_price = 25
split_factor = 0.75
prize_distributions = [0, 0.00, .059, .184, .229, .287, .241]
# Build matching_chances so that matching_chances[i] gives the chance of a ticket having exactly i consecutive matches
# The idea is you want to take (1 / 16) ** i to get the chance of i consecutive matches,
# and then multiply by (15 / 16) to account for the fact that the number at i + 1 must not be a match
# (or else you would be counting a ticket with i + 1 matches, but we only want to include tickets with exactly i matches)
matching_chances = [pow(1/16, i) * (15 / 16 if i != len(prize_distributions) - 1 else 1) for i in range(len(prize_distributions))]
# Get the size of the lottery pool after one week proportional to the number of tickets.
# We take the ticket_prize times the split factor to get the value for which interest is going towards the lottery.
# Then multiply by the weekly interest rate to get the value we can put towards the lottery pool.
lottery_pool_size = ticket_price * split_factor * (weekly_interest_rate - 1)
# Get the expected payout sizes.
# For each prize_fraction, calculate the corresponding value of the lottery by multiplying with lottery_pool_size.
# Then divide by the chance of a corresponding winning ticket to get the expected value of the payout
expected_payouts = [lottery_pool_size * prize_fraction / matching_chances[index] for index, prize_fraction in enumerate(prize_distributions)]
# Print the expected payout sizes
And the corresponding output:
The expected payouts are:
- $0.00 for tickets with 0 matches.
- $0.00 for tickets with 1 matches.
- $1.06 for tickets with 2 matches.
- $52.94 for tickets with 3 matches.
- $1054.25 for tickets with 4 matches.
- $21140.15 for tickets with 5 matches.
- $266277.50 for tickets with 6 matches