You’re visiting Hot dogs and eggs, the online home of Chris Gallo since 2014.

05: Value of the Act

Value was a theme this week in what I read or consumed. Not all stats are created equal. Value in the act, not the act itself. It was a challenge to deal with uncertainity this week too.



Checked out Scorecasting by Tobias J. Moskowitz and L. Jon Wertheim from the library.

Started reading this week, notes below:

Notes or ideas/passages that stuck out to me:

All about insights: the information is all over the place, almost too much data. The power isn’t in the data, but the insights you pull out it. Much tougher than it seems.

Chapter 1: Whistle Swallowing: all about officials and omission bias with loss aversion. Uses Mike Carey and David Tyree catch as fundamental example.

People view acts of omission - the absence of an act - as far less harmful than acts of commission - actually committing the act, even if the outcomes are the same or worse.

Food example - declining healthy food is a poor choice (omission), but eating junk food is worse (commission).

Jeff Bezos quote - “people overfocus on errors of commission, failure’s not that expensive, the big cost you incur is harder to notice, errors of omission.”

Officials or refs, when the game steps up, you step down.

Swallow the whistle with judgement calls versus subjective calls when the game is about to end.

Subjective in football - holding, illegal blocks, illegal contact, and unnecessary roughness don’t happen as often when game is on the line or at its end.

Objective calls - delay of game, illegal formation, motion, or shift are called at the same rate.

Chapter 2: Go for it: Kevin Kelley always going for it on 4th down and never punting, he plays the odds and he also has job security and freedom to do so.

All about risk aversion.

Sparky Anderson - losing hurts twice as bad as winning feels good.

Would you rather want a $5 discount or avoid a $5 surcharge?

In sports, it’s about punting even though the odds say to go for it on 4th down. Potential loss of field position or failing unconventionally means we avoid losses.

But why do you make risks?

You’re more likely to risk something when you expect to lose.

Job security is huge. Are you allowed to fail or be unconventional?

Belichick was not as aggressive until he won a Super Bowl. It built equity for him to take risks, fail, and not lose his job.

But that’s not enough either. Players must buy in too.

Tony LaRussa tried using pitchers for 3 innings apiece, but players didn’t like it. They wanted wins (throw for 5 innings), because it drives their contract.

Paul Westhead at Lakers, didn’t work. It worked at Loyola Marymount, but failed spectacularly with Denver Nuggets. Players buy in matters.

Chapter 4: Tiger Woods is Human: more about loss aversion, it’s a principle we dislike losing a dollar more than we enjoy earning a dollar.

PGA tour, measured putts from identical distance for birdies and pars, putts for par were far more successful. Players were so concerned with a loss, you’re more aggressive in avoiding bogey than scoring birdie.

Tendency to leave putts short for birdie, being too conservative.

Woods even says the psychological difference between making a birdie and dropping a shot is huge, more important to make a par putt. He’s human.

In the face of gain, we’re conservative.

In the face of loss, we’re aggressive.

It’s hard to block out how you got in a predicament. Remain even keel.

Endowment effect: feel the loss of something you own much more deeply than the loss of something you don’t own.

Chapter 5: Offense wins championships: Defense is no more important than offense, both are equally important.

Defense requires effort, it’s less glorified, harder to measure, and dark (hidden).

Chapter 6: The value of a blocked shot: Value of blocked shots is in the details.

A blocked shot on a layup and you get the ball is more important than a block off an awkward, off-balance leaner.

Blocked shot back to opponent was assigned a value. Blocked shot out of bounds was slightly more valuable. Blocked ball to a teammate was worth the most.

It’s the value of the act, not the act itself that matters.

Counting is easy, measuring value is hard.

Tim Duncan’s 149 blocks were more valuable than Dwight Howard’s 232 blocks.

Bet the process podcast

New episode discusses value and defense.

Defense is less predictive than offense. Trust an outstanding offense and average defense more than an average offense and outstanding defense.

Value isn’t positive odds, value is getting better odds than what you predict the odds should be. For example, Floyd Mayweather is a value pick at -500 if you predict odds should be -1500.

Sam Hinkie

Lists side project ideas here. This was fascinating, and something I want to explore. Might send an email.

Particularly, the pagination idea. Reading in the browser via long scroll isn’t fun, would rather have pagination to show progess.

Two blog posts from Eugene Wei:

  1. NFL on compression, and Galapagos

  2. Jpeg your ideas, compress to impress

Book idea - Elements of Eloquence

Quotes I liked this week


R snippets for charts this week:

    mc.df = data.frame(mincon <-c(40.3, 64.4, 75.7, 65.6, 55.9, 34.0, 70.2, 34.8, 30.5, 67.6, 66.6, 52.3, 15.4, 81.9, 60.4), adjem <-c(23.6, 28.2, 29.8, 23.8, 18.4, 17.1, 25.4, 22.2, 13.4, 31.1, 30.2, 31.4, 22.2, 32.8, 23.3), year <-c(2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004)) 

ggplot(.df, aes(MINCON, WINPCT)) +
  geom_point() +

  ggplot(mc.df, aes(mincon, adjem, label=year)) +
  geom_point(color = "#56a0d3", size = 3) + 
 geom_label_repel(aes(label =year),
                  box.padding   = 0.35, 
                  point.padding = 0.5,
                  segment.color = 'grey50') +
  labs(x="Minutes Continuity (%)", y="Adjusted Efficiency Margin",
       title="Carolina: Minutes Continuity and Adjusted Efficiency Margin Since '03-04",
       subtitle="Shows relationship between minutes continuity and adjusted efficiency margin in the Roy Williams era.",
       caption="Brought to you by")  +

season <-rep(c("2018", "2017", "2016", "2015", "2014", "2013", 
               "2012", "2011", "2010", "2009", "2008"), 2)
F4 <-c(51.3, 51.5, 65.6, 49.3, 51.1, 46.2, 45.4, 51.6, 71.7, 75.2, 72.3)
DI <-c(48.4, 49.5, 49.2, 49.4, 51.4, 50.3, 48.7, 51.6, 53.0, 51.4, 51.2)
values <-c(F4, DI)
type <-c(rep("F4", 11), rep("DI", 11))
ohdata <-data.frame(season, values)

p <-ggplot(ohdata, aes(season, values))
p +geom_bar()

ggplot(ohdata, aes(x=season,y = values)) +geom_bar(stat = "identity")

p + geom_bar(stat = "identity", aes(fill = type), width=0.5, position="dodge") +
  labs(x="Season", y="Minutes Continuity %",
       title="Final 4 Median Minutes Continuity Compared to Division-I Median",
       subtitle="Minutes continuity is compiled by Ken Pomeroy and measures percentage of a team’s minutes that are played by the same player or players from last season to this season.",
       caption="Brought to you by, data via")  +
  theme(plot.title = element_text(hjust = 0.5)) + 
  scale_fill_manual("Legend", values = c("F4" = "#005AB5", "DI" = "#DC3220")) + 
  theme_ipsum() <- read.csv(file="cont.csv")

p <- ggplot(, aes(x = Year, y= MinCon, colour = variable)) + 
  geom_line(aes(y = DUKE, colour = "DUKE"), size=1.5) +
  geom_line(aes(y = KENTUCKY, colour = "KENTUCKY"), size=1.5) +
  geom_line(aes(y = VILLANOVA, colour = "VILLANOVA"), size=1.5) +
  geom_line(aes(y = UNC, colour = "UNC"), linetype="dotted", size=1.5) +
  geom_line(aes(y = DIMEDIAN, colour = "DIMEDIAN"), linetype="dashed", size=1.5) +
  labs(x="Year", y="Minutes Continuity (%)",  
  title="Minutes Continuity: Carolina Compared to Duke, Kentucky, Villanova Since 2010", 
  subtitle="Minutes continuity is compiled by Ken Pomeroy and measures percentage of a team’s minutes that are played by the same player or players from last season to this season.",
       caption="Brought to you by, data via")  +
  scale_x_continuous(name="Year", breaks=c(2010:2018), labels=c(2010:2018),limits=c(2010,2018)) +
                      breaks = c("DUKE", "KENTUCKY", "VILLANOVA", "UNC", "DIMEDIAN"),
                      values = c("DUKE"="#E69F00", "KENTUCKY"="#009E73", "VILLANOVA"="#0072B2", "UNC"="#56A0D3", "DIMEDIAN"="#191919")) +


Read all notes