Andy Rowlinson
@numberstorm
Data insights and creator of mplsoccer, a Python library for football viz.
Yay finally have some firepower to tackle some new features for mplsoccer. Thank you @anthropic.com
Do I feel great that I chose Cherki for this blog. Yes, yes, I do 😆
More please 🤩. I just finished my first t-shirt yesterday (first time sewing). I always wanted a longer body section than you can get in the shops.
I actually want to make a vertical pitch (see picture) where all the numbers (50, 40, 30, 20, 10) are aligned. In theory, each digit (5, 0 etc.) should fit exactly in a box of a certain size. This is tricky in matplotlib as the text is defined in points. It also needs to work for different figsize.
I started working on this today. I found this is the claude docs and changed it for working with Snowflake. I started with working with one table only. I hooked up my custom python connector and tried a basic query to explain annual flight patterns. Something I already put as an example in the skill
I have a library for doing this quite nicely in Python, it's a sport library but I may split it off one day. mplsoccer.readthedocs.io/en/latest/ga...
Do you have different models you are trying compare? If you can get more than one metric, I would use a radar. I found this one for RAG from www.deepset.ai/blog/generat...
The chance of scoring from these wide areas of the penalty area from any action is ridiculous low
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.
🚀 mplsoccer 1.5.1 released @dmitry.mclachbot.com adds the capability to use custom slice labels in the pizza charts
🚀 @unravelsports.com added some new formations to mplsoccer for his formation detection work. Hopefully will see some results some day.
I've turned off AI from Spotify. I didn't like it that when you'd listen to a specific artist that it wander off to other music after like 10+ songs.
July 2021 and I remember trying to write this about 6-12 months earlier 🤣
Yamal is so good he pretty much broke my axes when I looked at young attacking outliers. Streets ahead.
It's early days, but seeing if I can adapt mplsoccer to other sports
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.
✅ +2 points: win at all costs against the relegation fodder (17th-20th place). At most only allow one draw in these games. Arsenal have lost at home to the currently 17th placed West Ham.
❇️ +3 points: do not lose at home to the European Contenders (6-10th place). Incredibly the eventual champions have only lost 2 of these home games in the last fifteen years. The eventual champions tend to turn these games into wins. Arsenal have 2 home draws against Villa (7th) and Brighton (10th).
So how do Arsenal get over the line next season and pick up those extra points? 🟢 +2 points: pick up at least seven points against your two nearest title contenders. So far Arsenal have gained just 1 of the 6 points available against Newcastle and Liverpool.
The margins between winning the Premier League and being runner up are incredibly tight, just seven points separates the teams on average.
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
Looks like you need some Indian and Arfican representation.... mplsoccer use over the last 12 months.
Found this paper today: How training on multiple time slices improves performance in churn prediction. They used some fancy cross validation, but I think the main principle was concatenating multiple time slices to improve how well the model generalised.
While you often take the next shot if you lump it out into touch, it's negated by the risk of higher quality counter attacks so it ends up being a neutral strategy.