Analyse your comments
Sample comments.csv Sample profiles.csv
Expected file format
First line is the header. Column names may be in any case. Comma or semicolon separated (Excel's Finnish CSV works). Every column except username may be missing; the result says which signals could run.
comments.csv, one row per comment
| Column | Used for |
|---|---|
username | Required. The account. |
text | Same text (at least 5 words) and links found in the text. |
links | Same links. URLs separated by spaces. |
repost_of | Reposts of the same comment. |
parent_id | Replies to the same comment. |
timestamp | First and last time seen. ISO 8601, e.g. 2026-11-01T10:00:00Z. |
comment_id | Pointing to example comments. |
synthetic | 1 or true marks simulated data. |
profiles.csv, one row per account (optional)
| Column | Used for |
|---|---|
username | Joins to the comments. |
label | human, bot or bot:<family>. Only to measure precision and false positives, never to decide. |
created_at | Shows when a group's accounts were created close together (evidence only). |
username,timestamp,text,repost_of some_user,2026-11-01T10:00:00Z,"Text, with a comma, in quotes",
Small files prove little: with few comments the chance test rarely links anyone, by design.
Summary
This data is simulated. Results on it show that the code works, not how good the detection is on real traffic.
Signals and settings of this run
Flagged accounts
An account is flagged when it is in a group of at least 3 accounts linked by sharing content more often than chance predicts. Confidence is how much of the members' own content the group shares (0–1). It is not a probability, and a flag is a lead to check, not proof: a harmless automated feed that posts the same wire text looks exactly like a swarm.