Web Tidy
Blog

How to Analyze Instagram Followers in Excel

Build a reviewable Excel workbook from one Instagram follower export, verify its scope, create stable keys, flag duplicates, and summarize returned fields.

Aug 30, 2026Instagram
On This Page

The first useful Excel analysis of an Instagram follower export is a file audit—not an audience persona. Verify the source profile and Audience, preserve long IDs, build a stable key, flag duplicates, separate blank flags from false values, and record the row ceiling and terminal state beside every summary.

Use four worksheets:

  • Raw for the untouched 14-column export;
  • Analysis for formula columns;
  • Summary for reproducible counts;
  • Readme for the source profile, ceiling, confirmed rows, terminal state, date, format, and limitations.

This workflow analyzes one current file. It does not replace the two-file workflows for non-followbacks, historical changes, or common followers between profiles.

What one file can and cannot answer

One file can showOne file cannot establish
Usable stable keys and missing identifiersComplete follow/unfollow history
Duplicate keys or blank usernamesWho does not follow back now
Rows explicitly returned as isVerified=trueWho disappeared between dates
Returned relationship flagsCommon followers between two profiles
Source profile, Audience, and local collection-time rangeDemographics, purchase intent, outreach permission, or contact details

Every result applies only to the rows in the file. If the run had a 1,000-row ceiling or ended partial, carry that boundary into every table and chart.

Understand the 14 columns

GroupFieldsUse in analysis
Identityid, pk, usernameBuild a stable key: prefer id, then pk, then a normalized username fallback
DisplayprofileUrl, fullName, profilePicUrlManual review; do not invent blank values
FlagsisVerified, followedByViewer, requestedByViewerCount explicit true/false values; blanks are unknown
Scopeaudience, sourceProfile, sourceProfileUrlConfirm the file's direction and target
ProvenancecollectedAt, rowIndexLocal normalization time and local output order, not follow time or rank

Instagram Follower Exporter writes the same column order to CSV and native XLSX. Duplicate removal by account ID is enabled by default, but you should still audit: IDs can be absent, settings can change, and username fallbacks can contain formatting differences.

Build the workbook

1. Import without damaging IDs

For XLSX, open the file and copy the original worksheet to Raw. For CSV, use Data → From Text/CSV and set id, pk, and username to Text before loading. Save a new analysis workbook and keep the downloaded original unchanged.

Copy the data to Analysis, convert it to an Excel Table, and name the table IGExport.

2. Create a stable key

Add stableKey:

=IF([@id]<>"",[@id],IF([@pk]<>"",[@pk],LOWER(TRIM([@username]))))

Add keyStatus:

=IF([@stableKey]="","Missing key","Usable key")

An ID is preferable. A username fallback remains reviewable, but usernames can change.

3. Flag duplicates before deleting anything

Add duplicateStatus:

=IF([@stableKey]="","Review",IF(COUNTIF(IGExport[stableKey],[@stableKey])>1,"Duplicate","Unique"))

Filter Duplicate and review the rows. If you remove duplicates, do it only in the working copy. Microsoft distinguishes filtering unique values from removing duplicates: removal permanently deletes duplicate rows from the selected range.

4. Verify Audience and source profile

Put the expected Audience in Readme!B2—for example, followers—and the expected source handle in Readme!B3. Add scopeStatus:

=IF(AND([@audience]=Readme!$B$2,[@sourceProfile]=Readme!$B$3),"OK","Review")

Stop and inspect any Review row before building a summary.

Add profileLink:

=IF([@profileUrl]="","",HYPERLINK([@profileUrl],[@username]))

This helps manual review. It does not enrich a profile or grant permission to contact it.

6. Build reproducible Summary metrics

MetricFormulaMeaning
Usable-key rows=COUNTIF(IGExport[keyStatus],"Usable key")Rows that can participate in deterministic counts
Missing-key rows=COUNTIF(IGExport[keyStatus],"Missing key")Rows requiring manual review
Duplicate-marked rows=COUNTIF(IGExport[duplicateStatus],"Duplicate")Marked rows, not the number of duplicate groups
Verified true=COUNTIF(IGExport[isVerified],TRUE)Explicit true values only
Verified blank=COUNTBLANK(IGExport[isVerified])Unknown, not automatically false
Followed by viewer true=COUNTIF(IGExport[followedByViewer],TRUE)Interpret only when the source returned the flag
Requested by viewer true=COUNTIF(IGExport[requestedByViewer],TRUE)Interpret only when the source returned the flag
Scope-review rows=COUNTIF(IGExport[scopeStatus],"Review")Must be zero before normal reporting

Calculate the share of usable-key rows explicitly returned as verified:

=IF(COUNTIF(IGExport[keyStatus],"Usable key")=0,0,COUNTIF(IGExport[isVerified],TRUE)/COUNTIF(IGExport[keyStatus],"Usable key"))

Label it precisely: verified=true among usable-key rows in this file. It is not the verified rate of a complete account when coverage is bounded or partial, and it is not an account-quality score.

7. Generate a unique username list if useful

Microsoft 365 and newer dynamic-array versions support:

=UNIQUE(IGExport[username])

Older versions can use Advanced Filter. Keep the raw file either way, and do not treat a unique username list as more stable than IDs.

Recheck the formulas with a small example

These rows are fictional and exist only to verify the workflow:

idpkusernameisVerifiedaudiencesourceProfile
1019001amberTRUEfollowers@demo
1029002birchFALSEfollowers@demo
1019001amberTRUEfollowers@demo
9003coralfollowers@demo

Expected audit: four usable-key rows, two rows marked Duplicate, two explicit isVerified=TRUE rows, and one blank verified value. Do not report 2/4 as a deduplicated verified share until the working copy has been reviewed and Summary recalculated.

Verification checklist

Before publishing any analysis:

  1. scopeStatus=Review equals zero.
  2. Readme records the ceiling, confirmed rows, and terminal state.
  3. id and pk show no scientific notation or lost trailing digits.
  4. Duplicate handling occurred only in a working copy.
  5. True, false, and blank flags remain distinct.
  6. Every ratio states its denominator and unknown-value treatment.
  7. A partial run is labelled partial observed rows in tables and charts.
  8. Conclusions describe the current file only—never history, complete coverage, or causation.

Limits of this analysis

Each Web Tidy run handles Followers or Following for one target the current session can access, with a ceiling of 100, 200, 500, or 1,000 rows. A larger account produces a bounded subset. Partial and failed runs are not completed coverage, and task state must be recorded separately from the 14 output columns.

collectedAt is not a follow/unfollow timestamp. rowIndex is not rank. Blank relationship flags are unknown. The file contains no email, phone number, demographic attribute, or marketing permission, and the product does not enrich contacts, sync a CRM, or send outreach.

Frequently asked questions

Should I analyze CSV or XLSX?

Both have the same fields. XLSX opens directly; CSV requires careful Text typing for long IDs. Preserve the original either way.

Why check duplicates when removal is on by default?

Default deduplication uses account ID. Missing IDs, changed settings, or username fallbacks still justify an audit.

Can username be the unique key?

It can be a fallback, but it can change. Prefer id when present.

Does a blank isVerified mean false?

No. It means the source did not return a value.

Can one file show who does not follow me back?

No. That requires current Followers and Following files for the same profile.

Choose the next workflow

Create a bounded baseline with How to Back Up Instagram Followers and Following. For current non-followbacks, use Who Doesn't Follow You Back on Instagram. For changes between dates, use How to See Who Unfollowed You on Instagram. For two-profile overlap, use Common Followers Between Two Instagram Accounts.