{
  "schemaVersion": 1,
  "language": "en",
  "dataset": "Instaseer public Instagram content benchmark illustration",
  "articleUrl": "https://www.instaseer.com/research/instagram-content-benchmarks-2026",
  "scope": "120 retained posts from six selected public brand account samples. This is a worked example of summary statistics, not a representative industry estimate.",
  "files": {
    "benchmark-posts-anonymized.csv": {
      "unit": "One retained post observation",
      "identity": ["sample_id", "post_index"],
      "identityLimit": "post_index is a row identifier inside this extract, not an Instagram post ID. The existing filename does not promise anonymity: sample_id joins to an identified brand in source-register.csv.",
      "fields": {
        "sample_id": "Identifier joining the row to source-register.csv and source-manifest.json.",
        "post_index": "Positive whole row index within a sample; not a performance rank.",
        "format": "Retained display category: Image, Carousel or Video/Reel. Video/Reel combines those presentations and does not support separating them after the fact.",
        "published_at_utc": "Post publication timestamp in ISO 8601 UTC. This is different from the account sample's observation timestamp.",
        "likes": "Observed whole like count. A blank means unavailable; a zero means an observed zero.",
        "comments": "Observed whole comment count. A blank means unavailable; a zero means an observed zero.",
        "visible_interactions": "Likes plus comments only when both are available. A missing input makes the result unavailable. Does not include saves, shares, reach or views."
      }
    },
    "benchmark-formats.csv": {
      "unit": "One format within one sample",
      "fields": {
        "sample_id": "Identifier joining the row to the source register.",
        "brand": "Public account brand label retained for attribution.",
        "format": "Retained display category.",
        "posts": "Number of retained rows in this sample and format.",
        "eligible": "Rows with both observed likes and observed comments.",
        "missing": "Rows in this group excluded because the required counts were unavailable.",
        "mean_visible_interactions": "Sum of eligible visible interactions divided by the eligible row count; this CSV rounds the displayed result.",
        "median_visible_interactions": "Middle eligible value after sorting, or the mean of the two middle values for an even count."
      }
    },
    "source-register.csv": {
      "unit": "One retained account sample",
      "fields": {
        "sample_id": "Stable join key for this extract.",
        "brand": "Public brand label.",
        "public_handle": "Public account username, with its @ prefix.",
        "sample_page": "Instaseer sample page. Its current page can change; the source timestamp identifies this retained extract.",
        "observed_at_utc": "Timestamp of the retained account observation, separate for each account.",
        "display_timezone": "Timezone used for human-readable dates in the associated report.",
        "publication_window_start_utc": "Earliest publication timestamp retained in this sample.",
        "publication_window_end_utc": "Latest publication timestamp retained in this sample.",
        "posts": "Retained row count, not the account's complete post history.",
        "eligible_posts": "Retained posts eligible for the visible-interactions calculation.",
        "posts_per_week_estimate": "Historical interval-based posting estimate retained in the existing source register. The reproduction script does not validate it because the public post CSV lacks pinned-post eligibility fields.",
        "source_sha256": "Digest of the historical capture referenced by source-manifest.json, not the digest of this CSV."
      }
    },
    "benchmark-summary.json": {
      "purpose": "Original aggregate and account summaries, including unrounded means, eligibility counts and paired-format comparisons.",
      "statusLimit": "The original status and generation timestamp are historical source metadata. The reproduction package does not change or assert publication approval."
    },
    "source-manifest.json": {
      "purpose": "Original account observations, historical capture references and source digests.",
      "sourceFileLimit": "sourceFile values are capture-time references; they are not current download URLs."
    },
    "reproduce-benchmark.py": {
      "requirements": "Python 3.9 or later, standard library only. No network access or account is needed.",
      "requiredInputs": ["benchmark-posts-anonymized.csv", "benchmark-summary.json", "source-manifest.json"],
      "command": "python3 reproduce-benchmark.py --input-dir . > reproduced-summary.json",
      "behavior": "Reads the local inputs, rejects inconsistent rows, compares calculated interaction summaries with the original JSON and writes the result to standard output. A mismatch exits with status 1.",
      "verifiedScope": "Overall, pooled-format, account and within-account format counts, missing values, totals, means, medians, maxima and paired median direction.",
      "excludedScope": "Collection completeness, original count accuracy, cadence, causal effects, population inference, private metrics, licensing and publication approval."
    }
  },
  "interpretation": [
    "Show every account's observation date and publication window when comparing results.",
    "Pooled format results combine accounts with different audience sizes, format mixes and post ages.",
    "Compare means and medians, and inspect within-account results before describing a format difference.",
    "A selected retained sample cannot establish the best format for Instagram overall or for a future campaign.",
    "The data dictionary supplies definitions and reproduction instructions; it grants no additional rights over third-party material."
  ]
}
