FORE! Splunking my Swing

So I went to the golf range last night. It was an indoor range just a few blocks from Splunk HQ called Eagle Club Indoor Golf. They are using stereoscopic camera systems that precisely capture and analyze ball flight. Checkout their place in the virtual tour below.

Naturally, I asked if I could get a copy of the raw data. After an eyebrow raise they said “Sure”. They emailed me a CSV file that looks like below:

Club, Club Head Speed, Ball Speed, Launch Angle, Azimuth, Side Spin, Back Spin, Total Spin, Descent Angle, Carry, Total Distance, Offline, Peak Height, Vert Path, Horiz Path, Face to Path, Face to Target, Lie, Loft, Horiz Impact, Vert Impact,
Driver, 109.7, 159.1, 4.3, -2.6, -1665, 1437, 2200, 7, 151.42, 236.22, -59.91, 3.80, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A,
Driver, 108.6, 157.5, 2.8, 1.5, -1403, 1989, 2435, 8, 169.24, 240.67, -40.62, 3.71, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A,
Driver, 103.2, 149.6, 7.9, 5.4, -532, 1719, 1800, 19, 226.46, 270.16, -3.12, 13.34, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A,

To bring the data in I simply clicked “Add Data” and selected the file.

Screen Shot 2015-06-03 at 3.15.37 PM

Since the type of data is csv I set the sourcetype to CSV. This allowed Splunk to understand the meaning of the data by reading the header.

Screen Shot 2015-06-03 at 3.15.08 PM

Now all the data is available to search and report on and all the fields are available on the left hand side. For example, you can see the clubs I hit and how many times. Soon you will find out why I hit the driver more than any other club.

Screen Shot 2015-06-03 at 3.18.11 PM

To see my average distance by club I ran the following search:
source="golf_nate6215.CSV" | stats avg("Total Distance") as Distance by Club | sort Distance

Which produced a simple visualization:

Screen Shot 2015-06-03 at 3.20.43 PM

After saving this to a dashboard I decided to create a dashboard that would allow me to analyze my results better. For the report at the top of the dashboard I wanted to be able to select any clubs, report on any metric, and overlay any other metric to better correlate. The bottom left report tells me how far left or right I missed, and as you might have gathered I have a pretty bad hook going on with my driver, hence the reason I hit it so many more times. In the bottom right you can see all of my shots. The X-axis is the distance, the Y-axis is how far left or right I missed, the color is the club I used, and the size of the bubble is the club head speed. The big green circle in the bottom right means I swung hard with the driver but didn’t go far and sliced right. AKA a “duff”. This dashboard was created entirely in the GUI, I didn’t have to touch any XML, HTML, or javascript.

Screen Shot 2015-06-03 at 4.01.37 PM

Bringing in the data and building these reports took about 15 minutes including pausing to get some coffee. I’ll be sure to keep analyzing my practice sessions to measure any improvement. As you can see with my drives, I can use some help. Which is why I’ve attached my data set and the dashboard. Feel free to download and improve my dashboard, tell me what’s wrong with my swing, or share your own data!


Nate McKervey,
Director of Technical Product Marketing
Splunk Inc.

Very cool use of raw data from the virtual range! You are obviously not a beginner based on your length of drive and the grouping of your 7 iron shots. The data reflects a hook which as you know is caused by imparting a counterclockwise spin on the ball at impact. You may want to imagine a clock face surrounding the ball prior to takeaway with 12 o’clock being your target line. Your goal should be to cause your swing path to enter the clock face prior to contact at 7 o’clock and exit the clock face after impact at 1 o’clock. Basically imagine hitting the ball just slightly to the right of where you are aiming and you should turn that hook into a respectable draw. Good luck!

Ross Armstrong
June 4, 2015

Thanks Ross. Yeah, I’ve been playing for a while and my 7-iron is my best club with an ideal amount of draw. I’ll try to go back tonight, drop my right elbow, enter at 7 o’clock and exit at 1 o’clock (the swing, not the range ;). Thanks for the advice!

Nate McKervey
June 4, 2015

Awesome work Nate! I wish I had this when I ran my own indoor golf centre in Hong Kong going back a few years ago. Were they using AboutGolf Sims?

I should start Splunking my data collected from my Garmin S6 watch too!

Andy Ho
June 8, 2015

Wow! The average PGA Tour pro hits a 5- iron 194 yards. Either the swing analysis systems needs better calibration, or you’re ready for the Tour!

john Zeisler
June 16, 2015

I can hit it far, but straight and consistent is what it takes to be on the Tour, which I am far from :)

Nate McKervey
June 17, 2015

It seems be a typo at sourcetype in your XML sample file.

source=”golf_nate6215.CSV” Club!=Average | table Club,Offline,”Total Distance”,”Club Head Speed”


sourcetype=”golf_nate6215.CSV” Club!=Average | table Club,Offline,”Total Distance”,”Club Head Speed”

our Splunk team love Golf bar near our office!

June 24, 2015

What a great article – really interesting to see Splunk being used on something non technology focused which people can relate to.

Robert Tunstall
July 2, 2015

One Trackback

  1. […] recently posted a blog about Splunking my golf swing and afterwards a co-worker asked if I could Splunk the NBA finals. He gave me some data and while […]