Fencing Lab
Can you predict who wins a fencing bout?
Student project in progress · Started July 2026 · Updated as the dataset and analysis grow
I started this project because I kept wondering how predictable fencing really is. How much does tournament seeding actually tell us about where someone will finish? And what can individual bout results tell us that rankings don't?
I'm collecting results from national Cadet Men's Sabre competitions and using Excel and Python to look for patterns. I'll keep adding tournaments and updating the analysis as the dataset grows. I'm a 14-year-old learning this as I go - the tools, the methods, and the questions are all evolving together.
Questions I'm exploring
What I started out wondering
These are the questions I had before I collected any data. Some have been answered at least partially. Others are still in progress. Read my Blog posts where I share my thoughts, my progress and new questions as they come up.
1
If one fencer has a higher strength rating, how often do they actually win?
FencingTracker publishes strength ratings for every fencer based on their bout results. I wanted to know: does a higher rating actually predict who wins on the strip? Or is a single fencing bout too random for ratings to mean anything?
2
Does pre-tournament seeding predict where a fencer finishes?
Seeding is based on national ranking points. I wanted to know how well it actually predicts final placement and whether FencingTracker's strength rating does the same job better or worse.
3
Do pool results predict how far a fencer goes in DEs?
A fencer who goes 5–1 in pools doesn't always advance far in the bracket. Does pool performance tell us anything about what happens in DEs?
4
Can you predict tournament outcomes before they happen?
The long-term question. If the earlier patterns hold up as the dataset grows, is it possible to take a draw sheet and current ratings and estimate someone's chances of finishing at different levels? This is where I'd like the project to eventually go.
A data source worth knowing
FencingTracker — and why their data matters here
Before I could test whether stronger fencers win, I needed a way to put a number on "strength." USA Fencing's ranking points aren't designed for head-to-head comparison. FencingTracker gave me a way to do that and raised an interesting question about whether their rating and official seeding tell the same story.
Fencingtracker.com
FencingTracker is an independent site that tracks results and publishes its own strength ratings for competitive fencers. Their ratings are calculated from actual bout outcomes, which makes them useful as a predictor variable in a way that qualification points aren't.
One of the things I specifically wanted to understand was whether their strength metric and USA Fencing's official seeding tell the same story or whether they diverge in interesting ways. That comparison turned out to be one of the more useful parts of the analysis.
All data I'm using is publicly available on their site. I'm not republishing their ratings here. I'm using them as an input to my own analysis and crediting them as the source.
The data set
What I am working with
I started with just Cadet Men's Saber national events. Keeping the group narrow made the data easier to compare, and it's also the category I'm currently competing in.
5
National Cadet's Men Saber events
4,800+
Bouts with both fencers' ratings
1,290
Fencer-event records for placement analysis
Pool + DE
Both rounds tracked separately
A note on data and privacy: All results come from publicly available sources: USA Fencing published results and FencingTracker. I'm not republishing individual names or personal data. Any findings reflect aggregated patterns, not individual athletes. 13 fencer-event records had inconsistent data across their bouts and were noted in the analysis.
What I've found so far
Three hypotheses — with real numbers
These are the actual results from the dataset as it stands. Five events is a start. I'm treating these as early observations, not final conclusions. I've also tried to explain what each number actually means, because some of this wasn't obvious to me when I first looked at it.
Hypothesis 1: Strength Rating vs. Bout Outcome
Does the fencer with the higher strength rating win more often?
I matched each fencer's FencingTracker strength rating before each bout against the actual result. Simple question: does higher-rated mean higher chance of winning?
69.5%
The higher-rated fencer won 69.5% of the bouts. That was higher than I expected but it also means the lower-rated fencer still won almost one out of every three bouts.
I did the initial analysis in Excel, then rebuilt it in Python to learn how to do it programmatically. The results were consistent between both, which was a good check. The analysis excluded bouts where both fencers had identical ratings.
How I tested it
For each bout: calculated strength gap (Fencer A − Fencer B). Identified who was stronger. Checked whether the stronger fencer won and calculated overall win percentage. Also compared against FencingTracker's own win_chance estimates as a sanity check. The direction matched.
Based on 4,800+ bouts across 5 events. The pattern is consistent but the dataset is still relatively small for drawing firm conclusions.
Hypothesis 2: Seeding vs. Final Placement
If you are seeded in the Top 8, how often do you actually finish in the Top 8?
This question needed a different setup than the bout analysis. Instead of one row per bout, I needed one row per fencer per event — with their seed going in and their final placement coming out. I built a dataset of 1,290 fencer-event records from the same five tournaments to test this.
HOW I MEASURED IT — TOP-N ACCURACY
I asked: of the fencers predicted to finish in the Top N, what percentage actually did? For example, for N=8: if 8 fencers are seeded in positions 1–8, how many of them actually finish in positions 1–8? That percentage is the "Top-8 accuracy." A score of 100% would mean seeding perfectly predicted the top 8. A score of 50% means half of the fencers seeded in the Top 8 actually finished there.
Here's what the accuracy looks like at different bracket sizes:
Top N | How many were seeded in Top N | How many actually finished in Top N | Accuracy |
|---|---|---|---|
Top 8 | 8 fencer per event x 5 events = ~40 total | About 13 of them finished Top 8 | 33.3% |
Top 16 | 16 x 5 = ~80 total | About 38 finished Top 16 | 48.1% |
Top 32 | 32 x 5 = ~160 total | About 97 finished Top 32 | 60.4% |
Top 64 | 64 x 5 = ~ 320 total | About 221 finished Top 64 | 68.9% |
WHAT DOES THIS ACTUALLY MEAN?
The Top-8 accuracy of 33.3% surprised me. That means only about 1 in 3 of the fencers seeded in the top 8 actually finished in the top 8. The other two-thirds got upset by someone seeded lower. At first that seemed wrong; seeding is supposed to reflect who's best. But when I thought about it, it makes sense: there are only 8 spots in the top 8, and a 5-touch pool loss or a single bad DE day can knock out even the best fencers. The top 8 is very hard to predict precisely.
The percentage gets higher as the bracket gets larger. Top-8 placement was much harder to predict than Top-64 placement. Seeding is doing something useful, but it's not nearly as predictive as it might feel from the inside of a tournament. The difference is small, so I don't think five tournaments are enough to say one is better.
I originally averaged the four Top-N percentages together, but realized that wasn't very useful because predicting Top 8 and predicting Top 64 aren't equally difficult. I'm keeping the four results separate instead.
How I'd explain this to another fencer
"Being seeded 1st doesn't mean you'll finish 1st. It means you probably have the best shot — but the data says even that isn't reliable at the top of the bracket. A lot can go wrong during a bout."
13 fencer-event records had inconsistent seed/placement values in the data — likely byes or withdrawals from the scraping process. Small enough not to change the result
Hypothesis 3: Strength vs. Seed as a predictor of placement
Does FencingTracker strength rating or official seeding do a better job of predicting
where someone finishes?
Once I knew how well seeding predicted placement, the natural next question was: does FencingTracker's strength rating do better, worse, or about the same? I ran the exact same Top-N accuracy test, but instead of using each fencer's seed to pick the "predicted top N," I used their strength rating rank within each event.
One thing I had to get right: using the true pre-tournament strength
FencingTracker's strength rating updates after every single bout. It goes up if you win and down if you lose, even within a tournament. So I couldn't use a strength value from the middle of an event. I needed each fencer's rating from before their very first pool bout, the number they walked in with. I verified this was correct by checking the raw data: each row's strength-before-bout plus that row's strength-change equals the next row's strength-before-bout. That confirmed the data was in time order and I was using the right starting value.
Top N | Seed Accuracy | Strength Accuracy | Which wins? |
|---|---|---|---|
Top 8 | 33.3% | 37.5% | Strength |
Top 16 | 48.1% | 49.4% | Strength |
Top 32 | 60.4% | 57.5% | Seed (barely) |
Top 64 | 68.9% | 69.2% | Strength |
WHAT DOES THIS COMPARISON MEAN?
Strength edges ahead of seeding at three out of four bracket sizes. The gaps are tiny, less than 3 percentage points at every level. This is not a clear winner.
The one bracket where seed beats strength is Top 32 and even then it's 60.4% vs 57.5%, a difference of less than 3 percentage points across roughly 160 fencers.
The more complete comparison is pairwise accuracy. Instead of looking at bracket-size groups, I compared every possible pair of fencers from the same event and asked: which predictor correctly guessed who finished higher? There are over 174,000 such pairs in the dataset:
77.8%
SEED - PAIRWISE ACCURACY
Of all possible two-fencer comparisons from the same event, seed correctly identified who finished higher 77.8% of the time.
174,862 pairs compared
80.2%
Strength - Pairwise Accuracy
Of all possible two-fencer comparisons from the same event, strength correctly identified who finished higher 80.2% of the time.
174,739 pairs compared
WHAT IS PAIRWISE ACCURACY AND WHY DOES IT MATTER?
The Top-N accuracy test has a limitation: it only looks at whether fencers landed inside a fixed bracket cutoff. Pairwise accuracy asks a simpler question about every single combination of two fencers from the same event: "Did the higher-rated fencer finish better?" With 174,000+ pairs to check, this gives a much larger sample and a cleaner answer than the bracket test.
Strength wins here by 2.4 percentage points: 80.2% vs 77.8%. That means: pick any two fencers from the same national Cadet sabre event, and strength rating correctly guesses who finishes higher about 4 out of 5 times. Seed does the same thing about 7.5 out of 10 times. Both are genuinely useful but strength has a consistent, small edge across all 174,000 comparisons.
The pairwise test requires comparing every possible two-fencer combination from the same event. That's why the pair counts (174,000+) are so much larger than the number of fencers. It's a more complete test because it doesn't depend on where you set the bracket cutoff.
Putting it all together
What I tested | Strength | Seed | Winner |
|---|---|---|---|
Who finishes higher - pairwise across 174,000+ pairs | 80.2% accurate | 77.8% accurate | Strength |
Who wins an individual bout | 76.3% accurate | 74.7% accurate | Strength |
Strength edges ahead on both measures but the gaps are small every time. Neither predictor is dramatically better than the other, which tells me they're measuring a lot of the same information. That makes sense: both USA Fencing's ranking and FencingTracker's strength rating are both ultimately trying to answer the same question: how good is this fencer right now?
Interesting footnote: FencingTracker's formula isn't publicly documented. The fact that two independently-calculated systems land this close to each other is itself a small piece of evidence that both are capturing something real even without knowing exactly how either one works.
Research log
How this project has developed
This log matters as much as the findings section. It records how the questions evolved, what didn't work, and what I understood differently as I went. A new entry every time something meaningful happens.
June 2026
Started collecting data — five events, 4,800+ bouts
Built the initial dataset in Excel from publicly available USA Fencing results. Pool results and DE bracket results from five national Cadet Men's Sabre events. Added FencingTracker strength ratings for each competitor before each bout.
"The first thing I ran into was that fencer names aren't consistent across events — different abbreviations, different spellings. Most of the early work was just cleaning that up so I could match the same person across tournaments. That part isn't glamorous but if you get it wrong, nothing else matters."
August 2026
Started testing my hypothesis
With my initial dataset I was able to test whether Strength is a good predictor of an individual bout outcome. I ran the analysis in Excel and then tried to rebuild in Python. Then I built a fencer-event dataset (1,290 records) to test whether seeding is a good predictor of the final tournament placement.
"When I compared strength and seeding as predictors for individual bout outcomes and final placement, the agreement between seed and strength was the most interesting part: they're measuring largely the same thing."
2026 - In progress
Expanding the dataset
I will be adding more events and expanding my dataset as more National Men Saber Cadet events occur in 2026. I plan to test more hypothesis or maybe combining existing predictors. I will be updating the log with my progress.
Follow the project as it develops
No spam — just recaps, tips, and referee notes when I publish them.
