(This article was first published on BioStatMatt » R, and kindly contributed to R-bloggers)
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:
- 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
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...

Zero Inflated Models and Generalized Linear Mixed Models with R.
Zuur, Saveliev, Ieno (2012).