Recently I got hassled at the local shop for breaking out my B-Wings for yet another Friday of X-Wing, so I started developing some new lists. In one idea I had a point to spend and open slots on a Green Squadron A-Wing. I realized that you could combo Veteran Instincts, A-Wing Test Pilot, and Adaptability to bump it up 3 pilot skill levels for just 1 squad point cost, taking it to PS6. But would that be actually do anything, let alone be the best option? A credible theory I’ve put some stock into is that there’s almost no value to increasing pilot skill in the middle band from ~3 to ~6, because aces will still beat you and swarm ships were already below you.
So, I got to wondering: What is the average skill of all the pilots in the game? The theory is that if the combo puts the A-Wing’s pilot skill above half the ships in the game then it would get to shoot more than half the ships it might encounter before they could shoot it, and that’s maybe worthwhile. But then I had an important follow-on observation: There are a ton of unpopular pilots and ships in the game. So what is the average skill of all the pilots people actually use?
To answer those questions I wrote some simple programs to compile the necessary data from a couple sources. That data is then exported as simple CSV files, so that even non-programmers can play around with them using any spreadsheet tool they wish and conduct their own data-driven investigations toward squadron building. The scripts as well as archived outputs are linked below, along with an example of how to use the data in answering those pilot skill questions. From there I also continue development of my metrics for evaluating beginner squadrons.
The X-Wing community has built a number of great resources and data sets, many of which interoperate. In particular, most of them use identifiers and schemas from the X-Wing Squadron Specification (XWS) so that they can do things like import and export squad lists to and from other tools. Several tools also directly utilize the comprehensive card data and images collected in the X-Wing Data repository. Many tournament lists have been upload over the past ~3 years to List Juggler by event organizers and community members. The latter itself presents a lot of interesting data for analysis (e.g., its time series charts), but I couldn’t seem to clearly answer some of the questions I had with just its web interface. So I wrote a script to download lists from List Juggler, and another to correlate them with the ship and pilot data from X-Wing Data. Those scripts are available in the X-Wing CSV repository on GitHub.
So that non-programmers don’t have to set up the programming environment required to run the scripts, archived data is included in the repository. These are linked from the main README page, which will be updated as new releases come out.
There are currently three files generated by the compilation script:
ships.csv: All the nominal ships stats and properties. Technically stats are defined by specific pilot cards, but in reality there is only one pilot with different baseline stats for its ship class: The Outer Rim Smuggler, a lesser version of the YT-1300. So most people quite reasonably tend to think in terms of ship classes and associated stats, which are presented here. The Smuggler is included as a separate entry. Auto-include titles like Alliance Overhaul and similar upgrades that effectively change the baseline stats for a class are not incorporated.
pilots.csv: All of the pilots in the game, their ship stats, and counts breaking down all the times that pilot has been used in a list captured in List Juggler. These are reported for all lists as well as lists for events held within the past 4 months.
lists.csv: Summaries of all the lists captured in List Juggler. The core of this are summed stats needed to do some simple squadron analysis based on raw attacks, agility, hull points+shields, and the number of ships.
For consistency in its most typical use the compilation only includes standard dogfight tournaments. A small number of events in List Juggler are marked as standard but report lists of over 100 points in ships alone, which are discarded. The script does not currently evaluate upgrade card costs to determine invalidity of other lists.
There are also a small number of lists reported that are obviously either incomplete or for a smaller, non-standard event format, such as Escalation or Ace Wing, but not marked appropriately. It is sometimes difficult to tell even manually if these are valid, and would be somewhat difficult to reliably weed out automatically. For now they are therefore simply included—future code additions processing all the upgrades might tackle excluding these. However, they’re such a miniscule portion of the reported lists, a few dozen out of tens of thousands, that they don’t affect the statistics meaningfully.
As a quick summary, there are currently 40 ships in the game for standard play (plus the Outer Rim Smuggler), and 5 more for Epic play. With Wave X having just hit stores recently, there are 234 dogfighting pilots. The scripts are able to export 21,419 squadron lists from List Juggler, encompassing 66,677 pilot selections fielded over the course of 1,555 tournaments from summer 2014 to now. That’s quite a bit of usage data for a tabletop game, enabling a variety of basic quantitative analyses.
Answering the initial question about average pilot skill is trivial with the pilot data. First import
pilots.csv into your spreadsheet program; in this demonstration I use Google Spreadsheets. Insert two rows at the top of the table. At the top of the Skill column (H), enter the formula
=average(H4:H). Given that baseline pilot skill is on a fixed scale from 1 to 9 there can’t be outliers skewing the average, but just to check we’ll also compute the median. In the second row of the Skill column enter the formula
The two values are almost identical, 5.085 for the average and 5 for the median. That the median is 5 means by definition that at least half the pilots in the game have a pilot skill of 5 or lower. We can check this precisely by adding another row and another formula,
=countif(H5:H,"<=5"). Finally, to quickly get a count of how many ships there are, add another row and the formula
=counta(H6:H). Those reveal that 126 out of 234 distinct pilots in the game, 54%, have pilot skill 5 or less.
That means we can make a simple claim about spending a squad point to boost a Green Squadron pilot to PS6: It’ll then shoot before more than 54% of the pilots it could possibly face off against. But what about the pilots it is likely to encounter?
That can also be answered using
pilots.csv, still in Google Docs. First freeze the display so the labels remain in view while scrolling: Select the “Name” label, cell A5. Under the View -> Freeze menu, select “Up to current row” and then “Up to current column.” The column labels and pilot names will now be fixed in the display.
All the way over to the right of the data, use the empty column AM to multiply the Total All Time Uses (Y) and Skill (H) columns by entering the formula
=Y6*H6 in the first pilot’s row (Wedge Antilles). Select that cell and all those below it down to the bottom of the data and then hit CTRL+D to copy that formula (“fill down”) into all the selected cells. Back at the top, use the empty cell AM4 to sum all of those values with the formula
=sum(AM6:AM). Put similar in column Y, All Time Total Uses: =sum(Y6:Y). In another empty cell divide the former by the latter,
=AM4/Y4, to get the average of all pilot skills ever used in List Juggler’s tournament reports. The median would take a bit more effort to compute from this data compilation, but as there are no pilot skill outliers the average shouldn’t be overly skewed so it’s not necessary to do so.
The result of average pilot skill 5.06 is shockingly close to the average and median for what’s available in the game. I expected the average pilot skill in actual use to be closer to 7 given the longstanding popularity of high pilot skill aces like Soontir Fel. A follow-up question then is that perhaps pilot skill has crept higher with more recent releases? However, that turns out not to be the case. The data compilation also includes Total Recent Uses, which can be similarly used to compute the average pilot skill over lists used in the past four months. That average is a tad higher at 5.5, but still very close to the center of the possible range.
Caveat large scale errors in the scripts or data, it now seems plausible to extend the claim about the PS6 Green Squadron Pilot: It will shoot before the majority of the pilots it will actually face in competitive play. We can actually compute this from the compiled data, PS6 is higher than 52% of all pilots used. Maybe there are better things to do with that squadron point, but now we have hard data about what effect the combo would have and quantitative evidence that it might at least be useful. For a counter example, it would probably not be worthwhile to boost the pilot to just PS4 as the large majority of ships would still shoot before it, and in a blocking role it may as well stay at PS3.
Another indication from these numbers is that pilot skill is well balanced. That the average over all pilots in the game is at the mid-point of the range indicates that their designs are probably being spread across it evenly. More importantly, a range of pilots from both the low and high sides of the skill spectrum are useful and actually seeing competitive play. We’re not, for example, seeing a decided favoring of high pilot skill.
The former, including pilots with a range of pilot skills, is of course simply a matter of the designers deciding to do so, and you can see this in the blisters nearly all including a mix of pilot skills. But balancing the other stats, points costs, and special abilities to make the low pilot skill generics actually as useful in their way as the high pilot skill aces (and vice versa) cannot be easy. That’s impressive design and balancing for a collectible game grown over several years now, and Fantasy Flight deserves credit for it. Obviously this is just one measure, but it’s indicative of intentional game balancing that has successfully kept a relatively large swath of pilots relevant.
Of course, the average is just part of the story. From this compiled data we can also plot histograms of pilot skill. In design terms, these breakdowns show largely what we expect to see: FFG is purposefully including pilots across the spectrum of pilot skills, so the chart of all pilots has a fairly normal distribution with just a bit of skew.
The breakdowns of actual use though show a different story, but one you might expect from playing the game for a while: A ton of PS2 pilots see use, and then a mix of aces between PS7 to PS9. Recently though this has smoothed out, with PS2 pilots seeing comparatively less use than they have for the past few years, and comparatively more pilots from the middle range of PS4–6 hitting the table.
Indeed, we can see that development by observing the shift to a larger pilot skill spread in looking at the top 5 most used pilots for “all time” (again, this is data starting in July 2014) versus the past four months:
All hail the Syndicate Thug, the unsung but everlasting pilot skill 2 power of the galaxy!
Using the data we can additionally develop some simple ideas on how to think about lists overall. Most of my “more serious” lists are built around a simple four-bullet rubric, previously discussed at length:
- Durability: Lots of hull points and shields without totally trading away agility;
- Firepower: Lots of baseline attacks, plenty of red dice to throw;
- Ships: Just enough ships to be robust and capable while remaining manageable;
- One Trick: A single special fancy play or combo.
Those guidelines are in contrast to, say, fancy 2-ship builds with a ton of upgrades, true swarms with overwhelming cheap ships, and other list archetypes.
The question then is what defines “lots” of hull points, firepower, etc.. In order to do some objective evaluation of my own lists by that rubric, I previously came up with a couple simple quantitative metrics based on intuition and roughly confirmed with a manual sampling of popular list designs:
- Durability: Survivability is based on two sub-metrics; I tend to focus on the first and make secondary decisions by the other—
- Hull Points+Shields: Sum combined hull points and shields of 22 constitutes a durable squadron that can outlast a beating.
- Agility: Average 3 agility per ship is good, 2 is average, and 1 is inferior.
- Firepower: Baseline sum total of 10 attacks or more constitutes high firepower.
- Ships: Lists with 3 or 4 ships are the easiest to play effectively.
Using the data in
lists.csv, the reasonableness of these concrete metrics can be further evaluated against the many many competitive lists registered in List Juggler (again: about 22,000 since 2014). Calculations for those measures across all reported lists are:
The minimums here are mostly not informative because of the incomplete lists as discussed above. The others are valid and interesting though.
The max hull + shields of a whopping 46 points are from a handful of lists with a Scimitar Squadron Pilot (TIE Bomber) and 4x Omicron Group Pilots (Lamda-class Shuttles). The average of 21 and median of 20 though indicate that my threshold of at least 22 for a “durable” list was a reasonable estimate, capturing 39% of the lists. In the future I’ll probably move that threshold in my own thinking to either at least 23HP+S, for the top 1/3 of the lists, or at least 21HP+S, for roughly the top half.
One minimum in this table that is meaningful despite the incomplete lists is agility 0, which occurs in a large number of lists that have been common in competition. Double Ghosts are just one example. As expected just based on the very short scale of the agility stat, average agility 2 is a good target to hit, with about half the lists falling at or below that. Beyond that simple metric, the tradeoff in agility versus hull points and shields is more complex to evaluate. I have some thoughts on a computed metric combining hull points, shields, and agility, and hope to develop that in the future in order to better capture and evaluate ship and squadron robustness quantitatively.
In a sense just somewhat counter-intuitively but to be expected, max attacks comes from true swarms like 8x Academy Pilots or Z-95s, and some hybrids with an Interceptor or such thrown in there. My threshold of at least 10 attacks is well higher though, capturing only 20% of the lists. In the future I might consider high firepower to be 9 attacks, for the top 1/3 of the lists, or 8 attacks, for roughly the top half.
I was expecting the average number of ships to be a bit closer to 4, driven upward by previously seemingly popular swarms. However, true swarms turn out to be a miniscule portion of the lists fielded in competition, and even 5 ships is very rare. This data supports my belief that most people struggle to fly even that many ships effectively. No doubt part of the perception of swarms’ popularity was in fact their rarity combined with their necessarily homogenous nature, whereas all the many many more 2- and 3-ship lists don’t get grouped together mentally.
As expected, most people fly 3-ship squadrons, with the next big group fielding just 2. Squadron points being what they are, this necessarily means the latter are flying higher cost pilots loaded with upgrades, which lines up with looking around at game nights and seeing people working out complicated webs of pilot and upgrade combos. I still recommend beginners stick to 3 or 4 ships until they have a solid grip on basic flying.
As a sidenote related to squadron sizes albeit in complex fashion, most people are spending about 72–78 squadron points on ships/pilots rather than upgrades. As noted in the table above, about half the lists have an average pilot cost of 27 or 28 points. Some computation of ship points versus upgrade points is a promising measure to develop in the future for evaluating the characteristics of given squadrons.
Looking at the table of list metrics above for all lists recorded since 2014 versus recent lists used in the past four months, there does seem to have been a small trend toward:
- Smaller squadrons;
- Slightly lesser baseline stats across the board;
- More points spent on ships per average;
- Fewer points spent on ships in total.
Together this all implies a trend toward more utilization of unique pilots and upgrades, slightly more favoring of special abilities over bigger squadrons and basic dogfighting. That makes sense intuitively thinking about some of the ships and cards that have come out recently versus the earlier, simpler collection. However, more analysis would have to be done to determine if this is a statistically significant trend or not.
In the end, I got an answer to my question about whether or not a +3PS upgrade on a Green Squadron Pilot would achieve anything meaningful or not, though that’s not the same as proving it’s a good idea—effectiveness is not necessarily efficiency, and vice versa, and of course there’s more to a good squadron than any single decision. In the end after trying a list with that a couple times I think I’m going to try harder to free up two more points to put Push the Limit on that pilot instead…
That analysis also lead to some additional confirmation of my rough metrics for evaluating squadrons by my four-bullet rubric of durability, firepower, ships, and one trick, and generated data to refine the concrete quantitative thresholds a bit.
Along the way I wrote some tools to pull data from a couple of the great resources the X-Wing fan community has created, namely XWS Spec, X-Wing Data, and ListJuggler. Many thanks to the developers and contributors to those tools and resources! In return, I hope others are able to make use of the compiled data I’ve made available for easy analysis. If there’s interest I’ll update the archives and post announcements as new ships are released, so please let me know if you actually use the data. I also plan to update these scripts in the future to incorporate additional data, namely upgrades in addition to pilots, as well as perform other aggregation and calculations.
Thanks for reading!