User Guide

Guide to stats, colors, calculations, and conventions

This is a user guide for this site, which provides analysis of the basketball simulation game Swoops ↗. Questions about Swoops or want to understand the game, join the Swoops Discord ↗, questions about this site, contact me at tdavidson in the Discord or on Twitter ↗.

Site organization

The data is organized across:

Search

Looking for a player or team? Try Search (available in the header at the top of the site) to find them on team pages.

Data Presentation

The data uses daily-updated data from Swoops on current rosters, team performance, and player performance, to do a number of additional calculations:

Player Filters

On many listings of players, filters are offered to only include certain types of players:

If multiple filters are present on-page, they work in combination, meaning you can filter by minimum games and listed, for example.

Additionally, on the league-wide player pages, there is an additional filter for teams. This allows you to input a team's locker room number or team name, and see all of their players. You can input multiple teams using a comma to separate the team name and/or locker room number.

Player Stats

Player stats are used across Team pages, Player pages, and Player card pages.

Many stats used here have been used since the start of basketball, some have gained popularity in the stats revolution in the 2000s, and some are stats that I am testing.

Here's an overview of player stats:

Advanced Player Stats

The Advanced tab adds a few custom developed stats currently in beta:

As always, this is not financial advice, and is provided for entertainment purposes only. Do your own research.

League Average

The league averages for SN0, SN1, and SN2 are calculated by averaging each stat for every player that has played at least 25 games in the season, except for FG%, 2P%, 3P%, and FT%, which are calculated by adding up all shots taken and made by all players, and then dividing to calculate the made percentages.

The difference in methodology for the percentages is more of a true league average, while the per game averages are more of a per player average.

League averages for the 1, 3, and 5 lobbies for SN2 reflect Swoopsters that have played at least 25 games in each lobby, and does not include stats from free agents that play in those games.

The same methodology is used to show SN2 averages by star rating, player year, and position, with the caveat that the positions do not represent where the player played in the games, only their listed position.

Each section of averages also has a ">0" and ">25" column, which indicates how many players of that type played > 0 games, and played > 25 games, respectively. Only players that played >25 games are included in the averages, except for the percentages included above.

Player Stats Color Shading

Green shading means that the stat is better than the league average player, that played the noted minimum amount of games, red shading means that the stat is worse than the league average player, no shade means they are equivalent. The darker the color, the better or worse they are from league average for that stat.

Up until October 9 2023, the color shadings represented a comparison between the player and the league average for all players for a given season. From October 10 2023 onwards, the color shadings represent a comparison between the player and the league average for a given season for that player's position. The change was made to provide better contextualization of a player's performance given the expectations for the positions they play.

The player stats currently use two different scales for the color shades:

The different scales are used just to capture the different relative changes in those metrics. In the future the bands, shades, and method may change to create a more standardized approach.

Player Stats by Lobby

Swoops offers three different ways to enter games. Owners can enter 1 Swoopster, 3 Swoopster, or 5 Swoopster "lobbies" to play games against owners that are entering games with 1, 3, or 5 Swoopsters, respectively, and in the case oft the 1 or 3 lobby options, filling the rest of their roster for the game from the Free Agents Swoops offers to all players.

Swoopsters often perform better against free agents (who are all 1 star rated players) than other Swoopsters, so stats for a player can vary depending on their level of competition. Two players with similar stats but with a different competition mix (e.g. a player that only plays 5 man lobbies v. a player that only plays 1 man lobbies) do not have similar underlying performance abilities.

On player cards, stats by lobby are reported for the current season, if a player has played any games in those lobbies.

Similar Players

Similar players is a feature that is intended to help find players with similar stats, for fun and for scouting. The feature uses a custom weighted Euclidean distance algorithm I wrote that uses weights on positions and stats to find similar players, and if no stats are available for a player, uses player skill ratings instead. The feature finds up to the five most similar players and lists their names and links to their player pages. A couple notes on the methodology:

I tested a variety of statistical methods and weights to create an algorithm that I felt did a good job of matching players, but I will adjust the weights based on feedback of how good the matches are, so please let me know what you think.

Player Skill Ratings

Player Skill Ratings (PSR) are explained at Swoops 101: Player Overview ↗.

The "0", "0.0", or a blank cell means that the player skill rating is unrevealed. Unrevealed top attributes are estimated if possible, as explained below.

Color Shading

Estimated PSRs

Top attributes are noted using the shading above, for some players the values of the PSRs for the top attributes are known, for some they are not. If possible, unrevealed top attribute PSRs are estimated and shown in italic.

Here's how it works: a player may have a revealed PDEF of 65, but PDEF is not one of its top three attributes, meaning you can assume every top attribute has a value > 65. Or the second top attribute may be revealed as 72, meaning you can assume the top attribute is > 72. When possible, unrevealed top attributes are estimated using known attributes, using the assumption that the estimated top attribute is just slightly above the max of known attributes. This is the most conservative estimation method, and in reality the unrevealed values could be higher than the estimates. Remember that the order of top attributes are not absolute and can change season to season after player evoluation.

I am still refining the logic, so there may be some mistakes. Working on error checking for all cases at the moment.

League Average

The league average PSR is calculated as a weighted average of all known and estimated PSRs for players that play in games, across all lobbies. This is intended to help provide some understanding of the level of competition and ratings of players playing the games. A few notes:

The same methodology is used to show SN2 averages by star rating, player year, and position, with the caveat that the positions do not represent where the player played in the games, only their listed position.

The color shading on this page reflects the variation for each age, star rating, and position from the overall league average, using the same scale detailed earlier.

are calculated by averaging each stat for every player that has played at least 25 games in the season, except for FG%, 2P%, 3P%, and FT%, which are calculated by adding up all shots taken and made by all players, and then dividing to calculate the made percentages.

The difference in methodology for the percentages is more of a true league average, while the per game averages are more of a per player average.

League averages for the 1, 3, and 5 lobbies for SN2 reflect Swoopsters that have played at least 25 games in each lobby, and does not include stats from free agents that play in those games.

The same methodology is used to show SN2 averages by star rating, player year, and position, with the caveat that the positions do not represent where the player played in the games, only their listed position.

Each section of averages also has a ">0" and ">25" column, which indicates how many players of that type played > 0 games, and played > 25 games, respectively. Only players that played >25 games are included in the averages, except for the percentages included above.

Evolution

The calculations represent the raw change in revealed player skill ratings from SN1 to SN2, in absolute terms.

Note, players will also have unrevealed changes in ratings for any player skill ratings that are unrevealed. These will be shown as 0, but there are more changes in ratings happening than we can see.

Color Shading and Formatting

Swoops player cards will show the underlying progression in newly revealed player skill ratings, I am not aware of this being available in the API thus you will see a discrepancy there.

Career Highs

Career highs are calculated for a subset of players; at the moment, only award-winning players (all-stars, MVPs, DPOY, etc.) or certain select players have career highs tracked. I hope to expand this to more players in the future. Career highs include all lobbies (1, 3, and 5 player lobbies).

Stats tracked for career highs:

Team Stats

This provides an overview on team performance.

For team lineup comparisons, check out Swoopheads ↗ which uses game level data to answer deeper questions about lineup composition.

Here's an overview on team stats:

Color Shading

Green shading means that the stat is better than the league average team (calculated from all teams that played a minimum of 50 games), red shading means that the stat is worse than the league average player, no shade means they are equivalent.

The team stats currently use one scale for the color shades:

In the future the bands, shades, and method may change to show the relative change between absolute and percentage metrics differently.

Transactions

The Transactions page provides summary information on sales of Swoopsters on Opensea, reporting out the total number of sales, total ETH, average sale in ETH, median sale in ETH, and minimum and maximum transaction in ETH. These are reported overall and by season, with a season consisting of the dates between the new mints.

An important caveat to this is that the numbers here do not include trades, both trades done over Opensea or trades executed in off-chain agreements, and does not include any ETH or the value of players in those trades, and thus the numbers here do not reflect some of the largest transactions to date. So it is important to know, prior to making any judgements about trends in sales or ETH, that there is significant missing ETH in those transactions that would have an impact on the total and average transaction size. I will be working on addressing that missing data in the future if possible.

Recaps

Recaps is a feature to help see what's happening across Swoops. Every day, a snapshot of yesterday's Swoops games is published, with a daily win leaderboard and a snapshot of games with player highlights.

Time of data pulls

Day and time of last data pull is noted on all pages using data.

What's next?

This site is not affiliated with Swoops, it is not financial advice, and is provided for entertainment purposes only. Do your own research.

Questions? Email me or contact tdavidson / ninerakes in the Swoops Discord

© 2023 Unstructured Ventures · Why Nine Rakes?