Ticket to Ride Analytics

A 50-game family tournament that became an experiment in measurement, statistical modeling, strategy, and discovering structure in behavior.

In the summer of 2024, my family started playing a lot of Ticket to Ride.

I started keeping score.

Then I kept slightly more score.

By the end of the summer, we had played a 50-game tournament and I had built an increasingly unnecessary analytical system around it.

Part of the inspiration came from my previous work at the T-Mobile Customer Experience Center in Bellingham, where I had spent a lot of time around performance dashboards and tools such as Power BI. I liked the way a large number of individual actions could become legible when represented as data.

So I started treating the board game the same way.

From late June through early September, I played a 50-game tournament with two family members and recorded increasingly detailed information about each game. What began as a casual experiment in logging final scores gradually became an analysis of scoring patterns, variation, player behavior, and strategic tradeoffs in a semi-randomized environment.

The interesting part quickly stopped being who won.

I wanted to know how.

There is also a basic data-processing and analysis pipeline available as a Jupyter notebook in the project files.

The Gamelog

Every game was recorded in a centralized log containing the core performance measures for each player:

  • Total points: final score
  • Train points: points earned from placing trains
  • Route points: destination-ticket points
  • Route quantity: number of destination tickets attempted
  • Route completion: percentage of destination tickets completed
  • Longest route: whether the player received the bonus
  • Cars remaining: train cars left at the end of the game

These measurements formed the raw dataset used throughout the rest of the project.

Anonymized Ticket to Ride Season One gamelog
Anonymized Season One Gamelog

View the Season One Gamelog PDF

In the public version, I appear as ALPHA and the other players are anonymized.

Data Abstraction

I kept the raw Gamelog relatively clean and used a separate Game Analysis layer to organize and manipulate data derived from it.

That separation made it possible to experiment without turning the original dataset into an incomprehensible spreadsheet.

The resulting expressions then fed into two higher-level views: player modeling and the overall game dashboard.

Player Modeling

This became the part of the project that interested me most.

Players could arrive at similar final scores through very different strategies. One might pursue many destination tickets. Another might emphasize long, efficient train segments. Some players were remarkably consistent. Others produced much more volatile outcomes with a larger potential upside.

So rather than asking only how many points did this player score?, I started asking questions such as:

  • How consistent was the player?
  • Where did most of their points come from?
  • How much did their performance vary from game to game?
  • Did high-risk games actually produce higher rewards?
  • Were wins associated with particular combinations of route and train scoring?
  • How often did a player substantially outperform or underperform their typical game?

I experimented with standard deviation, volatility, upside and downside deviation, and even adapted measures such as the Sharpe and Sortino ratios from financial analysis to describe differences in player performance.

The result was something resembling a statistical fingerprint of each player's style.

Ticket to Ride player analysis dashboard
My personal Player Analysis sheet

View my Player Analysis PDF

Game Dashboard and Final Results

The Game Dashboard visualized performance across all 50 games.

I used it to compare total scores, train points, route points, ticket quantities, completion rates, and changes in performance across the tournament. I also experimented with logarithmic trendlines to look for nonlinear relationships, including apparent diminishing returns from holding increasingly large numbers of destination tickets.

Time-series views made it possible to see winning streaks, changes in strategy, and differences in consistency between players.

By the end of the tournament:

  • I scored 6,255 points and won 23 games
  • My sister scored 6,093 points and won 19 games
  • My mom scored 5,622 points and won 8 games
  • My highest-scoring game was 182 points
  • That game involved completing 10 destination tickets
  • I averaged 6.3 destination tickets per game
  • I completed more than 82% of the tickets I attempted
Anonymized Ticket to Ride Season One dashboard
Anonymized Season One Game Dashboard

View the Season One Game Dashboard PDF

Emergent Strategies

Playing the same game 50 times also produced something that wasn't contained anywhere in the spreadsheet.

We developed our own language for describing patterns of play.

Card Pull Order

When drawing train cards, unless there were two face-up cards I specifically wanted, I generally drew from the random pile first.

That preserved more information for the second decision. If I wanted white cards but also needed red, for example, drawing an irrelevant blue card first might make taking a visible red card the safer second choice.

It also preserved the possibility of drawing a wildcard, affectionately known in our games as a trainbow, without sacrificing the option of taking a useful visible card afterward.

Counting Cards

There are 12 cards of each standard color and 14 wildcards in the U.S. version of the deck.

As players reveal cards by constructing routes, it becomes possible to keep a rough model of what has already been played, what remains visible, what you hold yourself, and therefore what is likely still somewhere in the deck.

We started informally counting cards to guide decisions about whether particular routes were still realistic.

Fragile and Antifragile Pathing

Some routes are much more vulnerable to interference than others.

Nashville to Atlanta, for example, is a one-car connection. If another player takes it, the alternative path immediately becomes substantially more expensive.

We started describing routes whose success depended heavily on one or two vulnerable segments as fragile paths.

An antifragile plan, in our informal vocabulary, was one that retained useful alternatives even when another player interfered with the original route.

Route Efficiency

We used inefficiencies to describe unnecessary branching in a player's network.

Excessive branching consumed train cars, complicated attempts to earn the Longest Route bonus, and often indicated that destination tickets were not being combined efficiently.

The ideal path completed multiple objectives while minimizing unnecessary deviation.

Car Efficiency

Train cars are a limited resource.

Longer segments generally produce more points per car, so the ability to complete useful routes through high-value connections became increasingly important.

Players who exhausted their trains too early often surrendered strategic flexibility near the end of the game.

Gambling

Drawing new destination tickets late in the game became known simply as gambling.

If the newly drawn destinations overlapped with routes you had already built, the reward could be substantial.

If they didn't, the resulting penalties could destroy an otherwise strong game.

Endgame Control

The player who reduces their remaining train cars to two or fewer initiates the final round.

That gives a player some control over when the game ends.

If you're ahead, accelerating the endgame can prevent opponents from completing additional routes. If you're behind, extending the game may be valuable.

Convincing another player who was close to ending the game to instead draw more destination tickets became a surprisingly effective form of psychological play.

Point Targeting

Players sometimes began targeting thresholds within particular scoring categories.

My own strategy increasingly involved attempting to secure roughly 50 destination-ticket points and then shifting emphasis toward longer train segments.

The idea was to establish a reasonably strong route-scoring base before maximizing the more predictable point efficiency of long connections.

Mindreading

After enough games, we became familiar with many of the 30 destination tickets in the U.S. version.

That meant the routes appearing on the board could provide clues about what another player was trying to accomplish.

Watching someone build toward Miami, Seattle, Los Angeles, New York, or another distinctive endpoint sometimes allowed us to infer which tickets they were likely holding and where they might move next.

The board had become not only a map of completed actions, but a partial representation of each player's hidden objectives.

What I Took From It

None of this transformed Ticket to Ride into a serious scientific model.

It did, however, make a pattern visible that I have kept returning to since:

Observe behavior, decide what to measure, build a representation of it, and then ask what underlying strategy or structure could have produced the pattern you see.

The project began with a spreadsheet because I wanted to know who was winning.

It became much more interesting when the data started forcing me to ask what winning differently meant.

A few months later, I began at Western Washington University, where questions about behavior, expertise, representation, and eventually the brain became much more serious.

Project Files

If any part of this sounds fun, the underlying materials are still available.

And, because apparently this was a necessary endpoint for the project, you can now tell a family member that their Sharpe ratio is too low.