Home iRacing Stats Aggregator

iRacing Stats Aggregator

What are we doing?

For all levels of drivers there is a desire to get a quick view of how competition on the service is performing on a day to day basis. This is something that’s not easily or transparently summarized by the iRacing client. If a end user wishes to approximate what performance they might need to stay competitive in a race, the only way this is exposed to them is through results pages of each series and session. The user then has to page through the subsessions to estimate which split they might have been placed in based off their irating. This is somewhat cumbersome and requires quite a bit of guesswork on behalf of the user. Race participation can change drastically by the race, which also means that the rough estimation made based on the last session may no longer hold true in the next. This is where this project and websites like https://simracingstats.com (SRS) come in.

Why are we doing it?

As of the time of this writing, SRS has not received any updates in a week and now seems to be down entirely. Despite this, there are still a number of feature improvements I’d like to see on a tool like this to improve accessibility and usefulness for drivers of higher skill levels.


First off is creating a page that can give a driver a quick glance at what may be interesting for them. We can do this by retrieving their race history and calculating their favorite tracks and cars, weighting series that use those tracks and cars appropriately. We can also take into account their Safety Rating and hide series which they are ineligible for.

Expanding on useful data

Participation is good to know, but for less populated series a Driver may want to know if the participation leans towards high or low iRating drivers. In addition to this, the driver will want to know how likely it is for a certain series to “go official”. This means what is the likelihood that there will be enough participation for a race to count towards iRating and Safety Rating. Most series require 8 participants, and we can keep track of the times of day that these series are most popular, and present that information to the end user in their local timezone.


The additions outlined in personalization and useful data lend quite a bit towards accessibility for this app, but we’ll also want to ensure that the most commonly used data is available directly on the front page with no click through required. In the case of SRS in order to get any lap data, a click through on each series is required. We can provide that data directly on the front page, in the case of multi-car series this can be an average. For multi-class we can include multiple averages by class, reducing other less important data if necessary to maintain an un-cluttered view.

Finally, our biggest accessibility goal is to use a framework that can easily support a shared codebase for the website and a mobile app. There is no currently existing mobile app that exposes any information like this to the end user, providing that option will help create a bias towards using our app on the desktop through familiarity.

Executing on an MVP

The basic requirements here are to provide lap time calculations based off of real race data for each series and car that are scalable by iRating. The most likely way to achieve this is by applying (most likely) quadratic regression on a dataset of all race results collected for the week. This may result in some strange behavior at the upper extreme range of iRating, presenting laptimes that are physically impossible. We should avoid displaying this data by keeping track of the fastest lap among all records and never displaying laptimes above that in addition to capping the irating that can be input into the equation.

  • Outline document of the technology used and architecture of the app
  • Automated collection and transposition of data from iRacing data API
  • Website hosted at https://irsa.exitnode.io that can interpret this data and present it to the user in a succinct format
  • Detailed sub-pages that can provide more information than would be available at a glance
This post is licensed under CC BY 4.0 by the author.
Trending Tags
Trending Tags