Bruno's site.

Bruno's site.

2020 in review.

This post started as a personal one, to think, reflect and write down the highlights and/or relevant thing that happened in my personal and professional life in 2020. However, as a founder of Metrica Sports, there is a bit of "I'm the company and the company is me", so in the end it is half personal, half about Metrica Sports. If it sounds interesting, read on!

Metrica Sports

Free plan

On November 2020, after a lot of hard work, planning and relentless execution, we released a free plan of Play, our video analysis software. You can read more about why we released a free plan here, but in a nutshell is because of our mission: to provide the best in class performance analysis solutions at ALL levels of the game. This is something that we had in the plans for quite a long time, and it was amazing to finally see it becoming a reality. It has been adopted very quickly by thousands of users and a lot of clips have been shared on social media not only in soccer but in many other sports as well. So awesome!

I'm not gonna write more about this here because we have already done so in the open letter. It has also been covered by several media publications like Forbes, Sporttechie and Sky Sports among others. But suffice to say, the release of the free plan is definitely the highlight of 2020!

Automated Tracking Data

We haven't talked much about this (yet!) because it's still in early access only to some of our clients, but this year we have released a type of data that I believe could have a great impact on the availability of analytics at all levels of the game (again, our mission!). I talked about this in the talk (slides here) I gave this year at the Seattle Sounders Sports Analytics conference organized by the one and only Ravi Ramineni. One of the things that needs to change for analytics to take off is the accessibility to tracking data. Now-a-days it's too expensive for most clubs and leagues to buy, For tracking data to become adopted at all levels of the game it needs to be more affordable.

The interesting thing is that while some analysis requires knowing the identity of the players, a big part of the tactical analysis done even by the most elite clubs don't require identities of the players, just to know where each player of each team is in the field (and the ball!). With that in mind, this year we released Automated Tracking Data (ATD), which gives you exactly that: the positions of each player and the ball in each frame. You can do things like tactical shape identification, similarity search, pitch control, EPV models, opposition analysis, scouting (!) and much more. It has a LOT of potential, and it's more than 10 times more affordable than standard tracking data.

We will write a lot more about this as we make it available to everyone in 2021, and you'll see some ATD based content start to appear on twitter soon (like this announcement today from @lastrowview!), but for the moment you can watch the example below to better understand what I'm talking about. From the videos on the left, we capture the data on the top right. Check out the 3 types of video in which ATD works. What really excites us is not that it works on the first or even the second video (broadcast has soo many applications!), but that it works on the third one as well. We are truly thinking in all levels of the game. We can't wait to see the applications this type of data will have!


Similar to what happened to other companies in the market, the end of the first quarter and beginning of the second one was really scary. For two months we didn't sell a single license. We had to let people go, we had to take salary cuts and so on. However things really took off after professional sports came back. Despite that initial big setback we met our projections for the year and doubled our revenue from 2019! It has been incredible to see Metrica grow that much in a single year. Most people probably don't know it, but while we grew that much in 2020 both in terms of revenue and brand, we have been fighting to get there for a long time. Metrica was founded in 2014, and while in the early years we work with amazing top level clients, it was only in 2018 that we really found the right path forward to really make it a scalable business. Getting to where we are today took years of searching for the right product-market fit, right business model (which is a part of product-market fit), the right technology to be developed, the right strategy to be in place, the right mission to be defined, etc. At the beginning of 2020 we were starting to see the results of all that work, but it was really during 2020 that all of it consolidated. I can now (at least for now) sleep at night knowing that while there is still a LOT of work to be done and execution to be nailed, we are finally on the right path. It's truly a great, great feeling. I'm really looking forward to what's gonna happen in 2021. Our ambitious target is to 4x 2020's revenue. Quite a challenge!


This year something a bit unexpected happened regarding the community side of things. While we always wanted to contribute in some way (more or less because of the same reasons we released a free Play plan), we never got around to do it. Mostly because we didn't know how to go about it. In 2020 one things lead to another and we ended up making quite some contributions!

Open Data

Some weeks after the pandemic started Laurie Shaw reached out to me about the possibility of making tracking and event data of some games available to the community as part of the Friends of Tracking initiative. We jumped right into the opportunity to share some data, and as a result we open access full tracking and event data for two games. You can find the data in the Github repo. This was the first time in history that tracking became publicly available.

Besides our contribution, 2020 was a great year for the open access to tracking data. A couple of months after our initial dataset, Signality made available 3 games as part of David Sumpter Upsala University course, and then Skillcorner made available 9 more games as part of the Friends of Tracking initiative (you can find links to all these datasets at the end of the Github repo linked above). There are also some event data sources linked at the end of the Readme.

While it's great and already a huge improvement over what was available before (which was nothing, so it should actually be a infinite improvement), there still isn't a complete tracking, event and video dataset, all synced with enough games to do statistics. To tackle that, we have started the Open Data Project. This project proved to be as difficult as expected (or even more), because everything involving video rights it's a legal nightmare. Nonetheless we are still working on it and should have some news soon! Fingers crossed!

*A possible side effect of the Open Data Project is that it works as a catalyst for other companies or organizations to do it, which would be just as awesome as us sharing it. We just want the dataset out there!

Open Source

This one was a bit more planned, but it also took off way more than expected! Specially since we could stand on the shoulders of a giant (Koen Vossen) and start our journey in open source by contributing to kloppy.


Kloppy is a python package that aims to be the fundamental building blocks for loading, filtering and transforming tracking and event data. It has support for many tracking and events providers (and more coming soon) and I believe is a great building block for anyone interested in working with tracking and/or event soccer data. It helps standardize data between providers, transform the different formats into dataframes and python objects, and it's regularly updated, documented and maintained.


Later in the year, with a lot of what we learn from working in kloppy with Koen, and combined with our vision for the use of data to do tactical analysis of games, we released codeball: a data driven tactical and video analysis of soccer games. Codeball is still in the very early days, there is not much to be done with at the moment (other than checking out the potential it has and what it aspires to become), but we will be working much more in codeball in 2021. Stay tuned!

What a year for the community!

While we have done quite some contributions in 2020 (especially considering that most of them weren't planned for), it's just a small percentage of everything that has been done, shared and contributed in the soccer analytics community as a whole! You can find a really detailed breakdown of the highlights of the year on Jan van Haaren's amazing Soccer Analytics 2020 Review. This amazing progress in 2020 was only possible because of the time and energy that many members of the community put into it. There are many people to thank for this progress and John Muller has done a great work on highlighting some of them in his letter Meet the People Who Explained Soccer in 2020.

All in all, it was a crazy good year for sports analytics and hopefully 2021 will be even better!


There isn't much about 2021 that I can share at the moment. In part because we are still refining and defining plans and objectives. However one thing is sure, we will have two big objectives in 2021:

  1. To double down on our mission to make the best performance analysis solutions available at all levels of the game.
  2. To double down on our efforts of contributing to the analytics community via open data, open source projects and other resources.


This site

While quite late in the year, and triggered by the second worst news of 2020 (RIP Diego), I finally got around to creating a personal website. In the past I tried setting up a wordpress blog, but hosting was a pain in the ass, it always felt like too much overhead, too much friction to publish, a lot to maintain, etc, so I ended up never using it. This time, by recommendation of Job van der Voort I dive into next.js and quickly put up a site deployed via Vercel. You can find more details here. I highly recommend next.js + Vercel if you are looking into learning something new and deploying it as easy as possible!

Hopefully this time the site will be updated more or less regularly, but even if not, it’s great to have an easy way to put some words or work out there whenever needed (like with this post!) without too much hassle.


While I have had a twitter account for years, and have followed the work of several members of the soccer analytics community for quite a while, I was never a very active member, and was never really engaged and/or engaging. Similar to the continuations Metrica Sports made this year, I always wanted to do it, but never knew quite how to do it.

This year that really changed. Via a combination of talks, the open data initiative, open source contributions, the free plan, and other things, my engagement and participation in the community grew significantly over 2020. And it feels great! I got to know and talk with many amazing people like Peter McKeever, Carlon Carpenter, Sancho Quinn, Koen Vossen, Ricardo Tavares (creator of @lastrowview) just to name a few, but there are many others with whom I have interacted online for the first time as well. Be that on twitter or on the PySport's discord server (come join us there!). For the first time I feel a part of the community.

While I’m really glad that happened and I’m really grateful, it didn’t come without some challenges. Particularly around what can only be described as twitter addiction. Not sure how many followers I had at the start of the year (around 700?) but today that grew to more than 2.2k. While still a small account, that means that I get much more interaction in twitter than before. There is always some conversation going on, a couple of notifications per day, a DM now and then, etc. It means that I became much more addicted than before and I find myself spending a ridiculously stupid amount of time per day on twitter (most of which has zero ROI). To the point that it really had an impact on my productivity and performance, specially on the last part of the year. I hope in 2021 I can handle that better, because I do get a lot out of twitter so I don't want to quit it completely either.

Besides that, personally it has been great for me to be more involved in the community. It’s full of amazingly smart and dedicated people, all willing to help others and to (mostly) have a really constructive conversation around how to make soccer analytics better! Truly a pleasure to be part of this community.


While I was baking sourdough bread before it was cool, I did take on two new “hobbies” this year: I started bouldering and finally (after many years of not dealing to) bought a motorcycle.


While I always liked climbing, I never got into it to do it regularly. This year via watching some videos of Adam Ondra, I really got into bouldering. It’s not “real” climbing, but I find it amazing nonetheless. It’s basically climbing short “problems” that are usually very technical and require lot’s of strength. It’s a great exercise and a great way to improve your climbing technique, even if like me, you don’t really climb (at least not yet!)


I almost bought a motorcycle at least 5 times in my life. 2020 was the year that I finally did it. It wasn’t an easy decision and involved lot’s of conversation with family, friends and myself, but in the end I went for it. While it’s true that it’s dangerous (or at least more dangerous than driving a car or walking), it still falls for me on the “risks worth taking if you enjoy it” category.

Some quick stats on how I made that decision. It changes depending on the country, and all typical standard data disclaimers apply, but: you can consider that in average you are 30x more likely to die in an accident per mile traveled if you drive a motorcycle vs if you drive a car. That's a significant increase. However, that's not all there is to it. Half of the deadly accidents occur with drivers that were driving under the influence. So if you are not DUI, then you are "only" 15x mode likely to die per mile traveled than if you'd be driving a car. Same occurs with other areas: most accidents happen in the first months because riders push it too hard and drive above their experience level, in most deadly accidents drivers are not wearing protective gear, in most accidents riders were driving dangerously, most first-time riders buy a motorcycle too powerful for them to handle, etc. In summary, if you don't drive drunk/stoned, you take your time to learn to ride, you wear protective gear, you are a careful rider, and you buy a proper size motorcycle, the odds drop significantly. Not sure to how much, but I estimate somewhere around 5x. Whether that is too much or it's acceptable is quite personal. In my case, I'm comfortable riding one.

Programming / Open Source

It was a great year of great growth for me personally in these areas. Before 2020 I had never contributed to any open source project and had never contributed any code to any project outside Metrica Sports' ones. This year not only did I contribute to kloppy (and become a maintainer!) but I also wrote all the code and published codeball. In total I had 159 commits and 9 pull requests to open source projects. They are not crazy high numbers, but I'm really proud of them. Especially because it was all done in python.

Before 2020 I had done some coding in python but all really low quality, extremely bad practice code. While it all worked, I hate the fact of just looking at it. It might surprise some, but the reality is that at Metrica Sports I don't code much. While I code our tracking software and the early versions of Play, it was never my strong suit. That really changed in 2020. I became much more proficient at python (mostly by looking at Koen's code on kloppy and by watching a lot of youtube). While I still have a lot of learning to do ahead of my, I'm really happy with where I'm today.


As it probably happened in every household, it was a really difficult year at home. Having to handle two (my partner's and mine) very ambitious and demanding jobs, with raising a 2yo without day care or help of any kind, in the middle of a pandemic, was really, really, difficult. I'm grateful for the amazing partner I have, for the lovely kid we are raising, and for all the love that we have for each other that helped us navigate this challenging year.


While they are not strong objectives and they could change as the year progresses, some personal objectives for 2021 are:

  • More contributions to open source.
  • More personal development, as a founder and as a programmer.
  • I'd like to do some kind of content creation (podcast / streaming / interviews)
  • Take more photos (and set up a photography section on the site!)
  • Might want to start working on a side project.
  • Enjoy our family. Hopefully (at least some part of) 2021 will be less about surviving, and more about enjoying :)