StarCraft 2 Progaming Statistics and Predictions
Last ratings update | Dec. 22, 2024, 12:52 a.m. (UTC +0000) (log) |
Game data | 1011092 games, 462250 matches |
Wings of Liberty | 152914 games (15.12%), 70948 matches (15.35%) |
Heart of the Swarm | 193512 games (19.14%), 95968 matches (20.76%) |
Legacy of the Void | 664666 games (65.74%), 295334 matches (63.89%) |
Online | 870057 games (86.05%), 400810 matches (86.71%) |
Offline | 141035 games (13.95%), 61440 matches (13.29%) |
Matches with event info | 461063 (99.74%) |
Uncatalogued matches | 3004 (0.65%) |
Players | 23296, of which 1494 Koreans (6.41%) |
Teams | 520, of which 136 active |
You can download a PostgreSQL dump here (1831.3 MiB) or here (328.3 MiB gzipped), current as of Dec. 22, 2024, 3:04 a.m. (UTC +0000). It is free to use for non-commercial purposes if you credit this website when doing so.
The dump contains 11 tables. Some columns are foreign keys to tables that have been removed from the dump (primarily involving user accounts). Everything given below is in terms of PostgreSQL standards.
Contains player information.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
tag | character varying(30) not null | in-game name of the player |
name | character varying(100) | real name |
birthday | date | birthday |
mcnum | integer | MC number |
tlpd_id | integer | external TLPD ID |
tlpd_db | integer | bit-flag value denoting which TLPD databases this player is in (1 = KR WoL, 2 = IN WoL, 4 = HotS, 8 = HotS beta, 16 = WoL beta) |
lp_name | integer | title of Liquipedia page (the part after https://liquipedia.net/starcraft2/) |
sc2e_id | integer | external sc2earnings.com ID |
country | character varying(2) | ISO-3166-1 alpha-2 country code |
race | character varying(1) not null | P, T or Z for normal races, R for random and S for race switcher |
dom_val | double precision | their PP score (see Hall of Fame for explanation) |
dom_start_id | integer | foreign key to period (start of PP-period) |
dom_end_id | integer | foreign key to period (first period after end of PP-period) |
current_rating_id | integer | foreign key to rating (should link to the latest published rating of the player) |
Contains game information.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
period_id | integer not null | foreign key to period (the period this match was played in) |
date | date not null | when the match was played (often approximate) |
pla_id | integer not null | foreign key to player (player A) |
plb_id | integer not null | foreign key to player (player B) |
sca | smallint not null | score for player A |
scb | smallint not null | score for player B |
rca | character varying(1) not null | race for player A (not necessarily same as pla.race, S is not allowed) |
rcb | character varying(1) not null | race for player B (not necessarily same as plb.race, S is not allowed) |
treated | boolean not null | true if the match has been rated |
event | character varying(200) not null | tournament, round, group etc. (superceded by eventobj_id if latter is not null) |
eventobj_id | integer | foreign key to event (supercedes event field) |
submitter_id | integer | foreign key to a table removed from the dump |
game | character varying(200) not null | game version used (WoL, HotS, LotV) |
offline | boolean not null | whether this match was played offline |
rta_id | integer | foreign key to rating (rating of player A at the time of the match) |
rtb_id | integer | foreign key to rating (rating of player B at the time of the match) |
Contains event information. Events are organized in a tree as defined by the eventadjacency table. “Event” in this case means anything from organizer, season, tournament, round (including qualifiers), group, days and weeks, etc.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
name | character varying(100) not null | name of this node |
parent_id | integer | parent node |
lft | integer | deprecated |
rgt | integer | deprecated |
closed | boolean not null | whether the event is finished or not |
big | boolean not null | whether the event is considered large (many games) |
noprint | boolean not null | whether this event should be skipped in the fullname of descendants |
fullname | character varying(500) not null | full name of this event (including names of ancestors) |
homepage | character varying(200) | URL of the event website |
lp_name | character varying(200) | title of Liquipedia page (the part after https://liquipedia.net/starcraft2/) |
tlpd_id | integer | external TLPD ID |
tlpd_db | integer | bit-flag value denoting which TLPD databases this event is in: (1 = KR WoL, 2 = IN WoL, 4 = HotS, 8 = HotS beta, 16 = WoL beta) |
tl_thread | integer | TL.net forum thread ID |
prizepool | boolean | whether this event has an associated prizepool (NULL if unknown) |
earliest | date | date of earliest match |
latest | date | date of latest match |
category | character varying(50) | team, individual or frequent (only set for root nodes) |
type | character varying(50) not null | category, event (i.e. tournament) or round (you can assume that ancestors of events are always categories and that descendants of events are always rounds) |
idx | integer not null | sorting index |
Contains the tree information for events. There is a row here for every ancestor-descendant relationship. This table contains the transitive closure, so links of any distance are listed.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
parent_id | integer not null | foreign key to event |
child_id | integer not null | foreign key to event |
distance | integer | how many edges between the nodes |
Contains rating information.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
period_id | integer not null | foreign key to period |
player_id | integer not null | foreign key to player |
rating | double precision not null | current rating |
rating_vp | double precision not null | current rating delta vP |
rating_vt | double precision not null | current rating delta vT |
rating_vz | double precision not null | current rating delta vZ |
dev | double precision not null | current RD |
dev_vp | double precision not null | current RD vP |
dev_vt | double precision not null | current RD vT |
dev_vz | double precision not null | current RD vZ |
comp_rat | double precision | performance rating in this period |
comp_rat_vp | double precision | performance rating vP in this period |
comp_rat_vz | double precision | performance rating vT in this period |
comp_rat_vt | double precision | performance rating vZ in this period |
bf_rating | double precision not null | smoothed rating |
bf_rating_vp | double precision not null | smoothed rating vP |
bf_rating_vt | double precision not null | smoothed rating vT |
bf_rating_vz | double precision not null | smoothed rating vZ |
bf_dev | double precision | smoothed RD |
bf_dev_vp | double precision | smoothed RD vP |
bf_dev_vt | double precision | smoothed RD vZ |
bf_dev_vz | double precision | smoothed RD vT |
position | integer | rank |
position_vp | integer | rank vP |
position_vt | integer | rank vT |
position_vz | integer | rank vZ |
decay | integer not null | number of periods since last game |
domination | double precision | rating gap to number 7 (used in the Hall of Fame) |
prev_id | integer | foreign key to rating; previous rating for this player |
A period represent a discrete time interval used for rating computation purposes.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
start | date | starting date (inclusive) |
end | date | ending date (inclusive) |
computed | boolean not null | whether this period has been rated |
needs_recompute | boolean not null | whether this period needs re-rating (something has changed) |
num_retplayers | integer not null | number of returning players |
num_newplayers | integer not null | number of new players |
num_games | integer not null | number of games played |
dom_p | double precision | OP-score for Protoss |
dom_t | double precision | OP-score for Terran |
dom_p | double precision | OP-score for Zerg |
Contains group information (for now, this means teams).
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
name | character varying (100) not null | name of group |
shortname | character varying (25) | short name of group |
scoreak | double precision | all-kill score (if team) |
scorepl | double precision | proleague score (if team) |
founded | date | date founded |
disbanded | date | date disbanded |
active | boolean not null | whether the group is active |
homepage | character varying (200) | URL of team website |
lp_name | character varying (200) | title of Liquipedia page (the part after https://liquipedia.net/starcraft2/) |
is_team | boolean not null | whether this group is a proper team |
is_manual | boolean not null | whether this group has manually added members or not (currently has no effect, there are no automatic groups) |
Links teams and players together in a many-to-many relationship.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
player_id | integer not null | foreign key to player |
group_id | integer not null | foreign key to group |
start | date | start date of membership |
end | date | end date of membership |
current | boolean not null | whether the membership is in effect (many end dates are unknown, so this is needed) |
playing | boolean not null | whether the player is a playing member (false for coaches, among others) |
Contains prize pool information. Each row represents a single payout to a single player.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
event_id | integer not null | foreign key to event |
player_id | integer not null | foreign key to player |
earnings | integer | amount in USD at the time of the win |
origearnings | numeric(20,8) | amount in original currency |
currency | character varying(30) not null | currency code |
placement | integer not null | place in the event |
Contains aliases for teams and players (common nicknames and shortened names.)
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
name | character varying(100) | the alias |
player_id | integer | foreign key to player |
group_id | integer | foreign key to group |
Contains messages associated with some objects, containing perhaps relevant information.
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
type | character varying(10) not null | info, warning, sucess or error |
message | character varying(1000) not null | text describing this message |
params | character varying(1000) not null | parameters for string interpolation |
player_id | integer | foreign key to player |
event_id | integer | foreign key to event |
group_id | integer | foreign key to group |
match_id | integer | foreign key to match |
Contains stories (dots plotted in some players' rating charts.)
Name | Definition | Description |
---|---|---|
id | integer not null | primary key |
player_id | integer not null | foreign key to player |
message | character varying(1000) not null | text describing this story |
params | character varying(1000) not null | parameters for string interpolation |
date | date not null | when it happened |
event_id | integer | foreign key to event (if applicable) |