Quality Control: Chat Badges

Information
  • The document sets up the session by sourcing a setup script.
  • It imports chat data from a local file.
  • It creates a list of user badges from the chat data.
  • It provides a link to example images of the badges.
  • It analyzes the frequency and distribution of badges per message.

Preparation

source(here::here("data_collection/00_02-setup-session.R"))
# Load data
chat <- qs::qread(here("local_data/chat-debates_full.qs"))

Create list of badges

badges <- chat$correct %>%
    select(message_id, user_badges) %>%
    unnest(user_badges) %>%
    mutate(
        badge_name = sapply(user_badges, function(badge) badge$name),
    ) %>%
    unnest(badge_name)
Note

For example images of the emojis visit https://twitchinsights.net/badges

badges %>% 
    frq(badge_name)
badge_name <character> 
# total N=677804 valid N=677804 mean=34.00 sd=8.99

Value                                        |      N | Raw % | Valid % | Cum. %
--------------------------------------------------------------------------------
ambassador                                   |      9 |  0.00 |    0.00 |   0.00
anomaly_warzone_earth_1                      |     19 |  0.00 |    0.00 |   0.00
battlerite_1                                 |    259 |  0.04 |    0.04 |   0.04
bits                                         |  11124 |  1.64 |    1.64 |   1.68
bits_charity                                 |   5246 |  0.77 |    0.77 |   2.46
bits_leader                                  |     41 |  0.01 |    0.01 |   2.46
broadcaster                                  |    724 |  0.11 |    0.11 |   2.57
chatter_cs_go_2022                           |   1443 |  0.21 |    0.21 |   2.78
creator_cs_go_2022                           |      1 |  0.00 |    0.00 |   2.78
cuphead_1                                    |     10 |  0.00 |    0.00 |   2.78
destiny_2_final_shape_raid_race              |   7713 |  1.14 |    1.14 |   3.92
destiny_2_the_final_shape_streamer           |    376 |  0.06 |    0.06 |   3.98
dreamcon_2024                                |   1026 |  0.15 |    0.15 |   4.13
eso_1                                        |     25 |  0.00 |    0.00 |   4.13
firewatch_1                                  |      5 |  0.00 |    0.00 |   4.13
founder                                      |    356 |  0.05 |    0.05 |   4.19
game_developer                               |     96 |  0.01 |    0.01 |   4.20
glhf_pledge                                  |   8441 |  1.25 |    1.25 |   5.45
glitchcon2020                                |  19012 |  2.80 |    2.80 |   8.25
gold_pixel_heart                             |   5194 |  0.77 |    0.77 |   9.02
H1Z1_1                                       |    107 |  0.02 |    0.02 |   9.03
hype_train                                   |   4200 |  0.62 |    0.62 |   9.65
la_velada_iv                                 |   2628 |  0.39 |    0.39 |  10.04
minecraft_15th_anniversary_celebration       |   2804 |  0.41 |    0.41 |  10.45
moderator                                    |  19200 |  2.83 |    2.83 |  13.29
no_audio                                     |  18780 |  2.77 |    2.77 |  16.06
no_video                                     |  13104 |  1.93 |    1.93 |  17.99
overwatch_league_insider_1                   |    376 |  0.06 |    0.06 |  18.05
overwatch_league_insider_2018B               |    226 |  0.03 |    0.03 |  18.08
overwatch_league_insider_2019A               |   1451 |  0.21 |    0.21 |  18.29
partner                                      |  15617 |  2.30 |    2.30 |  20.60
predictions                                  |  11701 |  1.73 |    1.73 |  22.32
premium                                      | 193824 | 28.60 |   28.60 |  50.92
raging_wolf_helm                             |  88083 | 13.00 |   13.00 |  63.92
rplace_2023                                  |   7954 |  1.17 |    1.17 |  65.09
staff                                        |    158 |  0.02 |    0.02 |  65.11
streamer_awards_2024                         |   2321 |  0.34 |    0.34 |  65.45
sub_gift_leader                              |    262 |  0.04 |    0.04 |  65.49
sub_gifter                                   |  15331 |  2.26 |    2.26 |  67.76
subscriber                                   | 106973 | 15.78 |   15.78 |  83.54
subtember_2024                               |   7010 |  1.03 |    1.03 |  84.57
superultracombo_2023                         |  15703 |  2.32 |    2.32 |  86.89
the_game_awards_2023                         |    242 |  0.04 |    0.04 |  86.92
the_golden_predictor_of_the_game_awards_2023 |      4 |  0.00 |    0.00 |  86.92
turbo                                        |  27778 |  4.10 |    4.10 |  91.02
twitch_dj                                    |    365 |  0.05 |    0.05 |  91.08
twitch_recap_2023                            |  53608 |  7.91 |    7.91 |  98.99
twitchcon_2024___rotterdam                   |    289 |  0.04 |    0.04 |  99.03
twitchcon_2024___san_diego                   |   1802 |  0.27 |    0.27 |  99.29
twitchcon2017                                |    304 |  0.04 |    0.04 |  99.34
twitchcon2018                                |    353 |  0.05 |    0.05 |  99.39
twitchconAmsterdam2020                       |    122 |  0.02 |    0.02 |  99.41
twitchconEU2019                              |    129 |  0.02 |    0.02 |  99.43
twitchconEU2022                              |    197 |  0.03 |    0.03 |  99.46
twitchconEU2023                              |     62 |  0.01 |    0.01 |  99.47
twitchconNA2019                              |    282 |  0.04 |    0.04 |  99.51
twitchconNA2022                              |    997 |  0.15 |    0.15 |  99.66
twitchconNA2023                              |    363 |  0.05 |    0.05 |  99.71
vip                                          |    723 |  0.11 |    0.11 |  99.82
zevent_2024                                  |   1251 |  0.18 |    0.18 | 100.00
<NA>                                         |      0 |  0.00 |    <NA> |   <NA>

Distribution of badges per message

badges %>% 
    group_by(message_id) %>% 
    summarise( n = n()) %>% 
    describe_distribution()
Variable | Mean |   SD | IQR |        Range | Skewness | Kurtosis |      n | n_Missing
--------------------------------------------------------------------------------------
n        | 1.16 | 0.38 |   0 | [1.00, 3.00] |     2.05 |     2.94 | 582419 |         0