> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Challenge Analytics

> Track completion funnel, per-action stats, CSV exports, and filter / sort your data

Every challenge has a built-in analytics tab with full stats on attempts, completions, per-action performance, and individual participants.

## The stats tab

Open any challenge -> **Insights / Analytics** tab.

<CardGroup cols={2}>
  <Card title="Completion funnel" icon="chart-line">
    Attempts -> completed -> rewarded. Shows drop-off between stages so you can see where members stall.
  </Card>

  <Card title="Per-action stats" icon="list">
    For each action: attempts, correct (quiz mode), submission counts, average/NPS (rating).
  </Card>

  <Card title="Timeline" icon="calendar">
    Attempts and completions over time — plot shows when members actually engage.
  </Card>

  <Card title="Participants" icon="users">
    Individual member rows with status, completion %, reward claimed.
  </Card>
</CardGroup>

***

## Challenge list — Completion Rate column

The challenges list table now shows a **Completion Rate** column by default (#1821). Sort by it to find your strongest and weakest challenges at a glance. The column is sticky (#782, #921) so it stays visible as you horizontally scroll long tables.

***

## CSV exports

Export participant-level data for external analysis (#1241, #1243):

* **All participants** for a challenge (status, progress, answers, timestamps)
* **Per-action submissions** (raw free-text, ratings, image URLs)
* **Aggregate stats** (headline numbers per action)

Exports stream from the v2 analytics API (#1296), which replaced the older REST endpoint and is significantly faster on large participant sets (#1274).

<Note>
  Open-ended question stats were fixed in #730 — partial submissions no longer distort counts. Re-export any dashboards dated before that PR if you saw unusual numbers.
</Note>

***

## Filters & sorting

The unified filter UI (#1017) sits at the top of every list + stats table:

* Status (Draft, Live, Scheduled, Ended, Archived)
* Date range (created / started / ended)
* Tag
* Action type
* Campaign

**Sorting persists** (#989) across page navigation — set your sort once and it's remembered for the session.

***

## Open-ended questions

Free-text action reporting includes:

* Submission count
* Avg character length
* Raw submissions export (CSV)
* No sentiment analysis out-of-the-box — pipe the CSV to your own tooling.

***

## Analytics API

For custom dashboards, pull challenge stats via the **Analytics API**:

* `GET /analytics/challenges/:id/funnel` — completion funnel
* `GET /analytics/challenges/:id/participants` — paginated participant list
* `GET /analytics/challenges/:id/actions/:actionId` — per-action breakdown

See the [Analytics API reference](/api-reference/analytics) for full schemas.

***

## Interpreting the numbers

<AccordionGroup>
  <Accordion title="Low completion rate (under 30%)" icon="chart-line-down">
    Likely too many actions, wrong difficulty, or unclear reward. Trim actions, preview as a member, test the reward value perception.
  </Accordion>

  <Accordion title="High attempt / low complete (funnel gap)" icon="filter">
    Members start but don't finish. Look at per-action attempts to find the stalling action and simplify it.
  </Accordion>

  <Accordion title="High completion / low reward claim" icon="gift">
    Members complete but never claim. Usually a wallet / redemption UX bug — check the reward's redemption config.
  </Accordion>
</AccordionGroup>
