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
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
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
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
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
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
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
866156565
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 · 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
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 · 01/02/2025
Bridge Four.
110
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 · 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
Peter McKeever @petermckeever.bsky.social · 13/12/2024
Hey #dataviz people who use d3, how can I factor in the radius of a circle when using delaunay for a voronoi overlay?
110
Peter McKeever @petermckeever.bsky.social · 04/12/2024
Just collected my copy of @visualisingdata.com ‘s latest edition of Data Visualisation
1170
Peter McKeever @petermckeever.bsky.social · 28/11/2024
Liverpool now rated number 1 team in the world on our power rankings
0103
Peter McKeever @petermckeever.bsky.social · 27/11/2024
They’re just trolling at this point
161
Peter McKeever @petermckeever.bsky.social · 25/11/2024
No notes.
1140
Peter McKeever @petermckeever.bsky.social · 07/11/2024
I like the balance here. Houses don’t cost zero and we’re not using any kind of area so imo no need for it to start at 0. Anything close to 0 feels like just picking a magic number for the sake of it. The footnote acknowledging it does the job and makes sense to be directly under the y axis
040
Peter McKeever @petermckeever.bsky.social · 09/10/2024
Made a couple of interactive #dataviz for this piece today on player welfare. theanalyst.com/2024/10/foot...
061
Peter McKeever @petermckeever.bsky.social · 25/12/2023
🎄 Nollaig Shona Daoibh 🎄
000
Peter McKeever @petermckeever.bsky.social · 04/12/2023
One from today #dataviz
121
Peter McKeever @petermckeever.bsky.social · 01/11/2023
Still some optimisations and iterations to be made but at some point you just gotta get stuff out there. These player cards are now LIVE! theanalyst.com/na/2023/06/n... #dataviz
020
Peter McKeever @petermckeever.bsky.social · 24/10/2023
~80% of our traffic is on mobile, been working on these as an alternative option that still allows search, sort, and filter. I’m pretty happy with how they are turning out. Looking to have them released in a couple of days and expand to other sports soon! #dataviz
000
Peter McKeever @petermckeever.bsky.social · 16/10/2023
Working on some live win probability stuff for nfl #dataviz
110
Peter McKeever @petermckeever.bsky.social · 12/10/2023
Prototyping some cards for our nfl stats
020
Peter McKeever @petermckeever.bsky.social · 09/10/2023
Chance creation in Europe’s top five leagues so far this season.
000
Peter McKeever @petermckeever.bsky.social · 04/10/2023
Iterating on these NFL stats pages over here. Still a lot to do but feels good being over in vizland again :) theanalyst.com/2023/06/nfl-...
040