Learn to Code with Baseball

Python. Pandas. Web Scraping. Databases. SQL. Machine Learning. APIs.

All applied to Baseball

Learn Python & Data Science Fundamentals with Baseball

Learning to code isn't hard, there's just a learning curve. That's why the most important thing is starting with a project you're excited about.

This book will take you from playing around with stats in Excel to scraping websites, building databases and running your own machine learning models.

Ready to buy now?30 day money back guarantee!

“This book was really, really well done.”

Bill Connelly

Learn How to Do Your Own Baseball Analysis in Python

You'll learn — step by step and applied to baseball — how to program your own analysis. You'll also learn how to make plots like these 👇:

pitch speed by typespeed vs spin ratepitches by inningrun distribution

☝️ with 2 lines of code!

“Amazingly awesome... the way the learning is framed here is 10x what you'll get someplace else.”


What People Are Saying

About this and the related football, basketball, soccer and hockey versions —

"The book here was really, really well done..."

— Bill Connelly, ESPN

"This is amazingly awesome. I’ve recently slowly crept into data science driven by a pet passion for fantasy sport analytics. ...the way the learning is framed here is 10x what you’ll get someplace else."

— u/Nick58

"...probably the best / most complete Pandas walk through I've seen."

— Bill S

"I really loved your book. You did an amazing job on it. ... I've been trying to get my son more into programming, and your book has been perfect... really clicked for him."

— John M

"...really helpful and a fun way to learn."

— Brian D

"...picked up more, and at a better pace, using this than a lot of the free online tools I’d been trying the past few months.

— Ryan P

"Love the book... My python has come a very long way thanks to you."

— u/TomatoHead7

"I have always wanted to learn a language but always seemed to get discouraged by the 'Hello World' chapters that were never ending. I like that your book cuts out the riff raff and teaches the important things! I'm flying through the book and feel like I'm learning a ton! Best wishes from a satisfied customer"

— Jason K

"I have tons of coding books. Yours is a favorite"

— Craig M

"Dear Nate, I'd like to thank you for a brilliant book. ... It's distilled, without extra and unnecessary... info and challenging at the same time. I'm writing you just to thank you."

— Murat S

"Loving this so far!"

— Steve S

"...so helpful and enjoyable."

— Ryan C

"...exactly the course I was looking for a long time! :)"

— Marco C

"I really like your approach to teaching data science! I usually work with... R, and your book is one of the resources I'm using to teach myself Python... So far it's the best one!"

— Hanwei S

"Been loving your book so far, it progresses at a great pace and has easily been the best mode I've used to understand coding. I'm excited to learn more, thank you for creating this book that's allowing me to have fun learning again, it's been ages."

— Kevin B

"...absolutely superb... definitely understand the acclamation"

— Jaeho Y

"Fantastic... literally feels like it was written for me!"

— u/MurrayInBocaRaton

"You're an absolute legend!"

— Durand S

"I am enjoying refreshing my Python knowledge with your book very much."

— Dan V

"I am going through your book right now... and I love it!

— Cinoon B

"...much more engaging for me personally because it’s info I’m interested in. I’ve taken automate the boring stuff, python for finance, etc and while those courses are great.. I seem to be understanding it better because its about a subject I like."

— u/financenstuff

"The book is great!"

— Steffen L

"... helped me way more than my grad school class did."

— Glen I

"Thank you Nathan ... You ARE an amazing teacher!"

— Urshita G

"Can I just say that is the simplest and best explanation I have ever seen... Awesome!!"

— Stu T

"I was amazed by how you broke down complicated concepts and made them easier to understand."

— Ryan C

“I was amazed by how you broke down complicated concepts and made them easier to understand.”


Get Learn to Code with Baseball


Includes book, datasets, example scripts, end of chapter problems with full solutions, and flashcards.

  • The 300+ page book in PDF format

  • 300+ spaced repetition flash cards

  • 23 example scripts, 10 datasets

  • 100+ practice problems with full solutions

  • lifetime updates

30 day money back guarantee!

30 Day Money Back Guarantee

Try it! If you're not satisified, contact me within 30 days and I'll refund you the purchase price.

“I've taken automate the boring stuff, python for finance, etc and while those course are great... I seem to be understanding it better because its about a subject I like.”


Frequently Asked Questions

Do I need any coding experience?

No! Many people have gone through it with zero coding experience and done just fine.

That said, it does move fast and build on itself, so if you're new you might just have to take it slower and make sure you understand each section before continuing. It includes end-of-chapter problems and exercises that you can use to do that, so it's not hard.

Do I need any special software?

We'll learn Python, which is a free, open-source program. Detailed installation instructions are included.

The book includes some optional spaced repetition flashcards to help you remember what you've learned. The official iPhone app to use these costs $25 (it's free on Android). It's worth it IMO, but I describe workarounds if you don't want to pay this.

Can I give this as a gift?

Yes! Go here. You'll be able to enter the recipient's name, email, and when you want the book sent (stroke of midnight, Christmas eve).

Is this book good for kids?

Yes, I've heard of kids as young as 12 working through and liking the book. It doesn't require any prior knowledge, and I explain even relatively simple concepts like "data". That said, it does builds on itself and moves pretty quickly. In general, if you have a smart kid who is into sports, it's not only doable, but fun.

Not sure which sport to get — is there a deal if I buy more than one?

Besides baseball, I also have football, basketball, soccer and hockey versions.

They all teach the same, general purpose data and analysis concepts. For most people, reading just one will be fine. That said, there are some differences, particularly around the where to get data and API chapters.

Additional sports are 50% off. You can find more info and purchase multiple books here.

Can I expense this for work?

Probably! Many people have.

Although you'll learn all these concepts (Python, SQL, data manipulation, visualization, and modeling) via baseball, you'll 100% be able to apply these concepts to other areas, including your day job.

This is exactly what I did. I taught myself to code by playing around with fantasy football stats on nights and weekends. Then I used that — without going to school or a bootcamp — to get multiple data science jobs in non-sports fields.

Company/multi license discounts are available too. Email me and I'm happy to help.

Do you offer a physical book?

At the moment the book is only available in an electronic format. This is primarily for two reasons:

  1. It lets me keep it updated. Lifetime updates are included with purchase.
  2. It is meant to be coded along with. Ideally, you would have it up in one monitor and your Python setup on another.

That said, I might make a physical version someday. And I have had some readers take it to a print shop and have them print it out and bind it.

Where do I get the files?

See the prerequisites section of the book. But they're at:

Does this include updates? How do I get them?

Yes! The book includes lifetime updates. If I update the book — whether it's to fix a typo, make a section clearer or because something changed with one of the libraries — I upload the newest version to SendOwl, and reset everyone's number of downloads.

If it's a significant change (e.g. a library has changed or I fixed something that was broken) I'll send an email about it. If it's just a typo, I usually don't in order to avoid clogging email inboxes.

You can follow along with all the changes on GitHub. If you bought the book a while ago and are picking it up, it's a good a idea grab the newest version.

I want to copy/make notes on the text, but it's asking for a password.

The site I use to everything send everything out (SendOwl) password protects it automatically. I've asked them about it but they said it's random and not even they know it.

Me + some readers have figured out a way around it, it just involves some manual work — if it's a problem email me and I'm happy to help.

“I wouldn't be where I'm at with the Python language today without this to book to kick start things.”


What will you learn?

Python — This flexible language is the foundation of everything from data munging to web scraping to machine learning. You'll also learn about its key data library Pandas, the modeling and machine learning libraries statsmodels and scikit-learn, and how to do data visualizations with seaborn.

Web Scraping and APIs — Next time you run across a site with data you'd like to analyze you'll know how to grab data via its public API if it's available, or build a web scraper to get it yourself if it's not.

Machine Learning and Statistics — You'll learn the difference between a regression and a random forest, and will know when and how to build both.

Databases and SQL — Build your own database — whether it's for player statistics, to keep track of opponent tenancies, etc — and use SQL to get data in and out of it.

All in the context of baseball and designed so you can learn how to apply them to your own questions and do your own analysis.

About the author


Hi! My name is Nate and I'm a self-taught programmer and data scientist based in Milwaukee, WI.

A few years ago, I didn't know anything about Python, SQL, machine learning, web scraping or any of the other topics covered here.

So, I taught myself. It took a few years and I ran into a lot of dead ends along the way, but ultimately I figured it out. In this book, I distill everything I've learned to provide a step-by-step guide to doing baseball analytics and get you up and running as quickly as possible.

More of What People Are Saying

"I can't tell you how many times I've tried to get into programming and gave up because it was so dry. This has been such a nice change of pace and I'm loving it."

— Paval M

"I just bought your book and have to say I enjoy it immensely so far."

— Tim Y

"...exactly what I needed to finally get past tutorial hell and apply Python to something I love."

— Philip D

"it's been great refreshers for basic Python... I appreciate the Anki cards ... they're helping cement the terminology..."

— u/michaelmanieri

"...it helped me tremendously ... I wouldn't be where I'm at with the Python language today without this book to kick start things."

— u/F1rstxLas7

"...very engaging so far compared to some of the other online resources I've tried to pick this up with."

— Tim M

"...could not be more satisfied with the content. ...it has been great to work through your in-depth examples learning new skills. I had a previous interest in this sort of analysis and have had intermediate programming experience, but never could tie the two together."

— Owen B

"Incredible work! Bought it right away. Only 3 chapters in and this book is already better than expected. Worth every penny. Thank you!"

— u/TheMotizzle

"...recently bought Learn to Code with Baseball and am thoroughly enjoying it and learning some new things along the way..."

— Lennart R

"It is really cool and I enjoy learning Python with it..."

— Phillipp K

"...an excellent resource. I like your writing style and the projects are fun and make it easy to learn."

— James H

"I’ve been greatly enjoying the content so far!"

— Monica S

"Love the book..."

— Christiaan B

"One of my friends started on his coding for fantasy football journey using your book and he loves it..."

— Nick W

"...the book is very well structured and easy to follow... I found it very helpful!"

— Xiaolu Z

"...very informative and good intro to coding. Additionally, [Nate] would answer any questions I emailed him within 24 hours. Excellent customer service and pushed new editions to everyone who had already paid. I really appreciate [Nate]’s commitment to his product."

— u/ledsdeadbaby

"I spent a few minutes going through the charting examples... I really REALLY enjoyed it."

— Lukas R

"I've been fascinated by sports and statistics from a young age... throughout my college career... no professor was able to get me excited about a subject matter like the first 20 pages of [LTCWFF]..."

— Daniel O

"...loving it so far. I do not know if it's because I love basketball, you make it so simple to learn, how you approach teaching, or some combination of attributes... will probably be the reason I learn to code"

— Sina K

"...your book is great. It's exactly what I needed to motivate me to push through..."

— Matt O

"...can definitely recommend it. It's so much easier learning coding with a subject that is familiar and one is passionate about. Thank you!"

— u/scrabas

"...very well put together. I've been needing a good excuse to strengthen my pandas and python skills and this looks like the perfect catalyst for me."

— Erik W

"Its been a great intro into the world of analytics for me."

— Carson S

"First, I'd just like to say how much I love the book and truly appreciate that something like this exists... I have been working through a variety of materials (e.g. online courses etc) to try and build my Python skills and get more into the ... field, and this has been tremendously helpful."

— Nick C

"I have purchased and started reading your book, it is amazing. I am a beginner in Python and your book is truly... fun."

— Xavier L

"...the book is great! I've been looking for some learning materials for data analysis with the NBA and I'm really enjoying it so far."

— Eli S

"I bought LTCWFF and love it!"

— Todd B

"The course is going well. I like how you bring out patterns in the commands, ... Makes it so much easier."

— Glenn M

"Gotta say, this is the most brilliant idea. ... Congrats on the absolutely awesome product."

— Lee C

"P.S. Huge fan of the books! Such a great and engaging way to practice analytics with a variety of methods on fun subject matters! "

— Joey P

"I’m flying through your book and loving every bit of it so far. The way you lay everything out is incredibly intuitive and easy to follow."

— Charlie P

"I really loved it!"

— John C

"The only Python course that's kept me engaged from beginning to end."

— Michael G