kuairand — Kuaishou short video recommendation logs with random exposure (KuaiRand, 2022)
- Description
Networks of the users of the short video sharing app Kuaishou (快手) and the videos that its recommender system showed them, from the KuaiRand dataset, collected by C. Gao and colleagues (University of Science and Technology of China and Kuaishou) from the recommendation logs of the app between 8 April and 8 May 2022. In the last two and a half weeks of this period (22 April to 8 May), each video recommended to the users had a small probability of being replaced by a video drawn at random from a pool of 7,583 videos; about 0.37% of the exposures were replaced. The logs record, for each exposure, whether the user clicked (or, in the single-column interface, validly played) the video, liked it, followed its author, commented on it, forwarded it, or marked it as disliked, how long it was watched, and whether the user visited the author's profile.
A directed edge from a user to a video is one exposure of the video to the user, with the user's feedback. The networks are bipartite and are multigraphs (a video may be shown to the same user several times). They combine the three log files of each version: the standard recommendations of 8-21 April and of 22 April - 8 May, and the random exposures of 22 April - 8 May (marked by the edge property
random).There are three versions, released by the authors, each a network of this entry:
27k: the complete dataset, with all 27,285 users and the 32 million videos shown to them (322 million exposures).1k: 1,000 users drawn at random from the complete dataset, with all their exposures.pure: all users, but only the exposures of the 7,583 videos of the pool of random videos.
The user and video identifiers were re-indexed by the source. The anonymized categorical user features of the source (
onehot_feat0toonehot_feat17) are kept as a vector property; the binned versions of the counts of the users (e.g.follow_user_num_range), and the date and hour of the exposures (redundant with the timestamps) are left out. The daily statistics of the videos (counts of plays, likes, comments, shares, ... of each video during the period, in the source'svideo_features_statisticfiles, with 50 columns) are also left out. The per-exposure duration of the videos in the logs agrees with the duration of the video given in the video features, except for very few exposures (e.g. 350 of the 11.7 million of1k); it is used for the videos whose duration is missing there, and otherwise left out.The networks have the following properties:
- (Node)
is_user: whether the node is a user (otherwise it is a video). - (Node)
id: the identifier of the user or video in the dataset. - (Node)
active_degree(users): the activity level of the user, e.g.full_active,high_active,middle_active,2_14_day_new,30day_retention,UNKNOWN. - (Node)
is_lowactive_period,is_live_streamer,is_video_author(users): flags of the user, as given by the source (with a few values other than 0 and 1, e.g. -124). - (Node)
follow_user_num,fans_user_num,friend_user_num(users): the numbers of users that the user follows, of followers, and of friends. - (Node)
register_days(users): the number of days since the user registered. - (Node)
onehot_features(users): the 18 anonymized categorical features of the user (onehot_feat0toonehot_feat17; NaN if missing). - (Node)
author_id(videos): the identifier of the author of the video (-1 if unknown). - (Node)
video_type(videos):NORMALorAD. - (Node)
upload_time(videos): the upload date of the video, as Unix time (-1 if unknown). - (Node)
upload_type(videos): the way the video was uploaded, e.g.LongImport,ShortImport,Web,Kmovie. - (Node)
visible_status(videos): the visibility status of the video (NaN if unknown). - (Node)
duration(videos): the duration of the video, in milliseconds (NaN if unknown). - (Node)
width,height(videos): the size of the video, in pixels (NaN if unknown). - (Node)
music_id(videos): the identifier of the background music of the video (-1 if unknown). - (Node)
music_type(videos): the type of the background music (NaN if unknown). - (Node)
tags(videos): the ids of the categories of the video, comma-separated, e.g.20,43. - (Edge)
time: the time of the exposure, as Unix time (with milliseconds). - (Edge)
click: whether the user clicked on the video (in the two-column interface), or played it validly (in the single-column interface: for at least its duration, if it lasts at most 7 seconds, or for more than 7 seconds otherwise). - (Edge)
long_view: whether the user watched the video for at least its duration, if it lasts at most 18 seconds, or for at least 18 seconds otherwise. - (Edge)
like,follow,comment,forward,hate: whether the user liked the video, followed its author, commented on it, forwarded it, or marked it as disliked. - (Edge)
profile_enter: whether the user visited the profile of the author. - (Edge)
play_time: how long the user watched the video, in milliseconds. - (Edge)
profile_stay_time,comment_stay_time: how long the user stayed on the profile of the author and in the comment section of the video, in milliseconds. - (Edge)
random: whether the video was shown by the random intervention. - (Edge)
tab: the interface (tab of the app) where the video was shown, a number from 0 to 14.
- Tags
- Social Online Preferences Bipartite Multigraph Timestamps Metadata
- Added
- 2026-10-28
- Citation
-
- C. Gao, S. Li, Y. Zhang, J. Chen, B. Li, W. Lei, P. Jiang, X. He, "KuaiRand: An Unbiased Sequential Recommendation Dataset with Randomly Exposed Videos." Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM), 3953-3957 (2022) 10.1145/3511808.3557624 Sci-Hub
- Upstream URL OK
-
https://kuairand.com/
https://doi.org/10.5281/zenodo.10439422 - Upstream license
- CC BY-SA 4.0, https://github.com/chongminggao/KuaiRand/blob/f8dbf6678b3c9594050e3e813aeff0c942260ec4/LICENSE
- Networks
-
Tip: click on a column header to sort the list, or hover over it for a description.
Column legend
- $\left<k\right>$
- Mean degree
- $\sigma_k$
- Standard deviation of the degrees
- $\lambda_h$
- Largest eigenvalue of the Hashimoto (non-backtracking) matrix
- $\tau$
- Random walk mixing time
- $r$
- Degree assortativity
- $c$
- Global clustering coefficient
- $\oslash$
- (Pseudo-) diameter
- $S$
- Relative size of the largest component
- NPs
- Node properties
- EPs
- Edge properties
Name Nodes Edges $\left<k\right>$ $\sigma_k$ $\lambda_h$ $\tau$ $r$ $c$ $\oslash$ $S$ Kind Mode NPs EPs gt GraphML GML csv 27k 32,066,010 323,464,444 10.09 494.09 2787.97 6.08 -0.33 0.00 6 1.00 Directed Bipartite is_user id active_degree is_lowactive_period is_live_streamer is_video_author follow_user_num fans_user_num friend_user_num register_days onehot_features author_id visible_status duration width height music_id music_type upload_time video_type upload_type tags time click long_view like follow comment forward hate profile_enter random play_time profile_stay_time comment_stay_time tab 2.396 GiB — — — 1k 4,372,868 11,756,073 2.69 253.39 530.02 9.11 -0.39 0.00 6 1.00 Directed Bipartite is_user id active_degree is_lowactive_period is_live_streamer is_video_author follow_user_num fans_user_num friend_user_num register_days onehot_features author_id visible_status duration width height music_id music_type upload_time video_type upload_type tags time click long_view like follow comment forward hate profile_enter random play_time profile_stay_time comment_stay_time tab 129.0 MiB 239.7 MiB 220.3 MiB 235.1 MiB pure 34,868 2,622,668 75.22 239.67 356.55 1.48 -0.14 0.00 5 1.00 Directed Bipartite is_user id active_degree is_lowactive_period is_live_streamer is_video_author follow_user_num fans_user_num friend_user_num register_days onehot_features author_id visible_status duration width height music_id music_type upload_time video_type upload_type tags time click long_view like follow comment forward hate profile_enter random play_time profile_stay_time comment_stay_time tab 23.3 MiB 43.1 MiB 38.2 MiB 37.1 MiB