(This article was first published on

The popular news are reporting [1,2,3,4,5] that the Multi-State Lottery Commission (MUSL) will change the rules for their lottery game Powerball, effective Jan. 15, 2012. I sent an email to the MUSL (at 8:00am Dec, 14th) asking for the new official rules, but haven't received a response yet (as of 10:30am Dec, 16th). Hence, these calculations are based on information from the popular news.
The rule changes are summarized as follows:
**BioStatMatt » R**, and kindly contributed to R-bloggers)- cost to play increased to $2 from 1$
- jackpot starts at $40M instead of $20M
- second prize starts at $1M instead of $0.2M
- number of red balls (powerballs) reduced to 34 from 39
- prize for matching the red ball alone increased to $4 from $3

*lose*$1.09 for every $2 ticket purchased. In the long run, this is equivalent to exchanging a $2 bill for a $1 bill every time Powerball is played. Note that these calculations are approximate because the jackpot is estimated using historical jackpots, and very generous because taxes are not deducted from winnings. The following

`R`code computes the expected winnings (loss) under the old and new rules. You download the script or source the file from within

`R`like so:

R> source("http://biostatmatt.com/R/powerball.R")

# jackpot amounts (as of 12/16/2011) # http://www.lottostrategies.com/script/jackpot_history/draw_date/101 # http://www.usamega.com/powerball-jackpot.asp jackpots <- read.csv('http://biostatmatt.com/csv/jackpot.csv') average_jackpot <- mean(jackpots$PrizeMillions) # for convenience ch <- choose # old rules # choose 5 from 59 white balls, 1 from 39 red balls # probabilities of winning powerball_old <- function(w, r) ch(5,w)*ch(54,5-w)/ch(59,5)*ch(1,r)*ch(38,1-r)/ch(39,1) # 9 ways to win p_old <- vector("numeric", length=9) p_old[1] <- powerball_old(5, 1) # five white + powerball_old p_old[2] <- powerball_old(5, 0) # five white p_old[3] <- powerball_old(4, 1) # four white + powerball_old p_old[4] <- powerball_old(4, 0) # four white p_old[5] <- powerball_old(3, 1) # three white + powerball_old p_old[6] <- powerball_old(3, 0) # three white p_old[7] <- powerball_old(2, 1) # two white + powerball_old p_old[8] <- powerball_old(1, 1) # one white + powerball_old p_old[9] <- powerball_old(0, 1) # powerball_old # winnings w_old <- vector("numeric", length=9) w_old[1] <- 1000000 * average_jackpot w_old[2] <- 200000 w_old[3] <- 10000 w_old[4] <- 100 w_old[5] <- 100 w_old[6] <- 7 w_old[7] <- 7 w_old[8] <- 4 w_old[9] <- 3 # expected winnings (loss) # cost to play is $1 expected_winnings_old_rules <- -1 * (1 - sum(p_old)) + sum(p_old * w_old) # new rules # choose 5 from 59 white balls, 1 from 35 red balls # probabilities of winning powerball powerball_new <- function(w, r) ch(5,w)*ch(54,5-w)/ch(59,5)*ch(1,r)*ch(34,1-r)/ch(35,1) # 9 ways to win p_new <- vector("numeric", length=9) p_new[1] <- powerball_new(5, 1) # five white + powerball_new p_new[2] <- powerball_new(5, 0) # five white p_new[3] <- powerball_new(4, 1) # four white + powerball_new p_new[4] <- powerball_new(4, 0) # four white p_new[5] <- powerball_new(3, 1) # three white + powerball_new p_new[6] <- powerball_new(3, 0) # three white p_new[7] <- powerball_new(2, 1) # two white + powerball_new p_new[8] <- powerball_new(1, 1) # one white + powerball_new p_new[9] <- powerball_new(0, 1) # powerball_new # winnings # jackpots start $20M larger than before # second prize is $1M instead of $0.2M # prize for powerball only is $4 instead of $3 w_new <- vector("numeric", length=9) w_new[1] <- 1000000 * (average_jackpot + 20) w_new[2] <- 1000000 w_new[3] <- 10000 w_new[4] <- 100 w_new[5] <- 100 w_new[6] <- 7 w_new[7] <- 7 w_new[8] <- 4 w_new[9] <- 4 # expected winnings (loss) # cose to play is $2 instead of $1 expected_winnings_new_rules <- -2 * (1 - sum(p_new)) + sum(p_new * w_new)I found this picture apropos (from

`http://www.toxel.com/inspiration/2009/09/18/12-creative-toilet-paper-designs/`):

To

**leave a comment**for the author, please follow the link and comment on his blog:**BioStatMatt » R**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...