Analyzing social media analytics with Claude or ChatGPT is a three-step sequence: export your data at post level as a table, hand it over with a prompt that states the question, the definitions and the business context, then treat everything that comes back as a hypothesis to verify rather than a finding. The assistant has no live connection to your accounts and no memory of your quarter — it reads only what you give it. Used that way it is genuinely fast at the tedious middle of a monthly review: grouping eighty rows by content type, ranking them four different ways, and describing the shape of what it sees.
We already have a conceptual piece on where AI helps and overreaches in social media analytics. This is the hands-on companion — the exports, the prompts, and the specific ways this workflow goes wrong.
What the assistant can and can't see
Three consequences follow from "it only reads what you paste," and every mistake in this workflow traces back to forgetting one of them.
It has no access to your accounts. Whatever isn't in your export doesn't exist. If you paste reach but not follower count, any engagement rate it produces is using a denominator you didn't give it — which means it invented one.
It has no knowledge of your business. It doesn't know you were on holiday for nine days in June, that one post got shared by a much larger account, or that your April spike was a product launch. Unstated context becomes a guessed explanation.
It has no benchmark for your niche. It has a general sense of what social media numbers look like, which is not the same as knowing what good looks like for a 4,000-follower B2B account in industrial software. Ask it for an industry average and you will usually get a confident, plausible, unsourced number.
If the underlying vocabulary is still shaky — reach versus impressions, what an engagement rate is actually dividing by — read the beginner's guide to social media analytics first and keep the social media analytics glossary entry open. The assistant will happily use your terms wrongly if you do.
Step 1: export the right table
The single biggest quality lever is the grain of the data. One row per post beats one row per week, every time. Weekly summaries let the model describe a trend; post-level rows let it find the cause.
Aim for these columns, whatever the source:
| Column | Why it matters |
|---|---|
| Date and time published | Enables day-of-week and time-of-day grouping |
| Platform | Prevents cross-platform metrics being averaged together |
| Format | Reel, carousel, static, Short, text post — the highest-value grouping you have |
| Topic or pillar | Your own tag, added by hand if needed; usually the most decision-relevant column |
| Reach or impressions | Say which one, in the header |
| Engagement actions | Likes, comments, shares, saves as separate columns if you have them |
| Link clicks | Only if the post had a link |
| Follower count at time of posting | Otherwise growth silently distorts every rate comparison |
The last row matters more than people expect. If you gained followers over the period, later posts carry a bigger denominator, so a flat engagement rate is really a decline — or an improvement, depending which denominator you picked. State it explicitly; our engagement rate calculator shows how far the answer moves with the formula.
Pull the export however your stack allows. Native insights give you one platform at a time; a scheduler gives you the posts you actually published with results attached — in SocialKit, post analytics sit beside each calendar entry, and the API plus webhooks on every plan let you automate the pull into a sheet. Either way, hand over a CSV or a pasted table, never a screenshot: models read numbers out of images unreliably, and one misread digit propagates through every calculation after it.
Both assistants accept file uploads and can run code over a spreadsheet rather than eyeballing it. Naming and plan availability shift; as of July 2026, check what your plan includes, and prefer the code path for any arithmetic across more than a handful of rows.
Step 2: brief it before you ask anything
Open with a setup message that constrains the whole conversation. This is the highest-leverage paragraph in the workflow, and most people skip straight to the question.
You are helping me review one month of social media performance.
Attached is a CSV: one row per post, 63 posts, 1 June to 30 June 2026,
Instagram and LinkedIn only.
Definitions I am using:
- Engagement rate = (likes + comments + shares + saves) / reach
- Reach is unique accounts, not impressions
- "Pillar" is my own topic tag, one of four values
Context you don't have: I published nothing between 12 and 20 June
(holiday). The 3 June carousel was shared by a partner account with a
much larger audience, so treat it as an outlier, not a repeatable result.
Rules for this whole conversation:
1. Never state a number that isn't computed from the attached data.
2. If I ask something the data can't answer, say so instead of estimating.
3. Show the calculation for any figure you report.
4. Flag any group with fewer than 5 posts as too small to conclude from.
5. Distinguish "X is associated with Y" from "X caused Y". Never assert
causation.
Rules 1 and 4 remove most of the failure modes discussed below. Rule 3 is what makes verification possible in under five minutes. If you write prompts regularly, this is just a constraint block in the sense our guide to AI prompt frameworks for social media describes — role, data, definitions, rules, task.
Step 3: four prompts that do most of the work
The monthly review
Summarize the month in this order:
1. What was published: count by platform, by format, by pillar.
2. The five best and five worst posts by engagement rate, with the
raw numbers.
3. Any grouping where the difference between groups is large enough
to be worth investigating, with sample sizes.
4. Three questions this data raises that it can't answer.
Do not recommend anything yet.
Withholding the recommendation is deliberate. Ask for advice in the same breath as the summary and you get advice shaped by the model's general priors about social media rather than by your table. Point 4 is the most useful section on the page — it's where "your Thursday posts did well, but four of the six were carousels, so I can't separate day from format" surfaces.
The content-mix question
Group every post by pillar, then by format, then by pillar x format.
For each group give: post count, median engagement rate, and the
range. Use median, not mean. Tell me which groups are too small to
judge. Then tell me which single grouping explains the most variation
in performance, and how confident you are.
Median over mean matters here. One partner-shared carousel drags a mean upward and invents a content pillar that isn't really working.
The timing question
Group posts by day of week and by hour bucket. Report post count and
median engagement rate for each. Explicitly note where content type is
confounded with timing — e.g. if all my Reels went out on the same two
days. Do not recommend a posting schedule if the sample per bucket is
under 5 posts.
This one almost always returns "your buckets are too thin," which is the correct answer for a normal month of posting and the reason best-time-to-post recommendations are built from far more data than one account generates. Treat your own timing analysis as a tiebreaker on top of a platform-level starting point, not a replacement for it.
The pre-mortem
Take the strongest claim you just made. Argue against it. What other
explanation fits this same data equally well? What would I need to
measure to tell the two apart?
Asking a model to argue with itself is the cheapest quality control available. It routinely surfaces the confound the first answer glossed over.
Benchmark questions need a source you supply
"Is a 4.2% engagement rate good for Instagram?" is the question everyone asks and the one this setup answers worst. The honest response is that engagement benchmarks vary enormously by industry, account size, region and — critically — by which denominator the source used. A model asked cold will produce a number that sounds researched and isn't.
Two ways to get a real answer:
- Use your own history as the benchmark. Paste three or six months instead of one. "Is this good?" becomes "is this better than my own median, and is the difference bigger than the month-to-month noise?" That question the data can actually answer.
- Bring the external benchmark yourself. If you have a published industry report, paste the relevant figures into the conversation along with how that source defines engagement rate, and ask the model to compare like for like. It becomes a units-and-definitions checker, which is a job it does well.
Which numbers deserve a benchmark at all is a separate decision — our rundown of the social media KPIs that actually matter is a better place to start than a percentage someone quoted on a slide.
Five traps
Invented numbers. The commonest failure is a figure that appears in the prose but nowhere in your data — a total that was never summed, a percentage change against a baseline you didn't provide. Rule 1 in the briefing reduces this; spot-checking two numbers per session catches the rest.
Arithmetic drift. Mental math across dozens of rows produces small errors that compound. If your assistant can run code on the file, insist on it, and ask to see the computation.
Correlation told as a story. "Your how-to posts outperform because your audience wants education" is two claims: a pattern (fine, if it's in the data) and a mechanism (invented). The mechanism is the part that feels like insight and the part with no evidence behind it. Rewrite every finding as "X was associated with Y in June" before acting on it, then check whether those same posts differ in some other way — length, format, whether they carried a link.
Small samples. Four posts in a bucket is an anecdote. Rankings built on thin groups are mostly noise, and the model will rank them anyway unless told not to.
Survivorship and agreeableness. Your export contains only what you published, so it can teach you nothing about formats you never tried. And the model tends to accept your framing — ask "why did carousels do better?" and you'll get reasons, even if they didn't. Ask "did carousels do better, and by how much?" instead. Same category of mistake as treating an AI performance forecast as a commitment rather than a rough direction.
The five-minute verification pass
Before any finding leaves the chat window, do this:
- Recompute two numbers by hand. Pick one headline figure and one supporting figure. If either is off, discard the whole answer and start again with the code path.
- Check every claim against a column. If a statement references something you didn't supply, it's generated.
- Check the sample size behind each recommendation. Under five posts, it's a hypothesis to test, not a change to make.
- Strip the causal language. "Because" becomes "alongside."
- Add what you know that it doesn't. The holiday, the launch, the outage. This is the step that turns a summary into analysis.
Do that once and the output is safe to paste into a report. Our guide to creating a social media report covers the structure clients expect, and the step-by-step how to build a social media report from analytics walkthrough covers assembling it from the raw numbers. AI drafts the commentary; you own the claims.
Loop the findings back into what you publish
Analysis that doesn't change next month's calendar is a hobby. Two decisions should come out of every review.
Content mix. If one pillar-and-format combination holds up across two consecutive months with a decent sample behind it, shift a few slots toward it and mark the change on the calendar so next month's review can see it. One change at a time, or you can't attribute the result.
Timing. Move one slot, not the whole schedule, and let it run a full cycle. In SocialKit that's a drag on the visual calendar, with best-time-to-post recommendations as the default starting position and post analytics on the other side to say whether the move did anything. Plans are flat — all 11 supported platforms on every one, from €29/month Solo or €17.40/month billed annually as of July 2026, with a 7-day trial. It deliberately doesn't do social listening, competitor benchmarking or inbox management, so "why did sentiment shift" stays outside this loop entirely.
Once this is a monthly habit, the export is the step worth automating: pipe post data into a sheet via the API, then point the assistant at the sheet. That's the modest version of building your own analytics dashboard, and it's usually enough.
Start here
The first pass takes about an hour; every one after that is twenty minutes.
- Export last month at post level, one row per post, with the columns in the table above. Add your own pillar tag by hand if nothing supplies it.
- Write the briefing block once and save it. You'll reuse it every month with two lines changed.
- Run the monthly review prompt, then the content-mix prompt. Don't ask for recommendations yet.
- Run the pre-mortem on the strongest claim.
- Do the five-minute verification pass. Recompute two numbers by hand.
- Pick exactly one change to the content mix and one to timing. Write both on the calendar.
- Next month, add the previous month's file so the comparison is against your own history rather than a benchmark nobody can source.