The Randomness of Putting

1 Introduction

Anyone who knows me knows that I’m an extremely avid golfer. I’ve played for a long time (with a depressingly high handicap to show for it) and don’t plan on stopping any time soon. Given my obsession with both math and golf, I’ve been very interested in its statistics and how mathematical techniques can be applied to the game for basically my entire adult life. Thankfully it’s a better time than ever before to be someone passionate about these two pursuits. There’s a ton of data to sink our teeth into that didn’t exist in years past, and I’d like to take advantage of this.

For my first attempt at golf modeling, I’d like to focus to a particularly frustrating part of golf for some: putting. Long believed to be the most important part of the game (”drive for show, putt for dough”), modern analytics are now showing it takes a back seat to both driving and iron play in terms of a professional’s ability to differentiate themselves from their peers. Why is this the case? While I don’t know definitively, I think it has to do with randomness. A ball rolling along the ground is subject to much more randomness than one flying through the air. There’s no shortage of debris or other obstacles that can deflect a ball as it rolls along, and there’s really nothing you can do about it. Now, I honestly don’t have a clue what governs putting on the ”micro” level, but I do know math. I’m curious if, with some assumptions, we can build a model of putting that can replicate putting stats for PGA tour pros.

2 So Just How Good Are Professional Putters?

A natural question to start this analysis. I think the pga tour is somewhat generous sharing their data with academic institutions, but alas I’m just some guy and have to take what I can find on the internet. I found a post on forum somewhere that had the make percentages for all pga tour pros for every foot from 1 foot to 100 feet, and the data looks like it was released by the pga tour so I guess I have no choice but to trust it. Annoyingly it only displays 2 decimal places so a good deal of the probabilities are simply ”1%” but we’ll manage. Anyway enough rambling, here’s what it looks like:

Percent chance pro golfers make a putt from a given distance up to 100 feet

Nothing too out of the ordinary, although one aspect has certainly caught my eye: why is the beginning of the curve downward sloping? For some reason I would have assumed it was more or less a constant decrease at first that then leveled off. Just to make it clear what I’m talking about, let’s go in for a closer look.

Actual (Blue) and Billy’s bad intuition (Orange) of make probability compared to ln(feet)

(Quick note: I plotted the figure against ln(feet) just to ”stretch out” the beginning part of the curve to make the pattern I’m describing more obvious.) Why does the additional foot going from 1 foot to 2 feet decrease your make probability by roughly 1%, but going from 2 feet to 3 feet decreases your probability by 4%? Going from 1 foot to 2 feet doubles the length of your putt, but 2 feet to 3 feet only increases its length by 50%, sooooo why does the 3rd foot have such a pronounced effect? I’m not really sure to be honest, so I suppose there’s nothing left to do but proceed with reckless modeling abandon and see if we can find out. (Minor spoiler: I’ll prove why this is the case mathematically in the appendix of this post, but in all honesty I can’t seem to tie it back to the real world within the framework of this model. More discussion on this in the appendix.)

3 Getting the Ball Rolling

Where do we even begin? Ideally I’d like to create some kind of Monte-Carlo simulation just to start wrapping my hands around this. Some thoughts:

  1. My first intuition is to imagine a golf ball rolling along the ground: It very well could roll along its intended line, but there are little blades of grass, imperfections, and other debris on the green that could deflect it slightly and put it on a new heading. Just for simplicity let’s assume these ”deflections” are normally distributed with a mean of zero and standard deviation of 1 °.

  2. Next, let’s also assume these little interactions only occur at the start of every foot, so if a putt is N feet long there are N independent instances where the ball may be deflected.

  3. Now all we need is a way to determine whether a simulated putt goes in. A standard golf hole is 4.25” , meaning if we start our putt aimed at the middle of the hole, we have 2.125” of forgiveness in either direction. Since we know our heading at any point, and we know we’re moving in 1 foot increments, we can calculate how far we move up or down in each step

Now it feels like we’re getting somewhere. The above assumptions offer a way to simulate a putt using nothing but some code and random number generation. If you’ll indulge me for just a moment, I’m going to make a few additional assumptions just to simplify things as we start:

  1. Putts are hit from the origin down the positive x-axis. It’s easiest for me to visualize putts this way.

  2. The ball reaches the hole after N steps. Technically the ball only moves cos(θ) feet with each step, where θ is our current direction of travel relative to the x-axis, but the angles are usually so small these steps are very close to 1 foot anyway. (I actually tested this and the ball is within 1 foot of the hole after N steps basically every time. This is ”close enough” in my opinion, and has an extremely small impact on the results).

  3. The person putting always hits their putt on their intended line, which is the correct line, with the correct speed (so the only way they would miss is due to random perturbations of their balls path due to the ground). Obviously this isn’t true, but for right now I just want to gauge the effect of the randomness.

  4. Putts are 100 feet in length. Nothing crazy here, I just don’t have data beyond 100 feet.

  5. 100,000 putts will be simulated for each foot (I think this should be enough to converge to the ”real” value).

I know these axioms might sound completely unrealistic (particularly 3 in this second list) but once again I want to emphasize that I just want to see where this takes us. We can build on this once we’re on some solid footing. That being said, let’s carry on and see what sort of results our simulation generates:

Comparison of model results (orange) and actual make probabilities (blue)

I’ll keep the language PG in case any children are reading, but rest assured I was very surprised when I saw these results for the first time. Now it’s far from perfect, but it feels like we’re barking up the right tree. Here is a table summarizing our results for the first five feet:

Table summarizing actual probabilities (ONE PUTT) with results from less than 5 feet from first simulation (cool simulation)

You’ll see that the model seems to overpredict on short putts by quite a bit. Interesting. Well clearly there is some work to be done. Let’s alter model to allow for slightly larger variance closer to the hole.

4 The Lumpy Donut

My friend Brad suggested this idea when I asked friends for help. Despite the absurd name for this concept, it’s actually quite logical. Golfers wear spiked shoes that indent greens, and virtually every golfer that plays a hole needs to walk near the hole to retrieve their ball once they’ve putted out. The result is spike marks tend to concentrate in a ”donut” between 1 and 6 feet from the hole, which I believe Dave Pelz coined ”the lumpy donut”. (If I’m not mistaken, nobody tends to step too close to the hole, so the ”lumpiness” begins at 1 foot.)

This is a fun idea, but I see no reason to limit the effect of spike marks to just a 6 foot circle. As we move further from the hole, there will be fewer spike marks, but they are still there and can deflect our putts. I think we should have a function that maximizes the effect of spike marks at 1 foot from the hole, and slowly diminishes their impact as we move further from the hole.

To try and build this function, let’s imagine the green is a gigantic bullseye, covered with concentric circles that are 1 foot thick all centered at the hole. Each golfer that plays a given hole will enter randomly from somewhere around the green and walk toward the hole on a roughly straight line taking a step every one foot. I recognize both of these are a little ridiculous, but I think it’s okay to make some simplifying assumptions when we’re really just reasoning about a candidate function. Anyway, if we have G golfers play in a given day, that means each ring in our bullseye will have G steps (i.e. spike marks) distributed throughout the ring. For the ring which starts at F feet and stretches to F + 1 feet, we have:

Gπ(F+1)2πF2=Gπ(2F+1)stepsft2 This seems to indicate that our spike mark density decreases proportional to 12F. I like this function too because it's largest at F = 1 (corresponding to the ring from 1 foot to 2 feet) and decreases from there. We'll add a 1 to it so it's sandwiched between 1 and 1.5, which we can use to modify our standard deviation as we get closer to the hole. Which reminds me, let's see if we can't find a nice expression for our variance as we get further from the hole.

5 A Physicists Favorite Approximation

Given the simulation we've described, I think it would behoove us to define a few variables. Note that N(μ,σ) refers to a normal distribution with mean μ and standard deviation σ (also recall that variance = σ2: θi=deflectionatstepi=N(0,1) Ψi=ij=1θj=angleballistravelingatstepi[1] Verticaldeviationafterksteps=H=ki=1sin(Ψi)[2] Note that by the convenient properties of normal variables, we have the following: Ψi=ij=1θj=ij=1N(0,1)=N(0,i) This feels like a step in the right direction, although a little googling tells me that sin of normally distributed variables is not exactly a well behaved distribution. Fret not though, because we have an old approximation that I think many physicists will be familiar with. sin(θ)θ[3] For small θ of course (and θ must be in radians). If we apply (3) to equation (2) and sprinkle in a dash of equation (1) we get: ki=1sin(Ψi)ki=1Ψi=ki=1ij=1θj=ki=1(ki+1)θi And if we remember our formulas for the sum of consecutive square numbers, we get the somewhat unexpected result: B=ki=1i2=(k)(k+1)(2k+1)6 ki=1sin(Ψi)N(0,B) Thankfully it turns out drawing from the above distribution exactly matched our simulation results from before, so I feel very good about that result (and the somewhat flippant approximations we made along the way).
Of course this doesn't include the function we derived in the previous section, although that's no worry. We can modify our standard devation by a factor of 12i as we get farther from the hole. Do take note though, our putt starts far and works toward the hole, so we need to multiply by 12(ki) as i increments larger toward k (the "foot" in question is nk+1, but recall we subtract 1 in our function definition): b(f)=12(f1)+1iff1,b(1)=1 variance(ki=1sin(Ψi))ki=1((ki+1)b(ki+1))2=Z ki=1sin(Ψi)N(0,Z) Once again with a few not unreasonable approximations we can derive a nice closed form for our final distribution. It's also important to note that since all of our θs up above are in degrees, we do need to convert them to radians for our final answer to make sense. I'll skip over the math though and get right to the perhaps not too surprising result: ki=1sin(Ψi)N(0,πZ180) And in case you're curious, this would give the final cumulative deviation in feet, not inches, so keep that in mind when comparing it to the size of the hole (I actually converted to inches which is simply a matter of multiplying the standard deviation by 12).

6 Results of Improved Model

I’ll cut right to the chase here and show the updated results in tabular form:

Updated Results in Tabular Form

As you can see now we're tracking with short putt probabilities pretty well. Maybe a little off from 3 feet if I'm being picky, but not enough cause for concern in my opinion. Here's what our update model model looks like from every distance:

Final Model predicted make probabilities (orange) compared to actual make probabilities (blue)

I’m a little bummed by the jaggedness of the blue line towards the end, but I’m satisfied with this result. The orange line tracks with the actual data quite well, and I bet you could tweak some of the parameters in the model to squeeze out a marginally better fit. I’ll leave it as is for right now though as we get ready to wrap up.

7 Additional Thoughts

So what does this mean? Have we solved putting? Absolutely not. Modeling can rarely "solve" anything, although it can help us understand it. That being said, I do feel pretty proud of this model, and it feels like a good foundation to build off of. After playing around with this I feel justified in my belief that there is an element of randomness in putting. ”But why does that matter?” you might ask. I guess it isn’t the strongest reason, but I think it would be valuable for a golfer (particularly a pro) to know if there was some theoretical maximum make percentage from a given distance. If nothing else, it could certainly help temper your expectations on the greens when playing (no matter how good you are, I think it’s virtually impossible to make all putts of 4 feet in length, so you just have to accept that you’ll miss some).

Also for what it’s worth, I just looked it up and there seems to be a lot more churn in the leaders in the ”strokes gained: putting” statistics between years than the ”strokes gained: tee to green” statistics. Names like Dustin Johnson, Rory McIlroy, Justin Thomas, and Jon Rahm are mainstays in the top ten of the tee to green categories going back many years (and are easily among the most recognizable names in the game today), whereas there is almost a completely different top ten for putting each year. (Denny McCarthy did lead the putting category two years in a row (2019 and 2020) but he dropped to 22nd in 2021.) Players famous for their long game seem to be able to keep themselves in the top ten much easier than those famous for putting ability. Interesting...

And although I’ve glossed over it somewhat for now, this will not be the last mention of strokes gained statistics. They effectively launched the moneyball era of golf and provide great insight into players’ abilities compared to their peers. It’s a bit of a longer term goal, but I’d like to see if I could extend some of the ideas in this write-up and work up to a strokes gained: putting model. I don’t want to give too much away, but I am wondering if there is a practical upper limit on a player’s strokes gained: putting statistic over the course of a season, and what kind of difference it makes to tweak putting ability by even a little bit. Which reminds me...

8 Wrapping Up

I suppose there is one last flyintheointment that needs to be addressed: the above model doesn’t account for difference in skill level between golfers. This might seem like a pretty big omission, but for the time being it is intentional. For what it’s worth I have an idea for how to include this and I think my idea is pretty simple: allow for variance in the first angle θ1 to be different from all other angles in the model based on the skill level of the golfer. It would still have mean zero, but stronger putters would have a smaller variance due to a better putting stroke and being better at reading putts. I’ve played around with this idea, but I don’t have the data to effectively measure whether or not this accurately models playing ability, so sadly I’ll have to save that analysis for a rainy day.

Anywho, I’m hoping that this will be the first of many posts on golf and data. In addition to the previously mentioned areas of further inquiry, here are a few additional areas I’d like to explore further:

  1. How does standard deviation of our deflections change between grass types? Poa Annua grass is famously bumpy (and kind of an eyesore if I’m being honest) and I bet it deflects the ball way more than other grasses. I would love to see how the make percentage curve changes for different grass types.

  2. Can we build a similar model for two putting and three putting, and derive a formula for strokes gained? I think we would need some idea of how frequently golfers were hitting putts of each length, but I still feel like there might be something worth looking into here. Bonus Points because my dataset contains two putt and three putt percentages so I will likely dig into this soon. (Just a hunch, but I’m guessing strokes gained over the course of a season is almost entirely determined by quality of putts less than ten feet.)

Anyway that’s all for now. For those looking for the answer to learn more about the shape of the curve please stick around as I was pretty pleased with the result of this section. It’s much more math heavy, but I really do think it’s interesting.

Appendix: But Why the Shape of the Curve?

For those of you who are curious as to why the curve looks how it does, I’ve got a good grasp on why it happens mathematically. Also note that I specifically mean within the context of this model. I tried a number of other models that generated fairly similar results and offered a more intuitive explanation, but they weren't a good as this model. I’m still struggling as to how this mathematical truth translates to something more tangible in the real world, but I figure it’s still interesting to see the math that proves it.

To begin, let's recall our final distribution from above: b(f)=12(f1)+1iff1,b(1)=1 variance(ki=1sin(Ψi))ki=1((ki+1)b(ki+1))2=Z ki=1sin(Ψi)N(0,Z) Now it's even though it looks like we're summing up a bunch of angles, this is our distribution of verticaldeviation measured in feet. Let's take this opportunity to convert this to inches and convert angles to radians, resulting in the slightly modified version, and formally name our variable: H=ki=1sin(Ψi)N(0,12πZ180)=N(0,πZ15) It's important to remember though that our standard deviation, σ, varies as we get further from the hole though, and H is dependent on this. We will use σ(F) to denote our standard deviation at F feet and Hσ(F) to denote the particular random distribution when we are F feet from the hole. Note that model is effectively determining the probability that a normal distributed variable falls between two fixed critical values with a variance that changes as we get further from the hole. Recalling that we can deviate up to 2.125" and still make our putt, we have: P(MakeputtfromFfeet)=P(|Hσ(F)|<2.125) The keen reader will notice that this means that we can treat our probability to make a putt from a given distance as a function of σ, which admittedly is a little awkward to visualize. To help see this, consider the two normal curves in the figure below:

Normal distributions with differing standard deviations and different area between critical values

The blue curve has a smaller standard deviation, and I hope it's apparent that a much larger portion of the distribution falls between the two red lines. As it turns out, this notion of "a lot of area going outside the vertical lines as σ grows" is exactly what we're interested in. Let's press on.
Pursuant to the problem outlined above, let's define a function ,f(σ), which is the probability a normally distributed variable Q with mean 0 and standard deviation σ falls between some given critical values ±c. Let us also define a few quick things that will prove important shortly: ϕ(x)=12πex22=pdfofstandardnormaldistribution Φ(x)=xϕ(x)dx=cdfofstandardnormaldistribution Φ(x)=ϕ(x) Shoutout to the much less used second fundamental theorem of calculus for that third relationship. Anyway, based on properties of normal distributions, we have the following: f(σ)=P(|Q|<c)=Φ(cσ)Φ(cσ)=2Φ(cσ)1 We ultimately want to understand why there seems to be an inflection point, so let's start taking some derivatives. If we use the chain rule we get: f(σ)=2ϕ(cσ)cσ2=c2π(σ2ec22σ2) Sadly it's starting to get messy and we still have one more derivative to take. I've pulled the constant terms out front just to keep them from dirtying up the important parts of the function, but things are about to get pretty rough. This is the appendix though so let's dive in: f(σ)=c2π(2σ3ec22σ2+1σ2c222σ3)=cec22σ2σ32π(c2σ22) On the surface this thing looks like an absolute nightmare, but everything outside the parentheses is always negative, meaning the simple expression inside is what will determine our concavity (and where our inflection point is). Behold: (c2σ22)=0σ=c2 According to this, the concavity changes when the standard deviation is equal to the critical value divided by 2. Interesting. If we apply this to our function, we have: σ(F)=2.12521.5 Based on our definition from earlier, we see that σ(4)<1.5<σ(5) Indicating our inflection point is somewhere between 4 and 5 feet. Our standard deviation function isn't defined for non integers so we can't determine the exact value, but check out the data for made probability from 1 to 10 feet:

I've highlighted the 4-5 foot range in red for visibility, and I think it's very obvious that the inflection point falls within that range. Needless to say I'm very excited about this result. Based on our model, it looks like our inflection point is determined by the size of the hole. Not the most surprising result I guess, although I do think it's cool that we can calculate the exact foot where the inflection point is using our model.

I'd also like to point out that this seems to imply that any process that might be governed by a normal distribution (which is actually lot of things thanks to the central limit theorem) and fixed critical values should exhibit similar behavior. In fact now that I think about it, a lot of sports phenomena should behave like this. Three that come to mind are kicking field goals, shooting a basketball, and scoring goals in soccer. Those last two are probably a little more complicated given the effects different angle might have, but who knows, I bet we could learn something interesting if we investigate them.

Next
Next

Sublinear Algorithms and Coprimality