Andy Rowlinson
numberstorm.bsky.social
Andy Rowlinson
@numberstorm.bsky.social
Data insights and creator of mplsoccer, a Python library for football viz.
I released an update to mplsoccer that should make it easier to add other sports.
October 26, 2025 at 9:15 PM
I can confirm this works and looks ace. I may be able to finally release a Statsbomb football data parser with no dependencies apart from duckdb.
We've open sourced QuackStore - a block-based caching extension for DuckDB! 🦆

QuackStore dramatically speeds up queries on remote data by intelligently caching only the blocks you need.

Now available as a DuckDB community extension: github.com/coginiti-dev...
GitHub - coginiti-dev/QuackStore
Contribute to coginiti-dev/QuackStore development by creating an account on GitHub.
github.com
October 8, 2025 at 6:36 PM
Reposted by Andy Rowlinson
We've open sourced QuackStore - a block-based caching extension for DuckDB! 🦆

QuackStore dramatically speeds up queries on remote data by intelligently caching only the blocks you need.

Now available as a DuckDB community extension: github.com/coginiti-dev...
GitHub - coginiti-dev/QuackStore
Contribute to coginiti-dev/QuackStore development by creating an account on GitHub.
github.com
October 8, 2025 at 3:32 AM
Has anyone got any good examples where they've used AI in data work? #databs
“Is 90% of code going to be written by AI? I don’t know. What I do know is, that for me, on this project, the answer is already yes.” lucumr.pocoo.org/2025/9/29/90...
90%
AI is writing 90% of the code I was in charge of
lucumr.pocoo.org
September 29, 2025 at 5:36 PM
I herby restart my campaign for my modest proposal to reduce the size of the penalty area to 30m wide. It might be more palatable to fans than Ted's arc from this pod.
September 17, 2025 at 6:25 PM
Reposted by Andy Rowlinson
Dev and deploy require of diff skills. @getdbt.com bridges the gap for #data pipelines, but what about MLOps?

I explored how @posit.co {orbital} + dbt delivers "good enough" zero-infra MLOps for batch model scoring in database from python or #rstats models

www.emilyriederer.com/post/orbital...

1/
MLOrbs?: MLOps in the database with orbital and dbt | Emily Riederer
Playing with the potential, perils, and design principles of deploying ML models into the analytical database using orbital’s sklearn-to-sql translation, sqlglot, and dbt
www.emilyriederer.com
August 16, 2025 at 3:21 PM
Reposted by Andy Rowlinson
I have finally published my post about Moneyball, as promised (a long time ago). If you're interested in baseball, numbers, or movies, please take a look. I'd love to know what you think.

cc @matsonj.com @alexnoonan.bsky.social

djpardis.medium.com/revisiting-m...
Revisiting Moneyball
Data, sports, payrolls, and memes
djpardis.medium.com
July 24, 2025 at 4:58 PM
Wild. Need to try this!
orbital is such a cool idea — convert your tidymodels or (now) scikit learn model predictions to SQL so you can run them in the database
posit.co Posit @posit.co · Jul 14
Announcing Orbital for Python! For Scikit-learn users, this tool transforms your ML pipelines into SQL queries, letting predictions run directly in your database without a #Python environment.

Learn more: posit.co/blog/introdu...
July 14, 2025 at 2:57 PM
🚀 mplsoccer 1.5.1 released

@dmitry.mclachbot.com adds the capability to use custom slice labels in the pizza charts
July 10, 2025 at 4:54 PM
Reposted by Andy Rowlinson
🌀 𝐄𝐅𝐏𝐈: 𝐄𝐥𝐚𝐬𝐭𝐢𝐜 𝐅𝐨𝐫𝐦𝐚𝐭𝐢𝐨𝐧 𝐚𝐧𝐝 𝐏𝐨𝐬𝐢𝐭𝐢𝐨𝐧 𝐈𝐝𝐞𝐧𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧

⚽ The newest release of the 𝒖𝒏𝒓𝒂𝒗𝒆𝒍𝒔𝒑𝒐𝒓𝒕𝒔 Python package (v1.1.0) now includes the functionality of my latest research paper.

🔗https://tinyurl.com/unravel-efpi
July 7, 2025 at 12:08 PM
Tried this out on mplsoccer. Definitely impressive

deepwiki.com/andrewRowlin...

But , I think the generated docs are more interesting for someone looking to contribute to the codebase, rather than users.
June 22, 2025 at 5:30 PM
🚀 @unravelsports.com added some new formations to mplsoccer for his formation detection work. Hopefully will see some results some day.
June 13, 2025 at 6:21 PM
@unravelsports.com just seen your PR today. Of course adding extra formations is helpful and happy to add it in. I'll try and look at it soon 🙏
June 12, 2025 at 9:23 AM
Yamal is so good he pretty much broke my axes when I looked at young attacking outliers. Streets ahead.
May 1, 2025 at 2:59 PM
It's early days, but seeing if I can adapt mplsoccer to other sports
April 24, 2025 at 8:22 PM
I have successfully switched mplsoccer docs to install via uv rather than conda. It took a while to fix some install problems with lxml. I think Conda still wins is installing the complex C dependencies in some data science projects (e.g. PyMc), but worked around it here with apt install.
April 22, 2025 at 11:31 AM
The margins between winning the Premier League and being runner up are incredibly tight, just seven points separates the teams on average.
April 17, 2025 at 3:08 PM
If learning from survey data, how do you feed in the non-response weights? #databs
March 27, 2025 at 5:47 AM
Musing about the dark patterns you could build into a stadium design to cement home advantage

1/ screens showing the opposition making mistakes or missing penalties around their dressing room
March 18, 2025 at 12:47 PM
Reposted by Andy Rowlinson
🔥🎉New library: boosting for survival analysis, including multiclass (competing risks)

Survival = missing outcomes because limited observation window (common in medicine, marketting...)

soda-inria.github.io/hazardous

Gives very fast boosted-trees for survival
March 10, 2025 at 2:25 PM
uv init
February 21, 2025 at 2:22 PM
Reposted by Andy Rowlinson
🚀 Great to see this improved data structure! Glad we could be of some help with this.

Thanks @pff-fc.bsky.social!
We’ve restructured our 2022 Men's World Cup dataset.

To streamline analysis and improve usability, we split event data by game and organized metadata and rosters into separate subfolders, each corresponding to a single game.

Download for free ⬇️

www.blog.fc.pff.com/blog/enhance...
Get Free Access to Our Enhanced 2022 World Cup Dataset! — PFF FC BLOG
Unlock the secrets of the 2022 FIFA World Cup with our in-depth dataset! Featuring broadcast tracking, event data, and advanced play-by-play performance grades, this resource is perfect for football e...
www.blog.fc.pff.com
February 13, 2025 at 3:07 PM
👏streamlit-soccer will solve some things mplsoccer isn't great at like animations and interactivity.
I built 𝘀𝘁𝗿𝗲𝗮𝗺𝗹𝗶𝘁-𝘀𝗼𝗰𝗰𝗲𝗿, a custom React component for Streamlit for working with soccer tracking data.

And a blog post on 𝗕𝗶𝗴 𝗗𝗮𝘁𝗮, 𝗧𝗶𝗻𝘆 𝗧𝗲𝗮𝗺𝘀
Big Data, Tiny Teams
Introducing streamlit-soccer and some thoughts on team tools
www.centralwinger.com
January 13, 2025 at 5:29 PM
New blog on booting it long.
January 7, 2025 at 7:59 AM
Set pieces seem to be hot at the moment 🔥 so I decided to investigate whether lumping it long into touch is a good ⚽️ strategy

andrewrowlinson.github.io/blog/footbal...
Kicking For Touch – numberstorm blog
Is kicking for touch a viable football (soccer) strategy?
andrewrowlinson.github.io
January 6, 2025 at 9:25 PM