Sports Tableau User Group 10 Sep 2026
1h 4m 13,711 words transcribed
Summary
The Sports Tableau User Group returns after a World Cup break with two builds that lean on map layers in very different ways. Host Mo Wootten opens with the pitch — sport and music are the two languages every community speaks — and introduces co-organisers Steven Scott (Seattle) and Frederic Fery (Australia). Rob Taylor of JLL then walks through The Circle of Champions, his radial viz of the 2026 Men's FIFA World Cup: three sheets, 26 map layers on the main one, a spreadsheet he updated by hand every morning, a 'how to read' annotation overlay, a hidden off-canvas container for build parameters, and a sneaky parameter action that puts England in the middle by showing the bronze-medal match. He finishes with a live tutorial on drawing a circle in Tableau with 2·PI, SIN, COS and a radius parameter. Mo launches the group's first community challenge — two World Cup data sources on Fred's Tableau Public profile, build something and share it before the next meeting — and then presents his Viz of the Day NFL Drive Charts: why nflfastR's 300 fields make American football unusually visualisable, MAKEPOINT's reversed Y, X order, 'industrial parameterisation' so a change happens in one place, layering simple shapes instead of drawing complicated ones, and the friends' feedback ('it needs to be more simple') that turned a cluttered first draft into a clean small-multiples grid. He ends by opening the workbook in Tableau Public's web editor to show that a messy back end is completely normal.
Listen to this TUG
Prefer to listen? This meeting is also an episode of the Tableau TUG recordings podcast.
Key points
- Sport and music are the two common languages: every community has a sport and a form of music, which is why a sports viz community inside Tableau could be big.
- Find your joy. 35% of Rob Taylor's Tableau Public vizzes are sports vizzes; if you enjoy the subject you keep building, and the skills follow.
- Map layers changed how Rob builds: you are just plotting data on an X-Y axis, so anything you can think of is buildable. The Circle of Champions is three sheets, with 26 layers on the main one.
- The 'how to read' trick: copy your map-layer sheet, hide the layers, annotate on top, and toggle it over a blurred background — all the guidance without cluttering the dashboard.
- Park build-time parameters in a container beside the dashboard. Tableau won't let you drop it there directly; drag the right edge off the canvas, then the left, and it stays — invisible when published.
- To draw a circle in Tableau: position = point / MAX(points), X = radius × SIN(2·PI × position), Y = radius × COS(2·PI × position). Keep the radius in a parameter so every ring can be tuned in one place.
- Rob did not automate the World Cup results. He typed the scores into a spreadsheet every morning and refreshed — quicker than coding the scrape would have been, even if he could vibe-code it now.
- Challenge Accepted: two World Cup data sources are on Frederic Fery's Tableau Public profile using the new shared data-source feature. Click Create Viz, build something, and share it before the next Sports TUG.
- nflfastR publishes play-by-play NFL data with around 300 fields, via R, Python or CSV, updated after every game — far more than any other sport makes public.
- Tableau's MAKEPOINT takes Y then X, the reverse of most coordinate systems. Point ID 1 goes to (y1, x1), point 2 to (y2, x2), and the line between them can be any shape.
- Industrial parameterisation: put everything into parameters or calculated fields so a tweak happens in one place, not fifteen. Mo's pitch runs 0–100 because a pitch is 100 yards.
- The power of map layers is stacking. Stop trying to draw one complicated shape and layer simple ones on top of each other — the old Excel trick for breaking out of the chart types.
- Exploratory beats explanatory for Mo, but keep the top-line message — who won and by how much — unmistakable.
- Seek feedback, even from one person you trust. 'It needs to be more simple' turned an everything-on-one-page draft into one story per game, and only then did the all-games grid work.
- Your messy back end is normal. A Viz of the Day still has a thousand layers and 17 fields driving colour behind it; the front end is what you are driving for.
Jump to a chapter (41)
- 0:00 Welcome back to the Sports TUG
- 1:02 The co-organisers: Steven Scott, Frederic Fery, Mo Wootten
- 2:40 Today's agenda
- 3:37 Rob Taylor: The Circle of Champions
- 4:17 Who is Rob
- 5:38 I love sports: 35% of my vizzes
- 6:49 Inspiration: Brian Moore and Sam Parsons's map layers tutorial
- 8:04 Three sheets, 26 layers
- 8:54 The data behind it: tracker, summary, densification, circle points
- 11:13 Live in Tableau: the dashboard and the 'how to read' overlay
- 12:57 Clockwise brackets and the path lines
- 14:23 Showing penalties without clutter
- 15:10 Selecting a team, and the sneaky England trick
- 16:41 Trick: park parameters in an off-canvas container
- 17:49 Tutorial: how to draw a circle in Tableau
- 20:28 Radius parameter and the X/Y trig calculations
- 23:02 Plotting the circle and highlighting a point
- 25:13 Inside the 26 layers: ring position, radius, joins
- 28:13 The hardest calculation: tracking a team through the tournament
- 31:28 The data-art print version
- 32:26 Q&A: did you automate the results?
- 33:07 Wrap-up: Figma text and building everything in Tableau
- 34:23 Challenge Accepted: World Cup data on Tableau Public
- 36:47 Mo Wootten: NFL Drive Charts
- 37:57 What are drive charts, and why fantasy football
- 39:22 Influences: momentum graphs and Krisztina Szűcs
- 40:16 NFL basics for the uninitiated
- 41:34 Why NFL data visualises well
- 42:48 Bo McCready and the old-school drive chart
- 43:59 Data everywhere: nflfastR
- 44:48 First attempt: Tableau Prep and showing too much
- 47:01 The build: map layers and MAKEPOINT's reversed Y, X
- 48:22 Industrial parameterisation
- 50:05 Map layers all the way down: field, drives, kicks, defence
- 52:24 Scoring, labels, timing and win probability
- 55:10 Making it readable: exploratory over explanatory
- 56:12 The power of feedback: 'it needs to be more simple'
- 57:36 History repeats itself: all games on one page
- 58:58 Live on Tableau Public and a peek under the hood
- 1:00:39 Your messy back end is normal
- 1:01:51 Where to find us, and the next meeting
Transcript
0:00 Mo Wootten: Hello. Welcome to the Sports Tableau User Group for September 2026.
0:06 Uh, we haven't had one for a little while.
0:08 Um, we'll claim it was the Men's World Cup, but hopefully we're now gonna get back into the swing of it and, uh, start doing these a little bit more regularly like we were. Um, the pitch for this is pretty simple. We just want to bring together people who are interested in sports and people who love Tableau, so that we have a place that we can share really cool sports vizzes.
0:24 Uh, I've got a massive grand vision, and I think Steven has as well actually, and Fred really, about, uh, where we think this could go and how big and cool we think this could be. Um, we're not quite sure how we're gonna get there yet, but we're gonna try. So keep your eyes peeled, 'cause we might be looking for some extra helpers, actually, to come on board and help us kind of plan what we wanna do and see where we can get where.
0:45 'Cause sports is, as I tell people frequently, one of the two common languages, the other one being music. I think every community has a sport, every community has some form of music.
0:55 Uh, and so it would be really cool if we could create a really big thriving community inside Tableau for that.
1:02 Um, I mentioned his name. Steven's on the call with me. He is one of the three co-organizers we currently have for the Sports TUG. We're scattered across the world, so he is in Canada. Am I right, Steven?
1:13 Steven Scott: Sorry, I gotta hop off mute. No, I've recently moved, um, or I guess not recently, it's been two years now. I'm currently based in Seattle, and I actually don't work at Deloitte anymore. I work at BECU, um, funnily enough, which is also the same place the Iron Viz champion is, is working at. So-
1:30 Mo Wootten: Nice
1:30 Steven Scott: … we are colleagues. So, yeah. I'm actually… Uh, fun fact, just to digress.
1:35 Mo Wootten: Yeah.
1:36 Steven Scott: The past two places I have worked, I've had two colleague… Like, each one had a colleague making the, uh, Iron Viz finals. Previously it was Ryan Suarez, obviously a former co-co-lead here, and then this time it's, uh, BECU. So watch out. Next, next place I will work at, they will have an Iron Viz finalist apparently. So-
1:56 Mo Wootten: Do you fancy moving to York?
2:00 Steven Scott: I could see. I just got my British passport, so I could.
2:03 Mo Wootten: There we go. Ah.
2:05 Definitely. Come work for JLL.
2:07 Steven Scott: Exactly.
2:07 Mo Wootten: Not that I work there, but-… that's a hotbed. What a hotbed of talent you leave behind you and/or create around you and/or join. That's pretty cool.
2:14 Steven Scott: Yeah, yeah, yeah. It's t- it's all me. It's all me.
2:17 Mo Wootten: I like that.
2:18 Um, yeah. So Steven is currently our America's representative, and then we've got Fred out in Australia, uh, who covers the Oceanics and Asia.
2:29 And then myself, I am based in merry old UK, so I cover kind of EMEA and stuff like that. So you can see three of us across the globe.
2:36 That's probably partly why we're going to be looking for some more help.
2:40 Today, we've got some fantastic things happening. So Rob, who you can see on screen, is going to talk to us about creating his viz, The Circle of Champions. If you've not seen it on Tableau Public, then definitely go and check it out after this, because it is phenomenal and I'm very excited to hear him talk through it. I'm a big fan of Rob, and also a big fan of how he constructs things in Tableau.
3:00 I think he's got a great eye for design and a great eye for build. Then we're gonna try something a bit new. We're gonna try a challenge. I've called this segment Challenge Accepted, and we're gonna be looking at World Cup data, and I'll talk a bit more about that when we get there. And then I'm gonna talk about NFL Drive Charts, uh, which was a Viz of the Day visualization I made a couple of years ago.
3:17 But with the kickoff of the NFL new season happening tonight, in Melbourne actually, weirdly, um, then now seems a good time to be able to talk a little bit about how I went about creating that as well. So without any further ado, Mr. Taylor, I will hand the screen sharing over to you.
3:37 Rob Taylor: Thank you very much, Mo. Yeah, it's, uh… Thank you for inviting me along. It's a pleasure to be on this side of the, the desk for once. I like to host the Tableau Public TUG with the team, and often letting people show their vizzes, so it's, it's gonna be nice to… Well, and daunting to show this one to you. Um, perfect. Yeah, so today as Mo said, I'm gonna talk to you about my Circle of Champions viz.
3:58 Um, I created it at the start of the World Cup, and it's, it's progressed massively, um, as the World Cup went on. I had this whole idea at the start, and then as things happened, I had no idea what the results and scores and things would be. So it kind of… It was quite a good one as I iterated on it throughout the whole World Cup and, and the final, uh, piece came out really nicely, I think.
4:18 Um, so just a little bit about me for those that don't know me.
4:21 Um, I'm a senior analytics specialist at JLL. I work on the Rolls-Royce account. We manage all their buildings and properties and do all sorts of stuff with their data to help them, them do better. Um, I've been using Tableau for I think it's over 10 years now, um, and on Tableau Public for seven, though I've only really been fully involved in the community for probably about five years now.
4:42 Um, and again, big thanks to Mo for that. He helped me get going with it. Um, one of his initiatives, Sports Viz Sunday, helped me find my joy. Um, and I always say it's good to find your joy in something 'cause then you can learn and progress better.
4:57 Um, I've currently got eight viz of the Days. Uh, I was in the top 10 for Iron Viz this year. So once Steven moves to York, we'll get in the final.
5:05 Um, and I'm a two times Tableau Ambassador, and I also won a Vizzy this year for Storyteller, so that was an absolute… Yeah, that's probably a highlight of my career so far. I was really pleased with that one 'cause it's a community award, so it's nice to know that people are liking what I'm building and enjoying it.
5:20 Uh, as I mentioned, I co-lead the Tableau Public TUG. Um, I live in York, uh, with my wife, a 12-year-old son, and a very noisy dog called Trevor, who I've shut in a different room 'cause when he sees a squirrel or a pigeon, he goes absolutely nuts in the garden and everyone can hear him barking. So yeah, that's a little bit about me. Um, but as I said, I love sports.
5:39 Um, I've just checked before this, and 35% of my vizzes on Tableau Public are actually sports vizzes, um, which is probably good and bad in some ways. Good that, um, it's helped me progress. Some people might say bad that I kind of pigeonholed myself into doing sports vizzes. But I'll reiterate, if you find something you enjoy doing, um, you're more likely to progress and learn and develop new skills 'cause you, you enjoy it, you want to produce something great from it.
6:04 Um, and my love of sports comes from back when I was a kid. I played all sorts of different sports growing up. Um, not so much now as I'm getting a bit older. My body won't handle it, but, um, I now get my joy through creating these vizzes about different sports I've got no particular preference on sports. So as you can see, here's a few of my different vizzes.
6:21 There's, there's rugby, cricket, golf, um, gymnastics, curling. Uh, actually that was one of my fun vizzes I built a while ago. Interactive curling to show a final, where you could see the disks moving. But yeah, feel free to go on my public profile, check some of these different vizzes out. But yeah, it's a real joy to be here, one, because obviously Mo helped me get where I am, and two, I love sports, so it's great to be here.
6:44 Couple of things I'll just talk about before I go into the viz.
6:48 Um, wanna shout out Brian Moore, it was his viz on, uh, ancient mythology he created that gave me this idea. Now this… He, he created this about four years ago, I think it is now. Um, and I saw it at the time, and it blew my mind what he'd done, and ever since then, I've been looking for a reason to recreate it or use it, and I just couldn't come up with anything.
7:07 Nothing was… There was no inspiration coming, uh, until the World Cup happened, and I thought, "Right, I'm gonna finally dig down, work out how to do this, and build this viz." So yeah, big shout to Brian Moore for creating that ages ago, and still leading the way on inspiration.
7:22 Um, and I shout out Sam Parsons a lot with this one.
7:26 When he was working at VizTree, he created a, a three, uh, page blog on map layers and how to get started with it.
7:33 Um, map layers is something I use in pretty much every viz now. I've… Since that came about, it, it sort of changed the way I build vizzes. What you can and can't do is, is no more. You can literally build anything your mind can think of, because you're just plotting data on an X-Y, uh, axis. So you can build everything. But definitely go check out that blog.
7:51 I think it might be under a different name now since he left VizTree, but it's still there. Um, and it's a great way to learn all the basics of how to do map layers. So yeah, big shout out to Sam Parsons for creating that and getting me going on map layers.
8:04 Okay, so enough slides. We wanna see Tableau stuff, don't we? So we're gonna look at my viz, and here's just a couple of screenshots of it. It was created with three sheets. There's only three sheets in this viz, which, um, again, comes down to the ability to use map layers to build lots of things on top of each other. Um, but on that first one, there's 26 layers on my, on the main visualization, so there's a lot going on.
8:27 But the two key things here you can see is, on the left is what it looks like, and on the right is a trick I've started doing on a lot of my visualizations, is sticking on a how to read, which basically adds on top of your current viz a load of annotations, which allows you to tell the user how to read certain things. Particularly relevant when you're looking at something like this, where you've got a radial chart, which isn't always obvious to start with what's going on.
8:51 So let's hop across to Tableau. But before we do, I'm just gonna take you through the data sources I used, um, because this was kind of the key thing that drove it all.
9:01 It's a bit small, I'll zoom in. Oh, hopefully that's a bit better still. There's a lot. You don't need to see it all, but just to explain. I built out the whole list of matches in winning order, um, with help from AI, because who doesn't use AI anymore to create some of these things? Um, but what I did, I wanted to create all my data in the background, so all I needed to go in was update these three columns, the goals scored, conceded, and the points scored for a game.
9:24 I wanted to make this as easy as possible to update as the competition went on.
9:29 Again, as I mentioned earlier, iterations happened, and different columns appeared after I worked out different things needed to happen. For instance, penalty shoot-outs, how would I show that on the, on the viz? Um, but building this out allowed me to get all the data in one place, just update certain columns with scores, and then I could refresh my dashboard in the background.
9:47 Couple of key columns I will point out, which will come into play later on when I look at the vizzes. I needed a way to order these things, so there's a column called Team ID, which I'll show you in the, in the Tableau. But this helps me arrange things around the circle.
10:00 Um, and there is also, um, an order ID, again, which orders all the games in order. Um, I'll explain again why I've done that, but it's, it's… There wasn't much to maintain once I did it. So that was the main sheet. Just a tracker of all the games, the details about the games, who's playing, and the scores.
10:18 There was also a summary sheet. This was just, uh, basically taken from the main page, but it adds up all the scores, uh, and it gave me the ability to order the groups, um, as the games went on. And this allows me, when we get to the boxes around the outside, it allowed me to order them by who got the most points in the group, and then it made it easier for building out the joining lines.
10:39 Uh, the last two, densification and circle points, uh, again, those who have used map layers will know why we do these. Whenever we're building out things with map layers, we need to be able to assign different things for different points. So if we're creating a box, we need five different points to be able to join all those bits together to create a box.
10:57 And the circle points, this comes into play when I wanna build a circle, I need more points to keep it nice and smooth. Um, so this just goes from one to 99. So the back-end data, not very complicated, uh, and easy to maintain as I went along.
11:13 Okay, over to Tableau.
11:16 So as I said, this is, uh, the dashboard.
11:19 Um, there's loads going on in it, so just a couple of things I wanna sort of talk about first. We've got our how to read, and again, this is a great little tri- uh, tip you can do. Um, by clicking on the… Oh, I'm in… Not in presentation. Click on that for my…
11:33 Um, it allows me to add on top of the thing, uh, whilst blurring the background a little bit, so you can still see the charts, but you get these annotations, which you can put anywhere you want, um, and then tell the user how to interact with different things.
11:46 And that is really easy to do. What you do is once you've built out your visualization, um, so you've got your, your normal sheet with all your map layers on, um, how you want it to look, um, you just recreate that sheet. Um, you hide all the different map layers, and then you can just annotate what you want on there. Um, you don't necessarily have to use the same sheet you use with all your map layers on.
12:07 Um, you can just create a blank sheet with a se- set of axes, which you could then work around. But I always find it easy just to copy the sheet, start annotating, and it just allows you to put things wherever you want. And then it's a great way of adding in all that extra info so the user can see what is going on without cluttering your dashboard.
12:24 And again, the- One of the main things I wanted to do with this is I wanted to get loads of information in, but make it look like there wasn't loads of information in, if that makes sense. It was… There's a, there's a lot to tell, but I wanted to keep it fairly clean, um, almost like an art print you'd see in a gallery of a summary of the World Cup in one viewing, but with the chance to look at different things.
12:46 And again, to do that, along lots of the tooltips, uh, you can hover over most things, um, and it will tell you loads more details about what happened in those matches and things like that.
12:58 The next thing I wanna point out is there's different ways you can lay out tournament brackets and things. Obviously, you can have left to rights and side to sides and, and they often when they build them, they build them sort of out of order. Um, so just to make it easier for them to build them next to each other.
13:10 I chose to do it the harder way. I wanted everything going in a clockwise direction in the order it was happening. So all these dots around the outside, they're all the different games, so they go in the order of the games happening. But then I also wanted to, when we got to the group stages and the knockout stake… sorry, the knockout stages. So all these games, again, for the round of 32, they're all in the order they happened.
13:30 Uh, and part of the reason I wanted to do that was, one, visualization, 'cause it, um, it gives you a running order. You can sort of see the games as they happened and who played when.
13:40 And the second one was to challenge myself to be able to make it do some of these lines in the circles. I wanted to obviously make these through path lines a bit more fun, so they sort of scatter around and go around different parts of circles. It would've been easier if they were all lined up. They would've been much easier to do, but it was a, a challenge for myself to try and make it more creative.
13:59 So yeah, that's another function of it.
14:02 Also, I wanted to do lots of subtle things. Obviously, I've got it filtered on, um, the two finalists to show their path through it. Um, but again, round the outside, I wanted to make it easy for the user to see when they played, which their games were. So they've all been colored when they played, so you can see at a glance straight away what games they played.
14:23 As I mentioned, things had changed as I went along. Um, I based this all out. It was great. It was easy to, um, show who won, what things happened. Then we got to the knockout stages and games weren't finishing in the, uh, 90 minutes. They were going to extra time and penalties.
14:39 And I thought, "Well, I kind of need to show that on the, on the visualization somewhere without over-cluttering it." So the idea behind that is you'll see these certain game dots have the red outline around them, and that was to highlight those games that were won on penalties. So again, for the user, it gives them that extra layer of information, but without adding too much to the coloring or visualization.
15:01 So yeah, you can hover over one of these games, uh, if I drop in my mouse, and then you can see, uh, how it was won by penalties.
15:10 Um, last thing I want to show on this before I dig into a bit of a tutorial on circles and some of the calcs is, um, obviously the user, as mentioned here in the how to read, they can click on any of these, um, teams, and it will highlight their route through the tournament.
15:27 Sorry, I've left it inactive for too long.
15:30 Classic live demo.
15:32 There we go. So yeah, it changes as you pick a different one.
15:36 As a standard, it's set to show who got to the final, but obviously I was an England fan. I was expecting England to get to the final and win. That was my whole output of the thing. They didn't, so they got to the third place playoff.
15:47 So because they did, I decided I wanted to tweak it, so if you did select either of the third place teams, so we'll just pick England from there, it would change this,
15:58 this middle section to now not show the final, but show the bronze medal match instead, uh, and highlight who won that. So it was a sort of a sneaky trick to get England in the middle, winning obviously. Um, but also it was a good way to get that extra layer of the bronze medal match in there. Again, on a lot of tournament charts you'll have the, it all going towards the middle where you have the final, and then sometimes underneath they'll put that sort of third place playoff match.
16:21 And I always thought it kind of looked a bit out of place. It's sort of tacked on. It's the game that no one really cares about, as they say in football. But, um, yeah, I didn't wanna just add it on anywhere, so it was a little trick to if you selected one of the bronze medal finalists, you could see them in the middle. And again, it's all using parameter actions to do that.
16:41 Okay. Another trick while we're on here is while I was building out, I was constantly changing my team, trying to make sure things work. Uh, and what I often do is I'll put a certain parameters or things in a container to the side of my dashboard.
16:55 Um, and it's great 'cause when you publish it up, you can't see it, but when you come in, you can tweak things and change things. Uh, and there's a really easy way to do this. Um, I'll do it with a, a new one just so I show you what happens. Uh, so if you bring a, a, um, floating… So if you bring a container on, you can put it anywhere on the dashboard and it will land fine.
17:16 Absolutely fine.
17:17 If you tried to do that same thing by bringing it and putting it to the side, it doesn't work. It's like, well, that's frustrating. But what you can do is you can put it on your dashboard, you can then drag the right edge off and then drag the left edge off and it keeps it there. So one of those weird Tableau things where you can put something to the side, but only if you do it in the way they want you to drag it around.
17:36 So, but a really useful tip for adding certain parameters and things there, um, which allow you while you're building out to quickly tweak things, make sure everything's working as you want it to, to work.
17:49 Okay. So look a bit more at this. How did I do it? Well, first of all, I had to work out how to use circles in Tableau. As you can see, everything is based all around the circle. Everything needs to know where it is in this circle. So I had to… I did a bit of looking around, a bit of working out how to do it, but in essence, you need to work out, I've got a certain amount of points, I need to fit them around a circle.
18:11 I need to put them on my screen and then be able to do something with them.
18:16 So what I thought I'd do, I'd do a quick tutorial on how you would create a circle in Tableau. Um, I'm gonna base it on, if we just jump back to there, these 99 circle points, um, just as an example. But in my, um- Within my dashboard, it's using things like team ID and, um, order ID to assign the points. Um, so you can use it for different things, putting teams in and whatnot.
18:37 But what we'll do is we'll just build it out from basics to show you what you need to do. And so to build a circle in Tableau, obviously, you need a, a set of data. You need a, a certain amount of points to fit round this circle. Um, and then you need to be able to tell it how far round each point goes around this circle. You then need to tell it whereabouts on the X and the Y axis to position it, and then that…
19:00 where a bit of maths comes in, which, don't worry, I won't go into the maths 'cause it's been a long time since I was at school, but I will explain what it's doing when I show it. So first things first, we've got our 99 points. They're our circle points. They're one to 99. We know to put them in, but we need to work out at what point round this circle they go.
19:18 So the first calculation we want to do is we want to give it a position on the circle.
19:23 I've handily written this earlier just to make it easier.
19:26 Um, and what we do for this one is we drag in our, uh… Let me just give it an extra space to go down. We drag in our, um, number or unit we're gonna use to work out how far it can round. And what we need to do is we need to divide that by the maximum amount of that number in the whole data set so it can work out what percentage of the total amount it is, so it'll know exactly how far round.
19:48 So one would be at zero-ish percent, 99 would be at 100% of the total.
19:54 So if we just then write the rest of the calculation, uh, and we want to do the max in the mustachio brackets because we are looking at… we want it to be the entire data set.
20:06 I will zoom in. Bear with me. There you go. That's better. Um, so what we're doing is we're looking at…
20:12 we're finding the maximum amount of the circle points in the whole data set and just assigning that to a column.
20:17 Um, and then we're defining our point by that max to find out the percentage of it. So that's our first calculation. How far round the circle is each point going to be? So we'll click okay. So now we've got that, the next things we need to do is we need to create a, um, a radius as well. How wide do we want our circle to be?
20:35 Um, I've created this earlier, and what I like to do, especially with this visualization, I'll just show you in this one, I've got about six different radius depending on which bit of the, um, visualization we're looking at. So each of these different circles are different radiuses from the middle. So to make life easier when you're doing that, rather than hard coding a number into your calculation and then having to go back into different calculations and tweaking them, um, I always find it easier to create a parameter.
21:01 So for this one, um, I've just… I'll just show you it. Da, da, da, tee, a. I just create a simple, uh, float parameter called radius and gave it a current value of one to start with, uh, and I've just shown it up here on the top of my screen.
21:17 So that will be our, our radius of how wide this circle will be.
21:21 And then the next step is we want to work out those X, Y positions. This is where the math comes in. So the first one, we need an X position for each point.
21:31 Um, so we're gonna use… and I'm not gonna type this out.
21:34 Uh, zoom in.
21:36 We're gonna use this calculus, uh, this calculation, which is basically using a bit of maths from trigonometry from when you were at school.
21:44 Um, we're gonna do two times pi times our position round the circle, which basically just converts the position value into radians around the circle. So Tableau uses radians, um, as its unit of measure. So this part of the calculation here works out the radians.
22:02 We're then gonna times it… well, put it sine into sine, which then takes the angle calculated by sine, which gives the horizontal displacement.
22:11 And then we're gonna times it by our radius to show how far out you want that circle to be. So for the X and the Y calculations, this is the calculation I've used throughout the whole viz with slight tweaks on it depending on what I want it to happen with that circle. But the X one will be sine and the Y one will be cos and then using those two together, we'll do all that clever mathematics you learned in trigonometry and allow it to plot a point around the circle for all these different things.
22:38 If I just do that one and then fix my Y one as well. So as you can see, the Y one's exactly the same, other than it's using the cosine function here.
22:47 Click okay.
22:48 So now we've got all the key things we need to make a circle. We've got a number of points that we're gonna put round the circle. We've got how far round each point will go. We've got a radius to say how wide the circle is, and then we've got our, our, our X and Y positions to put on.
23:03 So if we drag, right-click and drag these onto the correct thing. So X goes onto columns, and I'm just gonna use the top one, and then we'll drag Y onto rows, and again, just use the top one.
23:15 So then we can see straight away it's given us a circle of points. Um, and I will drag on my circle point onto detail just so when we hover over you can see all the different points.
23:26 So straight away we've got a nice circle which we can start to do different things with. And if I wanted to have it a bit wider, obviously it won't look any different 'cause there's only one circle. But if I change the radius, you can see the axis has gone up to 10 rather than one now. And again, that will allow you to put multiple things, um, within each other.
23:44 Um, we can also change this to a line just to show you how that works. And by doing that, if we bring circle point onto the line as well, we can then see it's now created this line from one to 99. Key thing to know about this is because of the calculations we use, it's… 99 will always be at the zero on the, uh, X-axis because it's the 100%. Um, you can put things in to tweak that to shift the circle round and whatnot, but I won't go into that now.
24:11 It's just too much math.
24:13 Um,
24:15 again, so that is the basis of creating a circle. Once you understand it's just a two or three calculations and you've worked out how to do a circle, you can then do anything you want with that circle depending on what values you want to put around it.
24:27 Um, and again, if I just change this back to a circle, and we'll just- Do a, we just want to highlight one of the circles. If this was a team, for instance, um, you can select any point. So I'm just saying circle point equals 10. Assume this is your England team badge. You want to highlight it in some different way. Um, we can just create a true false calculation here.
24:48 And then if we drag that onto our color mark, it will then highlight that, um, circle on the mark. So yeah, that kind of shows you that once you've worked out the maths and you know what your data is in the background, you've created it properly, you can do anything you want around the circle. They can be lines, they can be dots, they can be all sorts of different things.
25:07 So yeah, that's a quick intro into how to create a circle, and that's what I had to learn to then do this.
25:14 So as I mentioned, there are 26 layers on this sheet. Um, I always find some people combine different layers, do multiple things together. I always find it easier to break each layer out individually, um, that allows me to control them better and also can be less complicated with the maths.
25:34 Um, but within these layers, they're all doing different things. So around the outside you've got that, um, each individual group stage. Um, and within that at the top, um, you can do all sorts of different things. So by doing map layers, you can control each thing individually, give them different colors, give them different, um, tooltips, all that good stuff.
25:57 So some of the funner bits, I won't go into too much about the groups or the circles around the middle 'cause they're using that same principle we just talked about. I've applied a load of data around the circle. I've used a position of the team ID to tell it how far round to plot each circle. So it's all to do with, um, how far round. But in essence, a lot of these circles use the same four calculations.
26:19 First thing we use is a, a ring position. Um, so I'll go down here.
26:24 So we use a ring position. So this is the one that basically works out how far round each circle needs to be.
26:31 So this is the group of 16 one. So in here we're looking at… I always forget to zoom in. Um, we're looking at the team ID, checking what stage it is, and we're dividing it by the max of the team ID. There's a couple of extra calculations on there to shift things around a little bit just to make it neat. Um, but in essence, it's that same thing we did in that test, uh, example of working out how far round each thing goes.
26:53 So we have a ring position for each one. We have the ring radius. As I mentioned, we want each, uh, radius to be a different, um, width out from the center to allow you to show multiple things. And again, this is just using my parameters, um, different levels of parameters. I'm also doing a bit of other maths in there just to make it fit better onto my page.
27:14 Um, so you've got your ring radius, your ring position, you've then got your circles, and this allows you to start plotting, um, the different circles. So in essence, this is bringing together both the X and Y version of those calculations into one Make Point function, um, using, again, a few other things to remove things I didn't want. But in essence, it's the same thing.
27:35 We're giving it a radius. We're doing the sine, the pi, and we're finding the position to plot each circle.
27:41 And then finally, each one, uh, once we move into the middle, the joins together as well, um, there was a bit of extra maths included in that, which, uh, again, a bit bigger.
27:53 This was to work out for each set of games after the group stages. It was to work out how do I join them together, um, and allow it to give me that special line in between it. So as you can see, each knockout game has that little joining line between it, which isn't as visible on the white. I'll go back to here. Um, just to make it really obvious to the user that those games fit together.
28:14 So last thing I wanna show is the, um, the jo- I'll change it from England 'cause you can't see it, uh, on the page, is this was the, the main functionality of the whole thing. I wanted it all to link together. Wanted it to be really fun for the user to track each team from the group stages, how they got to where they got in the tournament. Uh, and this was by far the hardest calculation, um, I did.
28:39 Each stage changed where, obviously it was dependent on where, uh, what game they played in, how far around the circle they were and things like that. Um, but in essence, it uses the same sort of calculation throughout, varying it, um… Just find my calculation.
28:55 Um, varying it depending on what stage they're at. Um, I'll just make this one nice and big.
29:02 So it works through and it's doing exactly the same sort of thing before. It's working out how far around the circle it needs to go, but I'll just move it off the screen for a second. The difference with this one is, um, what I want it to do, I want it to come down to halfway between the stages, move round to where it needed to be, and then join the team.
29:18 So it looks like it's, yeah, it's joining in the middle of each stage. So for that, again, we use the circle point. So when it's points one and two, I could tell it to go from the start badge, go halfway down into the middle between that stage and the next stage.
29:33 So points one and two were just two lines joining together. So, um, just move that off for a second. So these are the, the bits between here and here.
29:42 And then points three to 97, I think, would form the curve.
29:47 And then the last two points were joining from the top to the bottom. Um, it's, it got complicated. There was different things that came into play. Um, I won't go into this on the call. I'll let anyone that wants to look at it go. But in essence, it uses all the same thing throughout the calculations, depending on group, slightly moving things in and out, depending on where it needed to be.
30:08 Um, but the beauty of it was, again, as I iterated, um, and as we got to the final or to the semifinal… I'll just put this one back in so we can see it. Um, I realized, um…
30:22 When that loads.
30:26 I realized that at this point, teams were, these lines would be on top of each other.
30:30 So when it got to that point where lines were going on top of each other, but I wanted them to be visible so you could see how each team moved. Again, I had to iterate that whole calculation to work out which team it was and slightly offset those lines on the curves. So as you can imagine, it got really complicated in the middle. Um, but yes- They evolved over time.
30:48 The whole thing evolved. Things were added, things were, um, changed as teams progressed, and as different things happened.
30:55 But the key was, as long as you can understand how to bring a… Build a circle, within that circle you can then put your points anywhere around it, and do whatever you want with those individual points, and add lots of different functionality to it.
31:08 Um, I've not been looking at the chat, so if there's any questions, Mo, just shout up.
31:13 Um, okay. So that was kind of the viz, how it evolved. Um, I wanted to get as much as I could in, um, give loads of information without overburdening the user.
31:23 Um, let me just go back to this one.
31:28 So it did iterate again, though, after it finished. Like I said, I was, um, I was really invested in this by this point, and obviously I… England were gonna win, so I thought, "This will be great." I really wanted to make this into some sort of data art at the end. So, um, I iterated it further, and this isn't on Tableau Public, but I, I created it.
31:46 So I, I used the same circle, but added a few stats at the top. And then I put this whole thing around the bottom, which would show you satellite views of… Can you just kind of zoom in a bit for you so you can see them? Uh, but it was like satellite views of all the grounds they played at. So for each… I- in this case, for Spain, you could see how they progressed through the radial.
32:05 Um, but then you could see where they played, who they played, what the scores were. I just thought it was a really nice way, uh, and I've got it on my wall, to take home the summary of the World Cup, how Spain won it, um, and what happened, and, um, yeah, shown in a really nice, clean way.
32:22 So that was, that was my presentation. Um, any questions?
32:27 Mo Wootten: Uh, we've got one question around how you… How did you automate collecting the match result? Did you automate collecting?
32:33 Rob Taylor: I did not automate it, no. I was… I'm old school. I, I AID spreadsheets, get it exactly how I want it, and then every morning, 'cause obviously the games were on at silly o'clock for us here. Every morning I'd log on, put all the, the scores in, and then, um, refresh my dashboard.
32:51 Mo Wootten: There's a lot to be said for manual data collection, even in this day and age.
32:54 Rob Taylor: I… Well, 'cause it was so few, and the, the effort it would've taken me to… Well, probably not anymore. I could obviously vibe code something. But the effort it would've taken me to code, getting the results would've been more than just typing them in quickly.
33:06 Mo Wootten: Yeah. Totally get that. Wicked. Thanks very much, Rob. That was excellent. Um, really great to kind of get a view into your process as well. I love the tutorial on circles. Um, for anyone who is able to kick about for the second half of this, I will also be talking about map layers, but slightly differently to Rob. So we'll have a fantastic synergy between the pair of us of actually how you can use map layers, and some different approaches to using them.
33:31 But yeah, I think that's a, a real thing of beauty that you've made. So thanks very much for coming in and sharing it.
33:36 Rob Taylor: Yeah, it's, it's nice to be able to try and build everything in Tableau as well. I very… I, I… There is a bit of a Figma background, but only for the, um, the names of the groups-
33:43 Mo Wootten: Mm-hmm
33:43 Rob Taylor: … 'cause you can't do circular text in Tableau, obviously. Um, so I… Yeah, a lot of my viz I try to build everything in Tableau-
33:50 Mo Wootten: Yeah
33:50 Rob Taylor: … which is probably not a great thing, 'cause it takes me longer. Um, but I enjoy the, uh, challenge of doing it.
33:57 Mo Wootten: Yeah. I share your approach on that, as much as I recognize that you can do some very different things if you're gonna use custom backgrounds. Um, I also-
34:05 Rob Taylor: Yeah
34:05 Mo Wootten: … like the challenge of, of doing it. So wonderful. Excellent. Um, if anyone's got any more questions, I will very much encourage you to reach out to Rob. You can find him on LinkedIn. You can find him on his website, The Data Sailor, and you can find him through, uh, Tableau Public as well.
34:21 Right.
34:23 Challenge accepted. World Cup data.
34:26 So we're trying something a bit new. We want to start, like I say, building this idea of a community, uh, a little bit more, and we want to take advantage of Tableau Public, which earlier I kept wanting to start calling Pablo. Uh, I might suggest that to them and see if maybe they'll pick it up. Um, there… You can now share data sources. You may have seen this, you may not have seen this.
34:46 Um, but it's a fantastic way of being able to package up data and make it available for people to use. Previously, we've done that in the past, but you had to download a workbook, and the data would come inside it. Now you can actually put a data source up there, and people can just click Create viz, and then they go straight into the web version of Tableau Public, which is almost as fully featured as the desktop version, and is a fantastic tool.
35:09 So to commemorate the FIFA Men's World Cup this year, we want to make some cool things.
35:12 Um, we've got two data sets, and they're available on Fred's Tablic Public… Tableau Public profile. I've included a little picture down at the bottom. I'll also try and put this up on my LinkedIn. Uh, so if you kind of want to come to it in a couple of days and you can't remember any of the details, you've got somewhere to go f- to find it.
35:29 Um, but you can go to Fred's profile, and then on Data Sources… Also check out his viz.
35:33 Wonderful.
35:35 But also on Data Sources, then there are two, the FIFA World Cup Database and the World Cup 2026. The FIFA World Cup Database actually only goes up to 2022/23, men's and women's, but it includes a huge amount of detail.
35:47 And the 2026, uh, covers the World Cup that happened this year. Less detail, more results, so similar to the stuff that Rob made. Um, and we're really curious to see whether you guys wanna make anything with it. I'm definitely gonna have a go at making something. The plan is then that we'll review it. Uh, we'll review kind of people's creations on, at the next one if they want us to.
36:06 Uh, and ideally we'd love to be able to pick a favorite and award some swag, uh, or something like that as well. Obviously, that's a bit vague at the moment. Uh, not making any commitments that we'll be able to do that, which is also why I've put everyone in a slightly awkward position of not showing any kind of criteria about what winning would look like.
36:24 So bear with us, but give it a go. Um, like I say, at the very least, I'm gonna have a go and try and create something fun and cool. And we're just looking for kind of interesting stories really. Interesting stories, interesting ways of telling them.
36:36 You know, it doesn't matter if it's a story that you've heard or a brand-new thing that you found. Kind of just have a look, have a go, and then, yeah, share your creations with us. We would love to see what you can do.
36:46 Right.
36:47 Uh, I'm gonna talk about some NFL drive charts now. Thank you for listening to me this far.
36:53 I'll start with a little bit about who am I, for those who don't know. So this is a picture of me and a colleague of mine, uh, winning the Data and Insights Awards for some work that I did with British Curling, actually, which is not a setup that Rob teed me up for earlier, but it is true when he mentioned it. Um, so I'm an award-winning data analysis and visualization expert.
37:11 I actually do work in sport currently, and I help Olympic and Paralympic sports use their data to make the athletes go faster and keep them healthier. Uh, I started using Tableau in about 2017, and kind of similar to Rob, got very seriously into it during the pandemic.
37:23 Uh, and I've been a Tableau Ambassador since 2022, and as well as co-leading the SportsTUG, I also co-lead London TUG, and Sports Viz Sunday, which was a community initiative that's kind of currently on hiatus while we work out what we're gonna do with it, and really how we can incorporate it into this. Um, CJ, if you've got any ideas and you're still in the chat, would love to hear kind of what you think.
37:42 So that's a bit about me. So kind of sport all the way around, um, which creates some interesting pressure sometimes when I'm creating Tableau vizzes of feeling like I need to create the sparkliest of sparklies, as someone once described medals, which I thought was a good way of talking about it.
37:58 What are these? These are NFL drive charts.
38:02 Uh, this is what I'm gonna be talking about, but the general idea was that I wanted to create something a little bit like Rob said, that's got kind of a data art angle to it, but gives people a lot of visibility of what happened in the game, allows people to catch up if they weren't watching it live, uh, and kind of create something as well that's really interesting when you put all of them together.
38:23 So I'm gonna talk a little bit through my inspiration for these, kind of some of the sources that I took, and then I'm gonna talk about using map layers to create them in a slightly different approach to, uh, how Rob did with his.
38:35 So why do this at all?
38:37 Fantasy football.
38:40 I play fantasy football with some friends of mine. Uh, so this is fantasy American football. I do play Fantasy Premier League, but that's a story for another time.
38:46 Um, and obviously most of the games happen overnight, uh, while I'm asleep, and I wanted a way to be able to catch up on kind of roughly what happened that was more interesting than trying to read a summary, but required less time commitment than kind of a Game in 40 highlights, or even sometimes the kind of Game in 10 highlights that you can get on YouTube.
39:04 So where this started for me was, can I find a way to kind of share what happened during the game for myself so that I can absorb kind of some of the highlights between how teams won, how teams performed against other teams, and find out where there might be something that I can dig into that might have a bit more fantasy relevance.
39:23 So some of the early influences that I had when I was thinking about this were kind of a lot of the stuff that you see around football. So this is an example looking at momentum graphs. This actually I think would've come after I created my NFL drive charts or first started thinking about them.
39:36 Um, but this was the kind of thing I had in my mind, you know, this idea of telling the story of a game.
39:43 And also, I took a lot of inspiration from the stuff that Krisztina Szűcs creates. I still do. I think, for my money, she's one, one of my favorite designers out there. She creates the most amazing stuff, just completely different way of looking at sporting outcomes, and packing a huge amount of information, again, that tells the story and the narrative of the sporting event, as well as just kind of the outcome and the results.
40:04 Um, so yeah. So kind of she's a- an evergreen kind of inspiration for me.
40:12 Right. There are also some NFL visualizations, uh, that I took some inspiration from. But first, I'm gonna talk a little bit about NFL basics for anyone who kind of isn't familiar, because it'll help give you some context as to how the visualizations work and why they look the way they look.
40:26 So for anyone who hasn't played American football or the NFL, you score by catching or running the ball into the end zone, which gets you six points, or by kicking the ball through the posts, which gets you three points. People who are familiar with the NFL, don't @ me.
40:39 There is obviously more, but I'm just running through the basics at the moment.
40:43 The team who has the ball has four attempts, they're called downs, to move the ball at least 10 yards or score some points in those four attempts.
40:52 Um, and that is kind of key to the rhythm of the whole game. The team without the ball are just trying to prevent the ball from being moved, or they want to try and catch it and run it all the way up the other end of the pitch into the other end zone themselves, because you can still score even if you're on defense rather than offense.
41:10 And then if the team with the ball fails to move it at least 10 yards or score some points, the other team gets the ball from where it last was. So that could be from where you caught it, it could be from where the opposing team last touched it, kind of there's a lot of stuff that goes on. But essentially, that's the basics. You're trying to get the ball down the other end, but you've got a very limited number of downs, a limited number of attempts to do that before the opposition team get their go to go down the end.
41:34 So what does this mean for visualization? It means a kind of a few things. That an NFL game is a series of discrete events, which makes it quite good to visualize, because a game is broken down into kind of plays and drives. So a play is one attempt to move the ball, one down, and a drive is a series of plays, so the team marching kind of down the field.
41:53 The NFL and American football is very, very data rich. There is a huge amount of publicly available data, and I'll talk a bit about the data that I used, uh, a little bit later.
42:03 But there is absolutely masses, so mu- like far, far more than anything that you can find publicly available in any other sport.
42:12 Um, so that also means that everything that happens in the game, you can pretty much get your hands on it, and then you can use it to visualize if you want to.
42:22 And there's lots of variation in the detail, but a very simple purpose. So like I said, you want to get the ball into the end zone. Variation, you can run it, you can kick it, you can throw it, but fundamentally, you're trying to get the ball into the end zone. So there's a simple narrative to what the team is trying to achieve, but lots of variation in how they can achieve that.
42:39 So these are all considerations around the decisions that I made when I wanted to visualize it, and, uh, kind of as I'll show you, some of them led me very much down the wrong way.
42:48 There's a couple of very specific NFL visualization influences, so one from Bo McCready. He's an- another person who is one of my all-time inspiration go-tos when I'm stuck for something. I go and see what Bo's doing, uh, and see what he's done, and you can see he created a college football kind of circular one, taking cues from Rob.
43:07 Um- Which again, kind of, you can see it breaks down the play into these little lines moving from one end of the field to the other.
43:14 But also I found this very, very old kind of drive chart plotting, uh, the m- movement of the teams down the field from left to right, and this was kind of much more similar to what I had in my head. Now, I haven't actually found any modern versions of this at all. It's the sort of thing that I would have expected ESPN or another one of the American sports broadcasters to have been all over and made some versions of, but I couldn't find any.
43:38 Um, there's been some other homemade examples of people making them for their own projects, but nothing commercialized, which I found really peculiar because actually I think this style works really well. I think it looks really good, shows you kind of where the teams are, shows you how the ball moves backwards and forwards, kind of gives you an idea of what happened in the game before you got there.
43:59 Data, data everywhere. I talked about it being data rich. Um, there is… You can… Well, there's a website and a package called nflfastR.
44:07 Um, they make publicly available NFL data. There's something like 300 fields that you can use of data. It just, it's buckets. It's mind-blowing the amount of stuff that you can get, uh, in there.
44:24 Um, and you can access it through R, you can access it through Python, you can download it as CSVs. Yeah, so it's incredibly flexible to work with as well. But it takes all of the hassle out of worrying about it, and they automate it. So they update it as the games play, you know, kind of at the end of the time, so you can just hook up to all of their stuff and just use it.
44:43 It's… Yeah. It, it makes for American football, it's a, a very good resource.
44:49 So I started out thinking, "Right, I'm gonna do something in Tableau Prep as well." I don't use Prep very often, but I thought I'd give it a go, and I was like, "I've got a very original idea." Um, and this is kind of an example of actually where I started to go a bit awry to, really in my first attempt.
45:04 So this is me trying to show everything that happened, and this is kind of to your point, Rob, about the restraint in which data to use. I was trying to show whether they'd thrown the ball or run the ball. I was trying to show whether actually a foul had been given and the ball had been advanced because of that, whether actually someone had been sacked, and so the ball had gone backwards instead of forwards, but it was still in their possession.
45:24 If it had been caught, how far had they run it, when they'd intercepted it, had they kicked a field goal?
45:29 All of these things.
45:31 And I was also using Prep to create all of these fields in my head that I knew I'd need in Tableau to kind of build this out.
45:38 But actually, a lot of the stuff I was creating already existed, uh, and already had better definitions than I was trying to create on the fly, that took into account whether all of these detailed outcomes changed things like the number of plays. So, you know, if this event happens here, it doesn't change the play, but if you're cr- trying to code it, uh, from scratch, you can forget about including that event, and you can then do something else.
46:06 Um, so it's a, a very kind of…
46:11 Yeah, very easy to get lost. And like I say, I did get kind of really very lost. And I had a lot of fun, but I just wasn't kind of getting to where I wanted to get to. Uh, I was also doing a bit of data, data scaffolding. Rob talked about this. It's key for using map layers. I, I had my data source, I had a noodle. I just used four points because the most I was gonna be doing in this situation was creating a box.
46:31 At the time, that was because I was drawing lots of rectangles, as you saw in the previous slide, but actually also, you know, the most you're gonna need is a, a box. I wasn't gonna draw any circles this time, so I could keep it down a bit. But also, that massively inflates your data set, so you can end up with tens of thousands, hundreds of thousands of points in your view if you're not careful, uh, which can just make it quite slow to work with, especially when you put it up onto Tableau Public, which is ultimately where we kind of aim for these things to go.
47:00 Right.
47:01 A bit about the build.
47:04 Uh, map layers. Rob's given us a great introduction to map layers, um, but essentially you can use the X and the Y coordinates on a grid to plot a point.
47:12 Um, a curiosity in Tableau is that their Make Point function is reversed. So most coordinate systems are X and Y.
47:19 Uh, Tableau is Y and X.
47:22 Just to get briefly technical for a minute, this doesn't ha- well, this kind of resolves itself if you use map layers by creating them and then you swap the axes, which is one of the commonly, um, suggested ways that you'll see of doing it.
47:37 Because that then takes Tableau out of plotting things on a map, which is what it would do by default if you're using map layers, and puts it onto a grid instead, so it becomes like a scatter plot that you can draw on.
47:47 Um, I do it a different way, which is I just turn the map off, but that means that I still end up with this backwards YX kind of thing. So it's just a, a quirk. If you find yourself in that position, hit me up. I've… You know, it's, it's too detailed for any of this. But essentially, the Make Point works. You can say if point ID equals one, then put your point at Y1, X1.
48:05 If point ID equals two, put your point at Y2, X2. You can then put that into your view. That will draw a line between those two points.
48:13 So very, very customizable, as Rob was saying, and you can draw much more complicated shapes than circles with a bit of trigonometry and some clever thinking.
48:22 Uh, industrial parameterisation or making your map layers relative. Rob kind of touched on this when he was talking about radius. When you're working with map layers, you want to put as much stuff into parameters or calculated fields as possible so that you only have to change it in one place.
48:37 Um, you don't want to be building something on, on something on something on something on something, and you end up with suddenly if you think, "Oh, actually I need to make that a bit longer," now need to change it in 15 different places. Um, something that inevitably will probably happen to all of us. It certainly happened to me when I was building this a few times before I put the brakes on and just put everything into a parameter.
49:00 So a few examples of how that worked here for me. The X-axis, I stuck it between nought and 100 because a pitch is 100 yards, so that makes everything very logical when you're thinking about kind of yardage.
49:11 Um, the pitch locations are standardized to be from the point of view of one team. So, as I'll show you in a minute, what that actually means is that one team goes in positive numbers, 5, 10, 15, 20. The other team goes in negative numbers, and they're going down the other end of the pitch, so they're going 100 to nought.
49:25 And then the Y axis is the drive number. So I talked earlier about the ball kind of swapping sides depending on whether teams score points or lose possession. Um, and this was a way of separating it so that the match starts at the top and finishes at the bottom as the teams go left to right throughout. I also included a modifier, which I'll talk about a little bit later.
49:45 So the home team go from right to left, which means their length of drives is negative. The away team goes from left to right, which means their length of drives is positive.
49:53 But everything can be done in kind of integers, and everything can be done in yards so that I don't have to try and think about converting things into decimals or standardizing things into some other sorts of numbers.
50:06 Map layers all the way down. Um, I don't know how many I've got. I didn't count them. I've sort of grouped some of them up together, but much like Rob, I suspect a lot. Um, so I've kind of broadly grouped them together into the main themes that I use. Now, the thing that is really powerful about map layers is that you can layer them on top of each other.
50:26 Why is that interesting and important? Because when you think about you free yourself from the limits of trying to draw the specific shape you're after, and you think about how you can overlay things on top of each other to get the same effect, it suddenly becomes a lot easier to think about what you're actually trying to do. So for those who started way, way back in spreadsheets, this is an Excel trick, kind of, of being able to break out of the graphs.
50:49 You can create all sorts of shapes by just layering things on top of each other. Much the same with this. You can create all sorts of different layers, and it means you're not trying to draw everything all at once, which can create some really difficult kind of shapes to draw.
51:04 So the first thing that I had on mine is the field of play. So this is the goal lines and then some 20-meter and 50-meter kind of marker lines.
51:11 Next up comes the drives. So this is each team's possession of the ball, trying to get it into the end line. And you can see that the length of the bar shows how far they managed to go, and the width of the bar is the number of plays. So how many attempts did it take them? Did they just throw it once, and it went all the way down the end?
51:27 Were they passing it, doing lots of tiny runs and slowly building momentum and sucking up time?
51:32 I also put in a little icon. Might be a little small to see on there, but there's a little white triangle that shows you which direction the team was going and where they started with the ball as well to give you that kind of visual clue, so you're not having to hunt too hard to make sense of what's going on. And you can see here already some of the possessions where the teams made it to the end line and scored points.
51:52 Field goals were next up. So this was demarking where the teams kicked. Uh, at the moment, there's no difference whether successful or unsuccessful, but you can now see these little lines coming on. And again, they're different to the drive lines. They're much thinner, so you get that separation.
52:07 And then defensive actions, where a team did manage to catch the ball. And in this case, you can see that the blue team also had that dashed line. That's where they caught the ball and ran it all the way to the end zone at the other end. So that's quite an important defensive action because it will affect the score, uh, as well.
52:24 Right. Now we get into a little bit more kind of scoring and labeling. So we've got the basics of our chart down. So now we keep track of the score, uh, on either side. And I've also introduced just these little markers, FG for field goal, TD for touchdown.
52:38 When you score a touchdown, so this is when you run or you pass the ball into the end zone, uh, you get the option to either throw the ball for– or run the ball again into the end zone from sort of 10 yards out for two points, or you can kick a conversion for one point, kind of similar to rugby.
52:54 Um, so I've also got some little icons there in the little triangles that show whether the team attempted to go for one or two points, one triangle or two triangles, and then whether they were successful, the triangle is block, or whether they were unsuccessful, the triangle is an outline. So you can see in the bottom right-hand side, the red team there, they were behind.
53:12 They scored a touchdown. They tried to go for two points. They weren't very successful. Uh, I don't have any marks for turnovers. I did have on a previous version, um, but it's kinda… Well, the cross marks a turnover, um, but other than nothing more than kind of that.
53:29 Uh, and then the last bit was just to include a bit of shading so you can see which team is leading at each point as well. So what I'm also trying to do here is allow if you've only got 30 seconds, you can look at it and go, "Oh, yeah, that team ran off with it." But if you've got a bit more time, you can dig a little bit further and start to get a bit more information about how they managed to, to get the score and how they managed to win.
53:49 A little bit of game timing. So this is showing half time and quarters because an American football game is broken down into 15-minute quarters. So just giving, again, a bit more flavor if you want it around where did most of the action happen. Was it all done by half time? Actually, did a load of the points come in what they call garbage time, right at the end, where one team is so far ahead that they just kind of stop trying quite so hard and tend to give up a lot of points?
54:12 Um, all very kind of useful to see from a fantasy perspective when you're trying to understand which players may or may not have been involved in something.
54:21 And then I added a win probability, uh, which is just to give you some idea of how the general flavor of the game was going.
54:29 Um, was it, you know, was this a really important kind of moment in the game? Or actually, in this case, you can see that the blue team really started to crank the handle, and actually they were kind of running away with it. And although they gave up some touchdowns in the last quarter, it didn't really affect their chance of winning. They were already too far ahead.
54:48 Uh, the width of the drive line is the number of plays, so number of attempts, number of downs that it took, uh, that that team had the ball for. So you can think of that as a proxy for kind of time in possession.
55:01 Um, did they have the ball a lot? Did it take them a long time, or were they just trying to hoof it 50 yards straight away?
55:10 And then the last thing was actually to make it readable. So now I, I've added a key. I, I've added the teams, Seattle and New England, so it's the Seahawks and Patriots.
55:19 Uh, and this was actually the story of the Super Bowl. Uh, if anyone kind of picked that up from being able to look at it.
55:25 Um, and so this is then to bring it all together, so to fill in those final bits, so obviously you're not going to be there being able to explain what happened to your viewer, so you do want them to be able to kind of figure it out for themselves.
55:37 I am a big fan of exploratory design rather than explanatory design, so I do actually leave a lot of stuff kind of unlabeled or slightly unclear.
55:48 So it's there, the information is there and what it means, but the user- the viewer needs to kind of discover it for themselves a little bit if they want to.
55:57 But like I say, you want to keep those top line messages really clear so that everybody looking at it comes away with the same thing. In this case, that would be who won, kind of how much by. You don't want to leave that information out there, 'cause you don't want people to misunderstand what it says.
56:12 Um, a little bit about the power of feedback. This one on the left-hand side is where I started. So in my head, I'd had an idea of being able to do all of this on one page, show all of the games in one week.
56:21 Actually, the feedback I got from friends who are American football fans was that this was just too complicated. Just kind of keep it as, well, at least that way was focus on just telling one story at a time. That works much better.
56:34 And then I went through a process of just kind of iterating on the different designs, iterating on different ways of trying to show information, working out which information to show and which information to take out. I had stuff in there about whether somebody was sacked, for example, so whether the quarterback was knocked over and they still had the ball in their hand, um, as well as lots of kind of other bits.
56:54 Was trying to show kind of too much detail, and the message I kept getting over and over again was, "It needs to be more simple. It needs to be more simple. It needs to be more simple." And then it's really simple. What does that mean? What does that mean? What does that mean? What does that mean? Um, which kind of then led me to, to where I am now.
57:10 Um, I'm usually quite slow to get feedback. I'll be kind of honest about that. Um, and whenever I do, it always makes my designs much, much better, so I would encourage you, if you're thinking about designing anything, to always seek feedback. Doesn't have to be from everybody, you can just pick one person that you trust. Um, but yeah, always get feedback 'cause it will always enhance kind of what you're trying to do, and you'll end up with something that you're really proud of and really you think looks really cool.
57:36 Uh, history repeats itself. So actually, I did then put them all on one page, but because I'd now spent so much time concentrating on how to tell the story of each game, when you put it all on one page, it no longer felt overwhelming and confusing. It now made s- much more sense and was much less threatening for people to look at.
57:56 And this is where the Y-axis modifier comes in. So you'll notice that they're all kind of centered now. Um, this is all built on kind of, uh, small multiples grid, which is another thing that I'm a big fan on, fan of, and will try to do every opportunity.
58:13 And there's a modifier which takes the number of maximum number of drives in a game and then uses it to basically center each match. So you can see in this case that the, it's more centered in the page compared to the, the game on the right-hand side and the game on the left-hand side.
58:32 They're not centered on half-time because the distribution of play on a match isn't always evenly split on half and half, but they're all centered so that each one is in the middle of its own kind of picture, which just helps give it a little bit more flow. But that's built into all the way back at the beginning when I was talking about industrial parameterisation.
58:50 That's built in there. So if you weren't creating parameters, it would be really hard to go back and try and do this, uh, after the event.
58:59 Interactions and a peek under the hoods. I'm conscious that we're running over, so I'll make this super quick.
59:04 Uh, here it is. This is what it looks like live. This is on my profile. I'll see, hopefully, um, I'll be able to get a tool tip up because there is a bit more information in there. It's a little slow. There we go.
59:18 So now if you hover over the drive, um, you can then see how many plays per drive is that drive, but also what's the distribution for each team in this match, and what's the yards gained per drive. So how far down the match did they go? So you can see in this match, for example, uh, that, uh, the Ravens were pretty consistent in their plays per drive.
59:39 The Pittsburgh Steelers had far, far more and far, far less.
59:43 Um, they have much more variation in their drive. And that also the Ravens, so the Baltimore Ravens in, in blue, uh, were a little bit better at going further down the field with their drives as well.
59:56 So that's just a little bit of extra information that you can get because we like to build things in Tableau, we like them to be interactive. After all, that is one of the great strengths of it.
1:00:05 And I'll just hop into the edit. So this is, if anyone hasn't seen it, this is the web version of Tableau Public that you can use to create vizzes and edit stuff that you've published. Um, it's very, very good. It's very, very, kind of like I say, very full featured. And I'll just hop in here to give you an idea. This is what it looks like down the side.
1:00:30 So these are all of the layers that I've got down here. I've got a load of different things going on with colors to try and make sure the right teams are colored.
1:00:39 And I think I'm kind of showing you this because it's very easy to look at the finished products up on Tableau Public and think, "Wow, that looks really clean and really organized and really systematic." And then you look at the things you're building and because you're inside them, you go, "Mine's really scrubby, it's really rough. I've got a thousand layers.
1:00:58 I've got 17 different things driving colors." And I guess I kind of want to just show you that that's really normal, even for like cool stuff. So this was, uh, one Viz of the Day a little while ago, which I was very pleased about.
1:01:13 And in the back end it is, like Rob's was, you know, this fantastic output, loads of layers. You just need as many layers as you need. Loads of different fields doing color because sometimes you need the same thing, but you need it to happen on a different action or a different interaction.
1:01:28 So yeah, if you're building something and you feel like it's really ugly on the back end, don't worry about it.
1:01:34 Absolutely don't worry about it. It's what comes out kind of the front end is the bit that you're driving for, and this bit just looks like how it needs to look in order to get the output that you wanna get.
1:01:44 Cool.
1:01:45 That's, uh, everything that I was gonna say about that.
1:01:50 Lovely job. Right.
1:01:54 If anyone's got any questions, conscious or whatever, uh, you can find me and Steven and Rob, uh, on LinkedIn.
1:02:00 Uh, you may be able to find us on Twitter, X. I wouldn't rely on that, certainly not for myself anymore. Um, I do have a presence there, but I don't really check it. Um, otherwise you can find us kind of through Tableau, or also you can find certainly me, myself, on the Tableau Community Slack channel, which is a really cool place to be as well. Uh, and you kind of get first notice of things that are going on.
1:02:22 Um, and you can share visions with other people. You can get inspiration. You can say hi and all of this stuff. And at some point down the line, I'd like to think maybe we'll get another little sports corner in there. Um, but that will be, I think, another time.
1:02:35 So all that remains from me is to say thank you very much for everyone coming. Thank you very much for asking your questions, for your feedback in the chat as well. Uh, we tried to pick up some of it. I've certainly tried to, uh, address it as I was going along.
1:02:50 Um, but yeah, if you wanna pick up any of these conversations, then feel free to hit us up outside, and we'll see you at the next one, which I hope will be December-ish. We want to try and get into a habit of doing kind of one a quarter, but you all got here because you were signed up on Bevy, so you'll get an email when we announce the next one.
1:03:07 Uh, and you might see it on LinkedIn and some other places as well. So thank you very much from me, and I hope you enjoy the rest of your evening and/or day, depending on what time it is where you are.
1:03:18 Rob Taylor: Thank you, everyone. Thanks for having me.
1:03:20 Mo Wootten: Thank you very much, Rob. An absolute pleasure.
1:03:22 Steven Scott: Cheers.
1:03:24 Thanks, everyone.
Shorts for this TUG
- Sport is one of the two common languages 0:16
- Find your joy and the Tableau skills follow 5:39
- Map layers: 3 sheets, 26 layers, build anything 7:33
- The 'how to read' overlay trick for busy dashboards 11:34
- A sneaky trick to get England winning in the middle 15:36
- Park your build parameters off the dashboard edge 16:41
- How to draw a circle in Tableau with sine and cosine 21:39
- How did you automate the results? I didn't 32:30
- Challenge accepted: viz the World Cup data 34:42
- nflfastR: 300 fields of free NFL data, auto-updated 44:05
- Tableau's MAKEPOINT is Y, X — not X, Y 47:12
- Industrial parameterisation: change it in one place 48:22
- Stop drawing the shape. Layer it instead 50:19
- 'It needs to be more simple' — the power of feedback 56:21
- Your messy Tableau back end is completely normal 1:00:39