How we calculate TikTok stats

What each number on a TKMetrics profile report means, where it comes from, and what it can't tell you.

Where the data comes from

Every report is built from what a logged-out visitor can see on TikTok: the public profile (followers, following, likes, video count, verified status, bio, account creation date) and up to about 300 of the account's most recent public videos (plays, likes, comments, shares, saves, length, caption, hashtags, sound and upload time). We do not log in, and we do not see private videos, drafts, demographics or TikTok's own analytics.

Each report shows its analysis date. Reports are rebuilt when we collect an account again, not on a fixed schedule, so an older report describes the account as it was on that date. To ask for a refresh or a correction, use the contact page.

The videos we analyse

A report says how many videos it analysed and what share of the account's total that is (for example "297 videos, 12.0% of total"). Averages per video (plays, likes, comments, shares, saves) are taken over those analysed videos. Pinned videos are included. Because the sample is the most recent videos, an account whose older videos did much better or worse will look different from its lifetime record.

  • Engagement rate = (likes + comments + shares) / plays, over the analysed videos.
  • Like rate = likes / plays. Reports compare it with the median like rate of every account TKMetrics tracks, and say "above" or "below" that median.
  • Rank by followers is the account's position among the accounts TKMetrics tracks, not among all of TikTok.
  • Estimated lifetime totals multiply the per-video averages by the account's total video count. They are labelled as estimates: they assume older videos performed like recent ones.

Medians and percentiles

A median is the middle video: half did better, half did worse. One viral hit lifts the average but barely moves the median. Older reports store only the 60 most-played analysed videos, so their medians and 75th percentile describe those 60, not a typical post; those reports say so next to the numbers. Reports built with the current method store medians over every analysed video.

Consistency grade and viral hits

The consistency grade measures how much plays vary from video to video, using the coefficient of variation (standard deviation divided by the mean): A below 0.5, B below 1.0, C below 1.5, D at 1.5 or more. A steady account gets an A; an account that lives on a few big hits gets a D. Viral-hit counts are the analysed videos with more than 2 times, and more than 5 times, the account's mean plays.

Posting times and per-month figures

  • Posting hours and days come from the upload time of each analysed video, in UTC. They show when the account posts, not when its audience is online.
  • Videos per week = analysed videos, leaving out pinned ones, divided by the number of weeks between the oldest and newest of them. A pinned video stays at the top of a profile however old it is, so counting it would stretch the date range. Reports built before October 2026 counted pinned videos; where such a report's sample has any, the weekly rate is not shown.
  • Followers, likes and videos per month divide the current totals by the account's age in months. They are lifetime averages since the account was created, not current growth rates.

Earnings estimates

TikTok does not publish payouts, so every earnings figure is a range, not a quote.

  • Creator Rewards is reported to pay roughly $0.40 to $1.00 per 1,000 qualified views. Only original videos over one minute qualify, and an account needs 10,000 followers and 100,000 views in the last 30 days. We estimate monthly views as average plays per video times videos per month, then count only the share of the account's analysed videos that run over a minute.
  • Brand deals (one sponsored post): $0.005 to $0.012 per follower for accounts with 1M+ followers, $0.008 to $0.015 for 100K+, $0.01 to $0.02 for 10K+. Real deals vary widely with niche, audience country and usage rights.

The TikTok money calculator runs the same model on any account or on numbers you type in.

How the text on a report is written

The written summaries on profile reports are generated by our code from the report's own numbers, so every figure in a sentence is a figure shown on the page. Where a short note from a language model appears (for example under a chart), it is shown only if every number in it matches the page data in an automated check. Claims the data can't back, such as where an account's audience lives, are left out.

Corrections and removal

If a number looks wrong, or you are the creator and want a report refreshed or removed, write to [email protected] with the report's address.