Skip to content
socialauditor.
METHODOLOGY

How a SocialAuditor report is made

The report presents SocialAuditor’s interpretation of the creator and audience data. This document explains the sources, selection of data, calculations and limits behind that interpretation. It applies to Instagram and TikTok reports.

What the report is

A SocialAuditor report is our independent analysis of data about a creator, including public profile information and analyses from external data providers. We apply consistent interpretation rules to comparable metrics. Sources, collection dates and coverage can differ by platform and report version.

In new reports on your account, SocialAuditor Score combines three equally weighted components: engagement, audience signals and comment-text diversity. An overall score appears only when all three are available; missing data do not become zero. The method is experimental. Other figures are shown separately and, where one exists, against their reference point. Results describe the collected data, not the person.

The executive summary brings the main findings together. Results such as an engagement rate below its reference can identify something to clarify before a collaboration; they do not establish its cause.

SocialAuditor Score

SocialAuditor Score is an experimental interpretation on a 0–100 scale, built from three equally weighted components. It is not a percentile, a probability or a prediction of partnership results.

  • E — Engagement: 50 × (engagement rate ÷ reference rate), limited to the 0–100 range. It requires at least 5 posts with both like and comment counts, published at least 3 days before collection, plus a comparable reference and valid collection date.
  • A — Audience signals: 100 minus the supplied low-quality-signal share. This transforms one classification and does not confirm the quality of the remaining accounts. An observed audience sample needs a valid observation date and at least 100 accounts. A completed provider analysis matched to the report may qualify when its sample size or observation date is not supplied; those details remain unknown. A supplied size below 100 still fails the threshold.
  • C — Comment-text diversity: 100 × (1 − repeated non-emoji text comments ÷ all non-emoji text comments). It requires at least 50 non-emoji text comments from at least 3 posts and a valid collection date. All comments in a repeated-text group are counted, including its first occurrence. This measures wording variety and does not establish who wrote the comments or how they were produced.

The overall Score is the rounded arithmetic mean of E, A and C only when all three are available. We do not round intermediate components, replace missing values with zero or redistribute their weights. Missing, partial or invalid source evidence makes the affected component unavailable; the report can still show the other components.

For TikTok, E uses posts from the 60 days before counter collection and the same maturity minimum. The configured reference is 0.70%, from Nindo (July 2026, a 60-day source window). The reference combines account sizes and does not disclose its sample size, geography or maturity filter, so this comparison remains experimental.

Tags next to the results

A short tag next to a figure changes how to read it:

  • “estimate”: a value estimated from a sample, such as the follower label shares or the audience’s age and gender; not an exact count of accounts;
  • “model estimate”: a model’s reading of the profile text and post captions, such as the creator’s topics or the signals in captions;
  • “average: Statista 2024”: the source of the published average behind the engagement reference band (details below).

Data sources and what we cannot see

Instagram and TikTok reports combine the following sources when they are available. Each source keeps its own collection date and scope:

  • public profile information: name, biography, and the follower, following and post counts;
  • recent public publications with their like and comment counts and, where available, video view counts;
  • a sample of public comments under the newest posts;
  • audience classifications and demographic, language and interest estimates supplied by an external data provider. The provider may not disclose its full selection method, sample size or observation dates;
  • creator classifications and publication statistics supplied by the provider, which can use a different set of posts from the publications collected for the report.

We never log in to the creator’s account, and we never contact or notify the creator.

This integration does not give us access to a creator’s private Instagram Insights or TikTok Analytics. Public counters and provider estimates are not the platform’s own audience or campaign analytics. Instagram reports do not display audience country or city estimates; TikTok reports may show geography when the source supplies it, as an estimate. Reach, conversions and campaign results require the creator’s own analytics.

Samples and their size

Each result describes the data available to its own source. Our publication and comment collections follow the latest available content in source order within a bounded period; they are not random samples. The audience provider’s selection and time window can differ and are not always supplied.

The report presents SocialAuditor’s results and interpretation, without repeating sample-size or source-scope notes beside each result. This document records the collection rules, calculation bases and minimum thresholds. Publication-gallery counts help navigate the returned items; they do not claim that the whole profile history was reviewed. The report’s owner can inspect the collected publications and comments in CSV exports.

  • Instagram posts: up to 78 of the newest public posts (about 75 in the engagement rate) published in the 12 months before collection. TikTok collection includes up to 30 of the newest public posts. A limit is a maximum, not a guarantee that the whole period is covered. Older reports can have smaller samples.
  • Posts published less than 3 days before collection are left out of the engagement rate, the median likes and comments, the post ranking and the cost per 1,000 interactions, because their counters are still growing.
  • Posting frequency in a comparison of profiles counts the collected posts with a date, per week, from the oldest one counted to collection, so it describes that period, not the account’s whole history; it needs at least 5 such posts over at least 7 days. When the collection stopped at its limit, or its limit is not recorded, pinned posts older than the rest are left out (or, where the source does not mark pinned posts, the 3 oldest); posts without a date are not counted. A report without collected posts shows the provider’s figure from its separate statistical post sample.
  • Instagram comments: up to 30 top-level comments under each of up to 10 of the newest posts, so at most 300 in all. For TikTok, up to 40 top-level comments under each of up to 5 posts, so at most 200 in all. Replies are left out. The source sets the order, so the sample is not random, and it can return fewer comments than requested.
  • Audience estimates may describe a provider-selected group rather than every follower. Historical follower analyses used the latest followers at collection time, so a recent campaign, giveaway or widely shared post could shape that group. For current provider analyses, a selection, sample size or observation date that was not supplied remains unknown.
  • The provider’s publication statistics and content signals can use a separate statistical post sample, with a different date, size and selection from the report’s collected publications. Their values are kept separate; one percentage cannot be combined with another to reconstruct a more detailed audience group.

When a sample is too small

A result that rests on too small a sample is not shown at all, in the report, on a shared link or in print, rather than marked as a “small sample”. Each result needs:

  • engagement rate: at least 5 posts with both counters, published at least 3 days before collection;
  • top and bottom posts by engagement rate: at least 6 posts with a comparable rate, whose highest and lowest rates differ as shown; otherwise the printed report shows the newest posts;
  • median video views: at least 5 videos with a view count;
  • median by format (images, reels, carousels): at least 5 posts in that format;
  • average posts per week: at least 5 dated posts over at least 7 days; with fewer, the activity chart shows its columns only;
  • follower labels: at least 5 accounts in the follower sample, when the provider states its size;
  • comment results (repeated text, comment structure and author shares): at least 5 comments; the repeated-text share also needs at least 5 comments with text, the share of emoji only among the repeated comments at least 5 repeated comments, and an author share at least 5 comments with a known author;
  • platform partnership label share: at least 5 posts for which the collection returned the label;
  • cost per 1,000 interactions: at least 10 posts with both counters, published at least 3 days before collection.

Engagement rate (ER)

Engagement rate of a post = (likes + comments) ÷ followers × 100.

The report shows the average over the collected posts with both counters that were published at least 3 days before collection. The follower count is the one on the public profile on the day of collection. A comparison with the reference band needs at least 5 such posts.

The post ranking orders posts by their own engagement rate. The “typical post” is the median rate of the comparable posts, and “4.0× the typical post” is a post’s rate divided by the typical post’s, both as shown. On paper the post strip states the same difference as “vs median”.

The engagement rate describes public reactions to the sampled posts relative to the follower count. It does not measure reach.

Engagement reference band

Statista publishes an industry average engagement rate of Instagram influencers per follower tier (2024 data), with the same definition: likes and comments divided by followers, times 100. SocialAuditor draws a reference band from 0.5 to 1.5 times the average of the account’s tier. The band is SocialAuditor’s convention, not the source’s: the source publishes one average per tier and no range. A few very high rates pull an average up, so many accounts sit below it.

Follower tiers: 1K–10K, 10K–50K, 50K–500K, 500K–1M, and 1M+.

The comparison covers Instagram accounts with at least 1,000 followers and needs at least 5 posts published at least 3 days before collection. It describes the metric, not the creator. The report says whether the rate is below, within or above the band. A rate below the band appears in the “Before you book” panel as a thing to clarify.

Source: Statista, 2024 data

Medians

A median is the middle value: half of the posts are above it and half below. One unusually popular post shifts it less than an average. Median likes and median comments use the same posts as the engagement rate; when no post has both counters, each median uses the posts with its own counter.

Medians by format (images, reels, carousels) are calculated for each format separately. A format with fewer than 5 posts is neither shown nor compared.

Reel views have their own sample: the reels whose view count the source supplied. When the view counts come from the collection of the profile’s newest publications, the median leaves out reels under 3 days old. Views are not unique viewers.

Follower labels and audience estimates

Historical follower-label analyses assign one label to each sampled account. They label verified accounts and accounts with 10,000+ followers first, then accounts that follow 1,500+ profiles or sit in the matching quality category, then accounts whose profile features score as low quality:

  • “Verified or large accounts”: verified, or with 10,000+ followers;
  • “High following counts”: follow 1,500+ accounts, or sit in the matching quality category;
  • “Low-quality signals”: profile features scored as low quality; ordinary personal accounts can carry them too;
  • “Regular accounts”: accounts assigned none of the other three labels.

Follower-label shares are provider estimates for the analyzed audience, not exact counts or a direct measurement of every follower. Some historical analysis versions made small numerical adjustments to those shares; the current provider contract is interpreted separately and does not inherit that adjustment. A label describes account features, not the person behind the account.

In some historical analysis versions, the five account assessment categories came from fixed proportions rather than counting accounts; those categories are not charted. A current provider’s quality classification remains an estimate under its own contract.

Age, gender, languages and interests are provider estimates, not self-reported demographics or the platform’s private audience analytics. The provider does not always disclose the model inputs or correction it used. Interests can overlap and need not add up to 100%. Each percentage describes its own base; separate percentages cannot be multiplied to establish a combined audience segment.

Comments

Repeated text: comments with text whose wording matches another comment in the sample once letter case, extra spaces and differences in how characters are encoded are ignored; punctuation and emoji are kept. Comments without text are left out; the share is of the comments with text, in whole percent. Inside the repeated text’s bar, the chart at the top of the report hatches a part, “of which emoji only”: the repeated comments whose text is emoji only, divided by all the repeated comments. A profile comparison carries no comment text, so it shows the repeated share without that part.

Comment structure uses one category per accepted comment. Emoji-only comments are classified first, then comments with no text. Short text has at most 3 words and longer text has at least 4. Words are whitespace-separated tokens containing a letter or digit; emoji, punctuation and symbols alone are not words. Each share is of all accepted comments.

Author shares count comments with a known author: “Distinct authors” is the number of different authors divided by the comments with a known author, and the largest author’s share is that author’s comments divided by the same comments. Comments without a known author are never counted as one shared author. The report never shows who wrote a comment.

Emoji-only comments, repeated congratulations and contest entries are common. These figures describe the wording and participation in this sample, not every comment on the profile.

Comment language

The comment language is our estimate for the comment sample. It is not the audience’s location and not the language of every follower: the people who comment are a different group from the followers.

After removing emoji, account tags, hashtags and links, each comment with at least two words and six letters (in Chinese, Japanese, Thai and other scripts written without spaces: four characters) is assigned one language from its alphabet, letters typical of a language and a fixed list of common words, including Polish words written without diacritics. Comments without one clear language are not counted.

Shares are shown from 20 counted comments from at least 3 posts. A language is named on its own from 5% and 3 comments, at most 3 languages are named, and the rest is grouped as “other”. Shares are rounded to whole percents (at least 1%) and add up to 100%.

Model estimates

The creator’s classifications (topic, content style, tone of voice, selling style) and the signals in post captions are a model’s estimates from the profile text and stored post captions. Images, videos and the creator’s full publishing history are not assessed.

Historical model-confidence labels use High from 80%, Medium from 60%, Low below. These confidence values are not shares of followers or posts. Current creator-classification groups instead describe relative class match on a 0–100 scale, normalized within each group; they are not calibrated probabilities.

Content-signal percentages describe the share of evaluated post descriptions with the feature. Each feature can use a different base, which is not always supplied, and independent features need not add up to 100%. A signal that is not shown is not a confirmed absence.

Current-provider engagement rates are percentages: 5.25 means 5.25%, and valid rates can exceed 100%. Publication statistics are numerical values with their stated units, such as counts, seconds, hours, days, posts per week or ratios. A numerical counter, a percentage share and a classification match are different kinds of result.

The model reads caption text only, without images, video or post settings; it does not establish whether a post was paid.

Experimental signals are still being tested: a zero or low result does not establish that the content is safe for a brand, and a high one is not a finding about the content. Review the original posts before drawing conclusions.

In the comparison with a campaign brief, the audience countries and languages are model estimates too.

Collaboration labels and mentions in captions

We check caption text only, against a fixed list of advertising, gift, collaboration and own-brand terms. A hashtag or bracket must match a listed term exactly, a phrase must appear as whole words, and Reklama, Ad or Prezent count only at the start of a line. A term is ignored when not, no or nie is among the 3 words before it in the same sentence or clause. Labels on the image or in the video are not checked.

The platform’s partnership label, set with Instagram’s own tool, is shown separately, as a share of the posts for which the collection returned the label: every collected post, only the newest posts when only those were read, or the posts with a returned label when the collection returned none for some of them. A post without it may still carry a label in its caption, image or video.

The share of posts with an @mention is of the posts with a caption. An @mention of another account does not mean a paid collaboration.

Cost per 1,000 interactions

Cost per 1,000 interactions = fee ÷ publications in the offer ÷ (median likes + median comments per publication) × 1,000.

The medians come from the posts with both counters published at least 3 days before collection. The report shows the cost from 10 such posts; with fewer it shows none.

Enter the fee as in the offer, net or gross: the result is on the same basis. Count posts and reels only: stories have no public counters in the sample.

It is an estimate from a sample of public posts, not a forecast of campaign results; sponsored posts may perform differently.

The fee and the number of publications stay in your browser tab only: they are not saved, sent to our server, printed or added to a shared link.

How current the data is

A report is a saved snapshot of the day its data was collected and does not update itself. The report’s header gives the profile’s collection date and how many days have passed since.

Collection and retrieval dates identify source runs and when an analysis was received. They do not establish a verified observation time for every counter or every audience estimate. A completed provider report does not supply a missing audience observation date.

Limitations

  • The report does not examine every follower, publication or comment. Public-content collections are not random, and the audience provider’s selection may not be supplied. The findings describe the available data and its recorded scope.
  • Public counters describe reactions to posts, not reach or campaign results.
  • A gap in a sample’s posts is not proof of a break in posting.
  • Every post, even one 12 months old, is measured against the follower count on the day of collection, so for an account that gained followers quickly the engagement rate reads lower than it was when its older posts were published.
  • The provider’s and the model’s estimates are not exact counts; the provider does not always state the sample size, the observation date or whether a model correction was applied.
  • In a comparison of profiles, each column is its own report: the samples, their size and selection, and the collection date can differ from column to column, so each column is read on its own. The columns stand in the order they were chosen; no column is ranked and no figure combines columns.
  • What the report did not measure, it leaves out instead of showing a zero; a group for which the source returned only zeros counts as not measured. In a comparison of profiles, a value that was not measured reads “—”.
  • Where available, platform account IDs and usernames are checked when matching public content to a report. This does not establish the account’s past identity.

Questions about the method: support@socialauditor.io

Last updated: 26 Oct 2026