Three picture cards connect to two groups of shape tokens and a grid.

Start with a manual review of meaning. The public question collected on August 11, 2026 asks “what topics get the most engagement.” Make that question narrower: which topics received which recorded responses within these selected posts? Engagement means recorded actions or counters, such as likes or replies. Choose one counter before you compare topics.

Your result will have three parts: written topic rules, a list that links each topic label to its source, and a response table with clear limits. You create these parts. The collection tool supplies documented source fields, not the complete analysis.

1. Write the decision and fix the sample

A sample is the set of posts you will examine. A fixed sample has a saved membership list that you do not change to improve the result.

Write one decision before you collect counts. For example, you might want to choose a subject for your next product explanation. That is a proposed decision, not evidence that the chosen subject will perform better.

Save these choices:

  1. The supplied accounts and known post URLs.
  2. The publication dates you intend to include.
  3. The rule used to select those posts.
  4. The post types allowed in each comparison.
  5. The response counter you will use.
  6. The post age required for that counter.
  7. The decision the comparison will support.

A selection rule might use all supplied original posts within stated dates. Describe it accurately. If someone supplied only posts they considered successful, keep that qualification with the result.

Do not add a high-response post after you see the first table. Save it for a later sample, or record a new sample version and repeat the analysis.

A known-post list does not describe every post from an account. It also does not measure platform demand. Keep account results separate so a topic posted mainly by one account does not become an unexplained comparison with another account’s topics.

2. Check the source and post type first

Use a checked post-type record before you assign topics. A record is a saved row of facts and review decisions for one post.

Original posts, replies, and quote posts can have different purposes. A reply may answer an earlier question. A quote post may discuss another author’s statement. Keep these types separate where those differences affect the comparison. Leave an uncertain type unresolved until you can check it.

Distinguish the author’s words from quoted source content. A quoted pricing announcement does not, by itself, show that the author explains pricing. Read the author’s contribution and the context needed to understand it.

The public Actor contract checked on October 25, 2026 documents `postType`, but it does not export parent or quoted post IDs. Save required relationship checks in your own record. Do not treat a missing relationship field as proof that no relationship exists.

The same contract says a repost input row describes the visible original post. `inputUrl` preserves the requested address. The returned identity, text, and metrics describe that original. Do not count this row as another original work by the account that reposted it.

This guide starts after that source accounting. It does not replace the post-type review.

3. Define topics before viewing metrics

A topic is the reader question or subject that a post addresses. A codebook is a short set of written rules for assigning topic labels.

Create the codebook before you view metrics. A metric is a recorded numerical measure, such as a like count. Keep those columns hidden while you define and apply the topic rules. This is a blinded review: the reviewer assigns labels without seeing the response values.

Write these fields for each topic:

3. Define topics before viewing metrics
Codebook fieldWhat to save
Topic nameA short, stable label
Reader questionThe question this topic answers
IncludeThe meaning required for this label
ExcludeSimilar content that belongs elsewhere
Inclusion exampleA short example of a matching subject
Exclusion exampleA short example that does not match
Mixed ruleHow to choose when two topics appear
Unclear ruleWhen meaning must remain unresolved
VersionThe rule version used for the review

These proposed codebook examples are original fiction:

3. Define topics before viewing metrics
TopicReader questionIncludeExclude
SetupHow do I start using the product?An explanation of first-use stepsA price announcement with no setup explanation
PricingWhat does the product cost or include?An explanation of prices or plan contentsA setup guide that only mentions a paid plan

Use one primary topic, meaning the main subject under your written rule. If two subjects have equal weight and the rule cannot resolve them, use a mixed label or leave the primary topic unresolved. Record that choice before you view the counts.

A keyword match alone cannot establish topic meaning. For a separate word-count task, use the guide to keyword co-occurrence. Co-occurrence means two selected terms appear in the same post. It does not replace this reading step.

4. Read, label, and preserve unresolved meaning

Read each post and the context needed to understand its main point. Review images, quoted material, or linked content separately when the topic depends on them. The documented `text` field does not prove that all required meaning is available.

For each post:

  1. Confirm the source identity and checked post type.
  2. Read the author’s text and required context.
  3. Apply the saved codebook without viewing metrics.
  4. Assign one primary topic when the evidence supports it.
  5. Save a short passage or reason for that decision.
  6. Record missing context and unresolved meaning.

A secondary flag is an extra label that records another subject. Keep these flags separate from the primary topic table. Otherwise, one post can enter several topic totals without a clear explanation.

If the issue is whether a word names your product, use the product-reference review guide. Confirming a product reference and identifying the post’s main topic are separate decisions.

Keep incomplete meaning outside the resolved-topic comparison. Do not assign a likely topic from one visible word. Also, do not call unresolved meaning a zero-response post.

If you change a topic rule, save the reason and apply the revised rule to the full sample. Check labels before you reveal the metrics. If you already knew some response values, record that limit rather than describing the review as fully blinded.

5. Collect compatible public observations

An observation is a recorded reading taken at a stated time. Post age is the time between publication and that reading. A seven-day-old post and a one-day-old post have different observation ages.

For a small sample, you can inspect public posts manually and save the source, time, counter, and availability. If you need owner-only records for your own account, keep them separate. Public observations do not provide another account’s private analytics.

The X Post Metrics Actor fits the collection step when you already have public post URLs. An Actor is a hosted collection program. Its checked public input accepts one to 1,000 known X or Twitter post URLs in `startUrls`. It does not search for posts or return a complete account archive.

This supplied input has a valid documented shape:

json
{"startUrls":["https://x.com/OpenAI/status/2077446718728425686"]}
5. Collect compatible public observations

Replace the sample address with one known public post URL from your fixed list. Use that one URL for a first check before submitting the rest. This is a proposed collection step. No run was made for this guide.

The public X Campaign Post Metrics Task was present when checked on October 25, 2026. A Task is a saved input preset for an Actor. Its saved settings were not inspected with an authenticated account, and it was not run. Check its current input yourself before use.

The checked contract documents identity, text, publication time, observation time, and public counters. It also documents `postMetricStatus`, which records each metric’s availability, precision, and source. Precision describes whether a value is exact, unavailable, or unknown. Keep that state beside the value.

A current reading cannot reconstruct a past day-seven count. Use already saved matched-age readings, meaning readings taken at the same required post age. Otherwise, plan future observations. If you use current readings of different ages, state that difference and keep them outside a table that requires matched ages.

6. Save the topic and observation records

Keep the raw source facts separate from your topic decisions. Preserve the original values, including missing values.

A practical post-topic record needs these fields:

6. Save the topic and observation records
FieldPurpose
Account identityKeeps account comparisons separate
`inputUrl`, `postUrl`, `postId`Links the request to the returned post
Checked post typeDefines the permitted comparison group
Text and context referenceSupports the meaning decision
Context stateRecords complete, incomplete, or unresolved meaning
Primary topicHolds one resolved topic or an unresolved state
Secondary flagsStores additional subjects separately
Topic reasonExplains why the primary label applies
Codebook version and reviewerShows which rules were applied and by whom
`publishedAt`, `observedAt`Supports the post-age check
Metric name and valueIdentifies the counter and its reading
Metric status, precision, and sourcePreserves the state from `postMetricStatus`
`status`, `statusReason`Preserves the returned row state
Eligibility and reasonStates whether the post enters this comparison

Eligibility means that a post meets every rule for the stated comparison. A readable post can have an unavailable metric. A post with an exact metric can still have unresolved meaning. Record both states.

Use `postId` to check that repeated exports do not add another post. Several observations of one post are several readings, not several authored posts. Select the reading required by your age rule.

Keep these failure states visible:

6. Save the topic and observation records
StateTreatment
Missing identityKeep the attempt unresolved until identity is checked
Missing required contextKeep the topic unresolved
Missing metricLeave the value missing and exclude it from that metric summary
Unknown precisionKeep the value outside an exact-only summary
Wrong observation ageKeep it outside the matched-age summary
Confirmed zeroInclude zero if all other rules pass
No eligible posts in a topicReport zero eligible posts and leave response summaries undefined

A missing value means the measurement is unavailable. Zero means an available reading recorded no units of that counter. These are different facts.

7. Show counts and distributions

A distribution shows how response values differ across posts. Start with the eligible post count, median, and range for each topic within the same account, post type, metric, and age rule.

The median is the middle value after you sort the values. For an even number of values, use the mean of the two middle values. The mean is their sum divided by their count. The range here is the lowest through highest observed value.

Use clear units, such as likes per post at day seven. Like counts describe recorded likes. They do not measure unique people across the sample or future followers.

Show the requested count, resolved-topic count, eligible metric count, and excluded cases. A topic with two eligible posts does not provide the same amount of evidence as a topic with many eligible posts. Always show the sample sizes beside the response summaries.

Keep the source list available for review. A summary without its contributing posts makes it hard to check whether different purposes or one unusual post explain the pattern.

8. Work through one fictional comparison

Original fiction. All posts, IDs, and readings in this example are invented. The example assumes exact saved day-seven like readings. It is not an Actor result or evidence about real accounts.

The fixed list contains six original posts from one supplied account. Five have complete text, a resolved primary topic, and eligible day-seven like counts. One remains meaning-unresolved.

8. Work through one fictional comparison
Fictional postPrimary topicSaved day-seven likesComparison state
P1Setup10Eligible
P2Setup20Eligible
P3Setup100Eligible
P4Pricing25Eligible
P5Pricing35Eligible
P6UnresolvedNot specifiedOutside topic comparison

No like value is supplied for P6 in this example. Do not invent a value, call it zero, or infer a collection failure. Its stated reason for exclusion is unresolved meaning.

For Setup, sort the readings: 10, 20, 100 likes. The middle reading is 20 likes. The median is therefore 20 likes per post. The range is 10–100 likes per post.

For Pricing, sort the readings: 25, 35 likes. There are two middle values. Calculate the median as follows:

(25 likes + 35 likes) / 2 posts = 30 likes per post.

The Pricing range is 25–35 likes per post.

8. Work through one fictional comparison
TopicEligible postsMedian day-seven likes per postRange of day-seven likes per post
Setup32010–100
Pricing23025–35

Check the totals: 3 Setup posts + 2 Pricing posts = 5 eligible posts. The five eligible posts plus one meaning-unresolved post account for all six supplied posts.

P3 is an outlier: its response is far from the other Setup values. Keep it in the table unless a written eligibility rule excludes it. Review its source and purpose. Do not remove it merely because it makes the range wide.

The supported statement is narrow: Pricing has the higher median in these five eligible posts. Setup contains the highest individual reading. Pricing has only two eligible posts. These facts do not establish a causal topic winner or predict follower growth.

9. Check the result before choosing a subject

Before you use the table, complete these checks:

  1. Reconcile every supplied post with an eligible or excluded record.
  2. Confirm that each included post contributes once to its primary topic.
  3. Confirm the same metric, age rule, account, and post-type group.
  4. Check missing values separately from confirmed zeros.
  5. Recalculate each median and range from the saved readings.
  6. Read outliers and unresolved cases beside the topic definitions.
  7. Check whether different purposes or account differences offer another explanation.
  8. Write a conclusion that names the sample and its limits.

Describe the pattern as an association: a topic label and a response occurred together in this sample. The comparison does not isolate what caused the response. A higher median does not prove that repeating the topic will improve results.

Sources & further reading

By Chronometrica · Updated

Back to top ↑