French Duel Commander Metagame Project
🎯 Overview
Welcome to the Duel Commander Metagame Dashboard — a small community-driven project.
This project started from a small local experiment in Rennes, France. The question was simple: could we prepare for tournaments more seriously? People started thinking about logging their games in some sort of data sheets. That’s when I decided to come up with this project.
It started with a few games here and there registered by friends. A week after, I was recording every local FNM games results with some sort of automation. A month later, I plugged in the first 100 player tournament data.
We think that this silly project deserve a bit more results than our small local community now, and that everyone should have access to those informations.
💾 The Project
Players can easily record their games using this submission form.
The form is essentially a stylized Google Form (see How It Works below for details).
The most important fields are:
- Match result
- Command zones (both your and your opponent’s)
Other fields are optional but can help us fix errors or provide richer context. For instance, you might want to indicate where the game was played in the note (kitchen table, fnm, mtgo, RC, etc.).
From these entries, the system automatically computes metagame metrics and produces visuals like those below.
📊 Metagame Overview
The plots below summarize data collected since the most recent Duel Commander banlist.
They highlight the top 20 command zones by number of recorded games.
Matchup matrix
This matrix visualizes how each command zone performs against every other. It should be read as: “Row has X% win rate against Column.”
- The diagonal is fixed at 50% for easier visual comparison.
- Hovering over a cell displays the exact number of games contributing to that matchup.
This gives a quick overview of which decks tend to overperform or struggle in specific pairings.
Winrate confidence intervals
This chart shows each deck’s average win rate along with its 95% confidence interval - that is, the range within which the true win rate is expected to fall 95% of the time given current data.
A few important notes:
- Confidence intervals become less reliable when the number of recorded games is low.
- Average win rates are meta-dependent—they reflect performance against the decks actually played in this dataset. If your local metagame differs significantly, results may vary.
🏆 For Tournament Organizers
If you organize Duel Commander events, you can definitively help enrich the dataset!
Typically, you will have a form of dataset matching each player name with a command zone and sone access to a running eventlink. If that’s the case, you can contact me directly on discord @mwapl and I will show you how to produce data entries.
No dark magic here, only a light chrome extension to extract game results from eventlink, and a python script to match player names between pairings and your decklist entry.
🧰 Coming soon: an online version of those explainations with all the formating tools needed.
🔍 How It Works
Here’s a simplified overview of the process:
Game data collection
Players record their match results through a public form. This form is actually a custom Google Apps Script that mimics a standard Google Form but adds smarter behavior:
- Auto-completion for CZ
- Automatic detection of partners and backgrounds
- Dynamic synchronization of legal commanders retrieved directly from Scryfall
Automated data retrieval
A scheduled GitHub Action runs a Python script to download the form responses from the linked google sheet.
Data processing & visualization
R scripts preprocess the data and generate static interactive plots with ggplot2 and plotly. A dynamic page allowing to select the number of command zones and the time period is also contructed through shiny app.
Static website build
The plots are embedded here on this site, automatically updated every evening with Quarto.
Acknowledgments
A particular mention goes to the Roazhon DC team, which initiated the project and gave precious feedback.
Huge thanks to Aliquanto and Jiliac, whose R graphic styles inspired the look of these visualizations.
💡 This site is built and deployed automatically using GitHub Actions and GitHub Pages.
Each day, new game data is fetched, analyzed, and visualized — keeping the dashboard up to date for everyone.