Sign in

Peter McKeever

@petermckeever.bsky.social
2K followers 305 following 62 posts

Senior Data Viz Developer @optaanalyst.optajoe.com. I draw things with code. 👨🏻‍💻. react/svelte + d3 💚. 🇮🇪➡️🇩🇪. Dad²

PostsRepliesMedia
Reposted by Peter McKeever
Opta Analyst @optaanalyst.optajoe.com · 16/07/2026
What does it take to score in a World Cup final? Armed with detailed Opta data, we have produced an interactive goal map of every men's World Cup final goal since (and including) 1966. Interactive by @petermckeever.bsky.social Words by @davidsegar.bsky.social theanalyst.com/articles/wor...
theanalyst.com
Interactive: What Does It Take to Score a Goal in a World Cup Final? | Opta Analyst
We look back at every goal scored in a men’s World Cup final to see what it takes to score in football's biggest game.
042
Reposted by Peter McKeever
Andy Kirk @visualisingdata.com · 26/06/2026
People of Bluesky, may I present to you 'The Seinfeld Chronicles: Digital Edition' seinfeld.visualisingdata.com
seinfeld.visualisingdata.com
The Seinfeld Chronicles
The Seinfeld Chronicles digital edition visually and sonically presents an entirely unnecessary data-driven exploration of every episode of Seinfeld.
33711
Peter McKeever @petermckeever.bsky.social · 02/06/2026
New interactive World Cup #dataviz piece with @rbenson92.bsky.social for @optaanalyst.optajoe.com Let's gooooooooo theanalyst.com/articles/wor...
theanalyst.com
History of the FIFA World Cup: Journey Through Time With the Opta Analyst Interactive Atlas | Opta Analyst
With the 2026 FIFA World Cup just around the corner, brush up on your tournament history (and geography) with our interactive World Cup Atlas. Map fans, unite!
083
Peter McKeever @petermckeever.bsky.social · 18/02/2026
Cheers Andrew!
030
Peter McKeever @petermckeever.bsky.social · 18/02/2026
Just pushed an update on this for some nicer interactions on the team selector. Bbrrrrrrrrr
020
Peter McKeever @petermckeever.bsky.social · 18/02/2026
Been a long time since I’ve worked on some #dataviz for the site. A small scrolly for a piece by @alitweedale.bsky.social 🛩️
1185
Reposted by Peter McKeever
Opta Analyst @optaanalyst.optajoe.com · 28/01/2026
UEFA Champions League: Live Table 📈 This table updates live, showing each team’s probability of finishing in the top eight, reaching the knockout play-offs, and being eliminated. It also shows the potential opponents each team could face in the next round. theanalyst.com/articles/cha...
theanalyst.com
UEFA Champions League Live Table and Predicted Knockout Opponents | Opta Analyst
Track the chaos of the final round of 2025-26 league-phase fixtures with our live Champions League table and data-powered predictions.
0122
Peter McKeever @petermckeever.bsky.social · 28/01/2026
Let's gooooo theanalyst.com/articles/cha...
0254
Peter McKeever @petermckeever.bsky.social · 21/05/2025
One of those days
020
Peter McKeever @petermckeever.bsky.social · 12/05/2025
Download Raycast, add Toothpick, set up a hotkey to connect/disconnect your headphones. Instant quality of life upgrade. Especially if you cycle through devices for meetings/music/podcasts
120
Peter McKeever @petermckeever.bsky.social · 10/05/2025
Oh man The Distillers were so good youtu.be/P5iSk-6Wdow?...
youtu.be
The Distillers - Coral Fang
YouTube video by Dezio Sounds
040
Peter McKeever @petermckeever.bsky.social · 10/05/2025
So good, started in February and going on to book 4 after I finish Dawnshard. Definitely going to pick up Mistborn after
100
Peter McKeever @petermckeever.bsky.social · 10/05/2025
Schalke thumped, sun’s out, touching grass at the top of Königsallee with Dozenbier reading Stormlight Archive. Thriving.
110
Reposted by Peter McKeever
Ansgar Wolsing @ansgarw.bsky.social · 16/04/2025
I created this chart but I don’t like one particular finding. If you correlate budget spent on personnel vs. points gained in the Bundesliga, some Bundesliga clubs are more efficient at turning spending into points than others. Heja BVB. 🙈⚫️🟡 #30DayChartChallenge #Day13 Clusters 📊 #rstats
A scatterplot shows Bundesliga clubs’ total personnel costs (log scale) on the x-axis and points earned after matchday 29 of the 2024-25 season on the y-axis. A regression line indicates the average performance trend, highlighting which clubs are overperforming or underperforming relative to their spending. Clubs are color-coded by performance and budget category. Teams like Eintracht Frankfurt and Bayer Leverkusen shown as efficient overperformers, Borussia Dortmund underperforms.
4416
Peter McKeever @petermckeever.bsky.social · 17/04/2025
Bundesliga Zwei? 🥹
000
Peter McKeever @petermckeever.bsky.social · 17/04/2025
Hi Gregers, I'll have a full job description hopefully next week that will include more information on the project and the skills we are looking for but for anything else you can always send me a DM.
010
Peter McKeever @petermckeever.bsky.social · 17/04/2025
May have some freelance work for an RStats Shiny project on the horizon. Looking for someone for ~15 hours per week over 3 months. #dataviz
4149
Peter McKeever @petermckeever.bsky.social · 09/04/2025
There needs to be some kind of Dunning-Kruger #dataviz for making your own interactive tables from scratch but the slope of enlightenment onwards is just acceptance that a component that can do everything everyone wants but with rigid behaviour everyone expects is really really hard to build
030
Peter McKeever @petermckeever.bsky.social · 04/04/2025
Should this have been several smaller PRs? Yes. Does it feel great removing all of those LOC in one? Also yes.
030
Peter McKeever @petermckeever.bsky.social · 03/04/2025
I’ve seen it on my own photos, use it for saving recipes I take a photo of etc… but that was always in the photos app, think it’s the first time I’ve seen it on a separate app though
010
Peter McKeever @petermckeever.bsky.social · 03/04/2025
Is this a Bluesky thing or an iPhone thing that I can select the annotations in this viz???? 🫨
110
Peter McKeever @petermckeever.bsky.social · 28/03/2025
This is where I got my professional start with the company and it’s honestly such a cool, impactful job with massive scope for creative thinking
030
Peter McKeever @petermckeever.bsky.social · 28/03/2025
Stats Perform are looking for someone to join the data analysis team to work along side Jonny Whitmore and Jon Manuel. If you're passionate about football data and want to shape how we see the game through engaging visualisations, be sure to apply! ⚽️📈📊 #dataviz t.co/lOaOOtBJAY
t.co
https://eobe.fa.em2.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/job/692/?utm_medium=jobshare&utm_source=External+Job+Share
1116
Reposted by Peter McKeever
Miska Knapek @miskaknapek.bsky.social · 27/03/2025
Great new mapping tool from the OpenStreetMap team : view borders throughout history : goes back 4000 years! www.openhistoricalmap.org/history#map=...
091
Peter McKeever @petermckeever.bsky.social · 27/03/2025
Oooooooh 😍
010
Reposted by Peter McKeever
#30DayChartChallenge @30daychartchall.bsky.social · 19/03/2025
13 days left ⏳ until the #30DayChartChallenge kicks off. Are you really prepared? 😁📊📈📉 Here are the prompts for the 2nd category: Distributions More info on Github: github.com/30DayChartCh... Let us know if you have any further questions! #dataviz
A banner with the prompts for the 2nd category: Distributions

07. Outliers
08. Histogram
09. Diverging
10. Multi-modal
11. Stripes
12. Data.gov (data day)
1116
Reposted by Peter McKeever
Randall Munroe @xkcd.com · 19/03/2025
Square Units xkcd.com/3065
866154565
Reposted by Peter McKeever
Gregor Aisch @driven-by-data.net · 27/02/2025
For the German election we wanted to use a cartogram of German election districts but didn't find anything good, so we created our own. Here's a little nerd thread how the final algorithm worked 🤓 🧵 #gis #cartogram #election #datavis #cartography
Cartogram of 299 German election districts
18557179
Reposted by Peter McKeever
Opta Analyst @optaanalyst.optajoe.com · 27/02/2025
An honour to be nominated for Digital Sports Publisher, as well as Specialist Sports Publisher and two individual nominations for Data Journalist for @alitweedale.bsky.social & @davidsegar.bsky.social. We're just checking with the Opta supercomputer about our projected chances of winning.
0216
Peter McKeever @petermckeever.bsky.social · 23/02/2025
There are publicly available sources for xy data you can check out
010
Peter McKeever @petermckeever.bsky.social · 22/02/2025
Not dumb at all, it's just a regular 2d svg without any transformations needed for the xys. The viz container is just transformed using rotate3d in css.
050
Peter McKeever @petermckeever.bsky.social · 22/02/2025
Cooking... #dataviz
3401
Peter McKeever @petermckeever.bsky.social · 17/02/2025
You don't wanna know how long I spent working out why I was getting unexpected rerenders only for it to end up being the curly braces around this sort function fml 🫠
120
Peter McKeever @petermckeever.bsky.social · 11/02/2025
Love the colour on these
010
Peter McKeever @petermckeever.bsky.social · 11/02/2025
Did a little scroll piece on set pieces in the Premier League with @rbenson92.bsky.social theanalyst.com/2025/02/arse...
0319
Reposted by Peter McKeever
Opta Analyst @optaanalyst.optajoe.com · 11/02/2025
The influence of set-piece coaches in the Premier League seems to have grown significantly in recent years, but how much of an impact have they had, and is it just a fad? Here, our new-look interactive article analyses Premier League set-pieces. Read here: theanalyst.com/2025/02/arse...
13710
Peter McKeever @petermckeever.bsky.social · 07/02/2025
Doesn’t matter how many times I hear it, Gremium will always sound like a made up word and I will never remember it
000
Peter McKeever @petermckeever.bsky.social · 07/02/2025
Please make the AfD go down though 😅
010
Peter McKeever @petermckeever.bsky.social · 07/02/2025
This is cool!
110
Peter McKeever @petermckeever.bsky.social · 02/02/2025
Thank you for the nightmare fuel 😂
070
Peter McKeever @petermckeever.bsky.social · 01/02/2025
Bridge Four.
110
Peter McKeever @petermckeever.bsky.social · 30/01/2025
Pre and post match*
010
Peter McKeever @petermckeever.bsky.social · 30/01/2025
We go again theanalyst.com/2025/01/euro...
030
Reposted by Peter McKeever
Nils Mackay @nilsmackay.bsky.social · 30/01/2025
So I made this plot back in September. It stated that 10 points would be enough to qualify for Top 24 in 99% of the simulations. Clearly this didn't materialise — Dinamo Zagreb got knocked out with 11 points. Some thoughts 👇
2187
Peter McKeever @petermckeever.bsky.social · 29/01/2025
One of the rare occasions I’ve actually enjoyed working on a table theanalyst.com/eu/2025/01/c...
2262
Peter McKeever @petermckeever.bsky.social · 16/01/2025
Thanks!
010
Peter McKeever @petermckeever.bsky.social · 15/01/2025
Working on incremental additions and improvements first 🥵
000
Peter McKeever @petermckeever.bsky.social · 15/01/2025
media.tenor.com
a man with red hair and a beard is standing in the woods
ALT: a man with red hair and a beard is standing in the woods
000
Peter McKeever @petermckeever.bsky.social · 15/01/2025
We‘ve finally launched for what I’ve been working on for the past few months: player stat pages! theanalyst.com/football/pla...
5599
Reposted by Peter McKeever
Andy Kirk @visualisingdata.com · 09/01/2025
The answer was they would have done very well until the mid 2010s and then it all seems to change. Draws appear to be going out of fashion. Good. Read more here visualisingdata.com/2025/01/not-...
visualisingdata.com
Not 'sharing the spoils': A closer look at draws in the Premier League - Data Viz Excellence, Everywhere
What follows is some analysis about football - Premier league football specifically - and is motivated by my dislike - no, let me raise that to hate - of draws. Some regular readers may wonder if they...
2113