TikTok Coordinated Sharing Network
Introduction
This document serves as a proof of concept, developed within the framework of the Vera.ai Horizon EU project. It presents a comprehensive methodology for tracking and analyzing coordinated sharing activities on TikTok, employing traktok
for data collection via the TikTok Research API and CooRTweet
for the analysis of coordinated behavior patterns.
Initial Discovery: The analysis initiates by focusing on content tagged with the #moskow hashtag. This first step successfully identifies a preliminary group of accounts involved in coordinated sharing activities in the aftermath of the attack in Moscow. This discovery lays the groundwork for an extensive examination of coordinated dynamics across social media platforms.
On April 19, 2024, we received a list of 513 problematic accounts from a trusted partner within the Vera AI consortium. Accounts that were mentioned at least twice on this list have been added to our pool of monitored accounts.
Daily Monitoring and Analysis: Subsequent to the initial identification, the methodology transitions into a phase of daily monitoring. In this phase, the script consistently retrieves videos posted by the previously identified accounts, with the goal of detecting both ongoing and emerging instances of coordinated behavior. As new accounts manifesting coordinated behavior (time_window = 120 seconds, min_participation = 2 posts, edge_weight = 0.9) are discovered, they are incorporated into the daily monitoring routine.
This approach ensures continuous updates on the number of newly discovered coordinated accounts, highlighting the fluid nature of social media coordination. Enhanced by interactive visualizations, the analysis sheds light on the shifting landscape of account activities and the intricate network of interactions among them on the TikTok platform.
By delineating these processes, the proof of concept underscores the potential for advanced analytical tools to reveal and understand the complex phenomena of coordinated social media behavior within the context of significant societal events.
Today Output
Execution Summary: We attempted to retrieve videos from 2,693 monitored accounts, during the period from December 06, 2024 to December 21, 2024. We successfully retrieved 4,859 recent videos. Using available data, we accessed a total of 9,723 videos posted on TikTok within the timeframe. Our analysis for coordinated detection in these videos identified 31 accounts spread across 10 components, and it also uncovered 19 new accounts exhibiting coordinated behavior.
Error Summary: Total errors encountered: 675
Errors by type:
chunk_error description_query_error pagination_error
1 582 92
Sample Errors: Type: pagination_error, Message: HTTP 400 Bad Request. • status: invalid_params • message: Invalid count or cursor • log_id: 202412210325191C7CAE207AC922266083 Type: pagination_error, Message: HTTP 400 Bad Request. • status: invalid_params • message: Search Id 7450705725933753386 is invalid or expired • log_id: 20241221034502A59F1E2AE97E23295044 Type: description_query_error, Message: HTTP 429 Too Many Requests. • status: daily_quota_limit_exceeded • message: The API daily quota limit exceeded. Please try again later • log_id: 2024122104032429E955E15936C930D04D Type: description_query_error, Message: HTTP 429 Too Many Requests. • status: daily_quota_limit_exceeded • message: The API daily quota limit exceeded. Please try again later • log_id: 20241221040016AD807DF087B45227F76C Type: description_query_error, Message: HTTP 429 Too Many Requests. • status: daily_quota_limit_exceeded • message: The API daily quota limit exceeded. Please try again later • log_id: 20241221035353D6F55B1DF7DC9C2B6FC2
Explore the interactive chart. Node click to visit the TikTok account.
Interactive visualization of coordinated account detected today. Click on a node to visit the respective TikTok account.
About
vera.ai is a research and development project focusing on disinformation analysis and AI supported verification tools and services. Project funded by EU Horizon Europe, the UK’s innovation agency, and the Swiss State Secretariat for Education, Research and Innovation |
References
Giglietto, F., Marino, G., Mincigrucci, R., & Stanziano, A. (2023). A Workflow to Detect, Monitor, and Update Lists of Coordinated Social Media Accounts Across Time: The Case of the 2022 Italian Election. Social Media + Society, 9(3). https://doi.org/10.1177/20563051231196866
Session Info
R version 4.3.3 (2024-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.4 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
locale:
[1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
[4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
[7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
time zone: Etc/UTC
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] traktok_0.0.6.9000 logger_0.3.0 progress_1.2.3 jsonlite_1.8.9
[5] visNetwork_2.1.2 igraph_2.1.1 scales_1.3.0 httr_1.4.7
[9] CooRTweet_2.0.2 lubridate_1.9.3 forcats_1.0.0 stringr_1.5.1
[13] dplyr_1.1.4 purrr_1.0.2 readr_2.1.5 tidyr_1.3.1
[17] tibble_3.2.1 ggplot2_3.4.4 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] gtable_0.3.4 xfun_0.42 httr2_1.0.5
[4] htmlwidgets_1.6.4 tzdb_0.4.0 vctrs_0.6.5
[7] tools_4.3.3 generics_0.1.3 curl_5.2.3
[10] parallel_4.3.3 fansi_1.0.6 pkgconfig_2.0.3
[13] data.table_1.15.0 tidytable_0.11.0 lifecycle_1.0.4
[16] compiler_4.3.3 farver_2.1.1 munsell_0.5.0
[19] htmltools_0.5.7 yaml_2.3.8 pillar_1.9.0
[22] crayon_1.5.3 ellipsis_0.3.2 openssl_2.2.2
[25] tidyselect_1.2.1 digest_0.6.34 stringi_1.8.4
[28] labeling_0.4.3 fastmap_1.1.1 grid_4.3.3
[31] colorspace_2.1-0 cli_3.6.3 magrittr_2.0.3
[34] utf8_1.2.4 RcppSimdJson_0.1.11 withr_3.0.1
[37] prettyunits_1.2.0 rappdirs_0.3.3 bit64_4.0.5
[40] timechange_0.3.0 rmarkdown_2.25 bit_4.0.5
[43] askpass_1.2.1 hms_1.1.3 evaluate_0.23
[46] knitr_1.45 rlang_1.1.4 Rcpp_1.0.13
[49] glue_1.8.0 vroom_1.6.5 R6_2.5.1