{
 "retrievedOn": "2026-09-30",
 "page": "/guides/tiktok-account-analyzer/",
 "tools": [
  "user_profile",
  "creator_posts",
  "video_comments"
 ],
 "method": "Per account: followers, likes and video count from user_profile; the last 29-30 unique posts from two creator_posts pages. medianViews and meanViews are across those posts. medianViewsPctOfFollowers = medianViews / followerCount x 100. medianEngRateByViews = median across posts of (likes + comments + shares + saves) / views x 100. postsPerWeek = posts / days from oldest to newest post (inclusive) x 7. topPostsShareOfViews = views of the 3 most-viewed posts / all views in the sample x 100. postsOver2xMedian counts posts with at least twice the median views.",
 "accounts": {
  "duolingo": {
   "handle": "duolingo",
   "followerCount": 18200000,
   "totalLikes": 501800000,
   "videoCount": 1188,
   "postsAnalysed": 29,
   "oldestPost": "2026-08-25",
   "newestPost": "2026-09-29",
   "daysSpanned": 36,
   "postsPerWeek": 5.6,
   "medianViews": 680800,
   "meanViews": 860859,
   "minViews": 15000,
   "maxViews": 2400000,
   "medianViewsPctOfFollowers": 3.74,
   "medianEngRateByViews": 15.29,
   "medianLikes": 71200,
   "medianComments": 1949,
   "medianShares": 16900,
   "medianSaves": 10200,
   "postsOver2xMedian": 6,
   "postsUnderHalfMedian": 7,
   "topPostsShareOfViews": 24.8,
   "medianDurationSec": 11,
   "photoPosts": 4,
   "weekdays": {
    "Tue": 5,
    "Mon": 2,
    "Fri": 7,
    "Thu": 8,
    "Wed": 7
   },
   "top3": [
    {
     "id": "7689488735649402126",
     "date": "2026-09-25",
     "views": 2400000,
     "likes": 328300,
     "comments": 5563,
     "shares": 25600,
     "saves": 31200,
     "engRateByViews": 16.28,
     "duration": 8,
     "desc": "i’m feeling TREMENDOUS (spike is not) 🎤: @Ray William Johnson @Your Favorite Martian  🎨: @leah  🤢: @Brawl Stars  (s/o @Wrahya for the storyboard inspo!)"
    },
    {
     "id": "7683568498852842783",
     "date": "2026-09-09",
     "views": 1900000,
     "likes": 230400,
     "comments": 7328,
     "shares": 50900,
     "saves": 42900,
     "engRateByViews": 17.45,
     "duration": 17,
     "desc": "robux earning method unlocked 🎨: @leah "
    },
    {
     "id": "7681777035215211789",
     "date": "2026-09-04",
     "views": 1900000,
     "likes": 233400,
     "comments": 5030,
     "shares": 19700,
     "saves": 27900,
     "engRateByViews": 15.05,
     "duration": 6,
     "desc": "at 9:02 am est today (friday september 4th), i arrived to work to discover that my hq had been vandalized. while i have my suspicions on who the culprit may be,"
    }
   ]
  },
  "ryanair": {
   "handle": "ryanair",
   "followerCount": 2900000,
   "totalLikes": 67900000,
   "videoCount": 1019,
   "postsAnalysed": 30,
   "oldestPost": "2026-08-29",
   "newestPost": "2026-09-29",
   "daysSpanned": 32,
   "postsPerWeek": 6.6,
   "medianViews": 168950.0,
   "meanViews": 264077,
   "minViews": 23700,
   "maxViews": 1300000,
   "medianViewsPctOfFollowers": 5.83,
   "medianEngRateByViews": 4.62,
   "medianLikes": 5653.0,
   "medianComments": 308.5,
   "medianShares": 374.5,
   "medianSaves": 412.0,
   "postsOver2xMedian": 6,
   "postsUnderHalfMedian": 6,
   "topPostsShareOfViews": 37.1,
   "medianDurationSec": 6,
   "photoPosts": 3,
   "weekdays": {
    "Tue": 4,
    "Mon": 5,
    "Sun": 3,
    "Sat": 6,
    "Fri": 4,
    "Thu": 4,
    "Wed": 4
   },
   "top3": [
    {
     "id": "7688379007133355286",
     "date": "2026-09-22",
     "views": 1300000,
     "likes": 149500,
     "comments": 3252,
     "shares": 22400,
     "saves": 6187,
     "engRateByViews": 13.95,
     "duration": 5,
     "desc": "try printing trophies 👍 @Atlético de Madrid #ryanair "
    },
    {
     "id": "7681340411222183190",
     "date": "2026-09-03",
     "views": 948900,
     "likes": 92800,
     "comments": 1713,
     "shares": 20800,
     "saves": 7095,
     "engRateByViews": 12.9,
     "duration": 7,
     "desc": "hard choice 🤔 #ryanair "
    },
    {
     "id": "7683585643565419798",
     "date": "2026-09-09",
     "views": 686400,
     "likes": 28400,
     "comments": 622,
     "shares": 1375,
     "saves": 970,
     "engRateByViews": 4.57,
     "duration": 5,
     "desc": "see you at the gate 💰✌️ #stitch w/ @Grace McLean my windows #ryanair "
    }
   ]
  },
  "scrubdaddy": {
   "handle": "scrubdaddy",
   "followerCount": 4400000,
   "totalLikes": 103900000,
   "videoCount": 149,
   "postsAnalysed": 29,
   "oldestPost": "2026-06-29",
   "newestPost": "2026-09-25",
   "daysSpanned": 89,
   "postsPerWeek": 2.3,
   "medianViews": 39500,
   "meanViews": 334414,
   "minViews": 20600,
   "maxViews": 5100000,
   "medianViewsPctOfFollowers": 0.9,
   "medianEngRateByViews": 2.53,
   "medianLikes": 781,
   "medianComments": 29,
   "medianShares": 52,
   "medianSaves": 42,
   "postsOver2xMedian": 8,
   "postsUnderHalfMedian": 0,
   "topPostsShareOfViews": 86.0,
   "medianDurationSec": 23,
   "photoPosts": 4,
   "weekdays": {
    "Fri": 3,
    "Tue": 6,
    "Sun": 3,
    "Wed": 5,
    "Mon": 4,
    "Thu": 5,
    "Sat": 3
   },
   "top3": [
    {
     "id": "7688381219578334494",
     "date": "2026-09-22",
     "views": 5100000,
     "likes": 559300,
     "comments": 3425,
     "shares": 62600,
     "saves": 23700,
     "engRateByViews": 12.73,
     "duration": 41,
     "desc": "SCRUB BABY IS HERE‼️🗣️🍼 We weren’t joking when we told you guys we were working on it… Available exclusively at Walmart! LINK IN BIO!!  @Ellen | SAHM "
    },
    {
     "id": "7685776639694818591",
     "date": "2026-09-15",
     "views": 3000000,
     "likes": 247700,
     "comments": 3724,
     "shares": 45000,
     "saves": 7241,
     "engRateByViews": 10.12,
     "duration": 16,
     "desc": "So many bottles to clean. Wish we had a product made specifically for that… 👀🍼 #scrubdaddy "
    },
    {
     "id": "7680637395938692382",
     "date": "2026-09-07",
     "views": 235600,
     "likes": 8366,
     "comments": 319,
     "shares": 3255,
     "saves": 569,
     "engRateByViews": 5.31,
     "duration": 16,
     "desc": "SOMEONE has to clean up after your Labor Day bbq… #scrubdaddy #laborday #labordayweekend "
    }
   ]
  },
  "mrbeast": {
   "handle": "mrbeast",
   "followerCount": 142400000,
   "totalLikes": 1500000000,
   "videoCount": 477,
   "postsAnalysed": 29,
   "oldestPost": "2026-04-30",
   "newestPost": "2026-09-25",
   "daysSpanned": 149,
   "postsPerWeek": 1.4,
   "medianViews": 33500000,
   "meanViews": 60568966,
   "minViews": 3800000,
   "maxViews": 364500000,
   "medianViewsPctOfFollowers": 23.53,
   "medianEngRateByViews": 9.58,
   "medianLikes": 2500000,
   "medianComments": 54000,
   "medianShares": 56800,
   "medianSaves": 121700,
   "postsOver2xMedian": 9,
   "postsUnderHalfMedian": 7,
   "topPostsShareOfViews": 39.5,
   "medianDurationSec": 21.5,
   "photoPosts": 3,
   "weekdays": {
    "Fri": 4,
    "Thu": 5,
    "Sun": 6,
    "Wed": 5,
    "Sat": 2,
    "Mon": 3,
    "Tue": 4
   },
   "top3": [
    {
     "id": "7669561168653978910",
     "date": "2026-08-02",
     "views": 364500000,
     "likes": 42600000,
     "comments": 2100000,
     "shares": 12500000,
     "saves": 4600000,
     "engRateByViews": 16.95,
     "duration": 8,
     "desc": "Btw this dance took me hours to learn"
    },
    {
     "id": "7670199761282075935",
     "date": "2026-08-04",
     "views": 205900000,
     "likes": 20700000,
     "comments": 568800,
     "shares": 2100000,
     "saves": 1700000,
     "engRateByViews": 12.18,
     "duration": 9,
     "desc": "Replying to @notronaldo I’m as real as they come 😤"
    },
    {
     "id": "7670963633991453982",
     "date": "2026-08-06",
     "views": 123500000,
     "likes": 11500000,
     "comments": 167900,
     "shares": 352400,
     "saves": 704900,
     "engRateByViews": 10.3,
     "duration": 37,
     "desc": "I was just trying to do the trend 😭 @Call of Duty: Mobile  #CODMobile_Partner"
    }
   ]
  }
 },
 "benchmark": {
  "source": "/evidence/tiktok-engagement-rate-calculator-sample.json",
  "pulledOn": "2026-09-21",
  "note": "58 creators found through TikTok user search in six niches, last 10 posts each. Tier 'over 1M' = 29 creators. viewsPctOfFollowers is computed here from that file: per creator, median views of posts with at least one view divided by followerCount x 100; quartiles across the 29 creators (Python statistics.quantiles, n=4).",
  "over1M": {
   "creators": 29,
   "engRateByViews": {
    "q1": 5.25,
    "median": 5.95,
    "q3": 6.94
   },
   "viewsPctOfFollowers": {
    "q1": 0.45,
    "median": 3.53,
    "q3": 17.45
   },
   "medianViewsPerPost": 102450,
   "medianFollowers": 3100000
  }
 }
}