> ## Documentation Index
> Fetch the complete documentation index at: https://social-b97141fb-feat-user-history-moderation-detail.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Raw Data Export

> Download row-level CSV snapshots for deeper ad‑hoc, cohort, and anomaly analysis beyond on-screen dashboard visualizations.

<Info>
  Use Raw Data Export when you need to move from dashboard trends to precise, joinable event rows—enabling custom pivots, cohort retention, feature adoption deep-dives, and external BI modeling.
</Info>

## What You Can Answer

<Tabs>
  <Tab title="Engagement Spike Root Cause">Which users & post types drove yesterday’s reaction surge?</Tab>
  <Tab title="Long Tail Visibility">Which older posts resurfaced (impressions without recent creation)?</Tab>
  <Tab title="Format Performance">Did video posts sustain higher reaction/post ratios post-campaign?</Tab>
  <Tab title="Role Analysis">Are moderators or power users driving disproportionate commentary?</Tab>
  <Tab title="Cohort Retention">Do posts created in week N continue generating impressions weeks later?</Tab>
</Tabs>

## Export Workflow

<Steps>
  <Step title="Select Date Range">Adjust widget timeframe (e.g., last 7 / 30 days). Smaller ranges export faster & reduce row truncation risk.</Step>
  <Step title="Open Widget Menu">In the target widget header (Daily Engagements, Post Types, Reach & Impressions) click the Download icon.</Step>
  <Step title="Confirm Email">Pre-filled from your account; update if you need to CC an alias that’s allowed.</Step>
  <Step title="Generate Snapshot">Click Generate to queue export—toast confirmation appears.</Step>
  <Step title="Retrieve Email Links">Email contains signed URLs for each CSV; links valid 24h.</Step>
  <Step title="Archive & Version">Store files with a date-stamped naming convention (e.g., posts\_2025-08-17.csv).</Step>
  <Step title="Join & Analyze">Combine on shared keys (`postId`, user IDs, `targetId`) in your BI / spreadsheet tool.</Step>
</Steps>

## Available Files

| Widget | File(s) | Granularity | Primary Keys | Typical Question |
| - | - | - | - | - |
| Daily Engagements | posts.csv | One row per post created on date | postId, posterUserId | Which creators spiked output? |
| Daily Engagements | comments.csv | One row per comment/reply on date | commentId, parentCommentId, postId | Where did discussion concentrate? |
| Daily Engagements | reactions.csv | Each reaction event | reactionId, postId, reactorUserId | Are reactions broad or concentrated? |
| Post Types | post\_types.csv | One row per post (lifecycle snapshot) | postId | Are video posts share increasing? |
| Reach & Impressions | reach.csv | Post-day tuple (unique viewers) | postId + date | Which dormant posts regained visibility? |
| Reach & Impressions | impressions.csv | Post-day tuple (total renders) | postId + date | Frequency vs reach divergence? |

<Info>All files capped at 10,000 rows. Split large periods or narrow filters (community, post type) when approaching limit.</Info>

## Column Reference

### Common Core Fields

| Column | Description |
| - | - |
| date | UTC ISO 8601 day of the event/render |
| postId / commentId / reactionId | Unique event identifiers |
| posterUserId / commenterUserId / reactorUserId | Originating user IDs |
| targetType | Location container (community, userFeed, etc.) |
| targetId | ID of target container |
| postType | Content classification (text, image, video, poll, etc.) |
| deleted | Boolean flag (excludes rows if deleted before export) |

### File Specific Highlights

<AccordionGroup>
  <Accordion title="posts.csv">Includes `postText`, `postType`, tag arrays, and deletion flags for content mining & classification.</Accordion>
  <Accordion title="comments.csv">Contains `parentCommentId` enabling thread reconstruction & depth analysis.</Accordion>
  <Accordion title="reactions.csv">Lightweight engagement events; join to posts for reaction intensity per post type.</Accordion>
  <Accordion title="post_types.csv">One row per post with full creator, timing, and type metadata for mix / composition trends.</Accordion>
  <Accordion title="reach.csv">Each row = post + day; reflects distinct viewer exposure irrespective of creation date.</Accordion>
  <Accordion title="impressions.csv">Frequency dimension per post + day; compare with reach to compute repetition (Impressions/Reach).</Accordion>
</AccordionGroup>

## Data Freshness & Snapshot Semantics

| Aspect | Behavior |
| - | - |
| Point-in-Time | Export reflects current state at generation moment. |
| Edits | Latest edited text retained (no historical versions). |
| Deletions | Hard-deleted content omitted to respect policy. |
| Late Events | Events arriving after generation won’t appear (re-export if critical). |
| Timezone | All timestamps normalized to UTC (convert downstream as needed). |

## Governance & Limits

| Area | Policy |
| - | - |
| Row Cap | 10,000 rows per CSV (enforced server-side). |
| Frequency | Manual—no scheduling yet (automation roadmap). |
| Security | Links are signed & expire in 24h; share internally only. |
| Permissions | Respects dashboard visibility scopes; if you can’t see it, you can’t export it. |
| Format | UTF-8 CSV, comma-delimited, quoted where needed. |

<Info>For larger ongoing pipelines plan migration to forthcoming API / warehouse sync instead of stitching multiple manual exports.</Info>

## Joining & Derived Metrics

| Goal | Join Strategy | Derived Formula |
| - | - | - |
| Reactions per Post Type | reactions.csv → posts.csv on postId | count(reactions)/count(posts) per postType |
| Comment Depth | comments.csv self-join via parentCommentId | avg(reply\_depth) |
| Visibility Decay Curve | impressions.csv grouped by days since post creation | impression\_count over lag day index |
| Frequency Factor | impressions.csv join reach.csv (postId+date) | impressions / reach |
| Content Creator Mix | posts.csv aggregated by posterUserRole | % share by role |

## Troubleshooting

| Symptom | Likely Cause | Investigation | Resolution |
| - | - | - | - |
| Missing expected post | Deleted before export | Check moderation logs | Re-run earlier (if recoverable) or note exclusion |
| Row count hits 10k | Range too broad | Count estimate via shorter sample | Split date range / add filter |
| Stale email arrival | Mail delay / processing backlog | Check status page & timestamp | Wait; re-trigger if >30m |
| Empty CSV | No events in range | Validate widget chart shows data | Adjust date or remove restrictive filters |
| Data mismatch vs chart | Filter drift after export | Confirm filters at generation vs current | Regenerate with correct filters |
| Character encoding issues | Non-UTF tool import settings | Inspect raw file header | Force UTF-8 in BI tool |

## Best Practices

<AccordionGroup>
  <Accordion title="Narrow First">Export smallest viable slice; expand gradually to avoid hitting limits.</Accordion>
  <Accordion title="Version Files">Use ISO date naming; store in a controlled folder for reproducibility.</Accordion>
  <Accordion title="Pre-Join Profiles">Create small dimension tables (user roles, community metadata) and join post-import.</Accordion>
  <Accordion title="Automate Later">Prototype insights manually before investing in pipeline automation.</Accordion>
  <Accordion title="Retention Modeling">Use impressions.csv to build decay curves for evergreen content strategy.</Accordion>
</AccordionGroup>

## FAQ

**Can I exceed 10k rows?** Not currently—split range or await API export.

**Are private communities included?** Yes, if your role grants visibility.

**Scheduled exports?** On roadmap—use calendar reminder interim.

**Historical text versions?** Not stored—only latest edit at generation time.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.