> ## 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.

# Interpreting Analytics Data

> Analytics suite, engagement stats, rewards analytics, v2 tRPC endpoints, caching, pagination, org-level dashboard

Nudj's analytics ships as an **analytics suite** — a redesigned dashboard (#1968, #2145) backed by tRPC endpoints (migrated from REST in #1024) with React-Query caching (#1831).

## Where data lives

| Data                | Source                       | Notes                                                        |
| ------------------- | ---------------------------- | ------------------------------------------------------------ |
| Dashboard tiles     | tRPC `analytics.*` routes    | React-Query cached, invalidate on event                      |
| Challenge analytics | `/analytics/challenges/*` v2 | Full CSV export (#1241, #1243)                               |
| Reward analytics    | `/analytics/rewards/*`       | Allocations, redemptions, distribution, recipients, timeline |
| User stats          | `/analytics/users/*`         | Per-user stats page (#484)                                   |
| Org dashboard       | `/analytics/organisations/*` | Aggregate across communities (#1701)                         |

***

## Dashboard surfaces

Two levels of dashboards — org and community — share a consistent card layout:

* **Engagement** — DAU/WAU, completions, retention.
* **Content** — live challenges, rewards, achievements, posts.
* **People** — member counts, roles, verified/anonymous.
* **Economy** — points earned/spent, XP earned, reward redemption rate.

See [Dashboard Overview](/admin-guide/dashboard) for the UI, and [Dashboard Reference](/admin-guide/analytics/admin-dashboard) for a field-by-field card breakdown.

***

## Caching & React Query

All analytics hits use React-Query (#1831) with per-query invalidation tags. When you gift a reward, create a challenge, or archive content, the relevant analytics queries auto-refresh — no manual reload.

If you hard-refresh and see numbers that jump, the analytics server just finished a pending refresh. Hang tight a few seconds for stability.

***

## Pagination

Long result sets paginate (#1033). Sort is persisted across pages. Filter state persists across pagination.

***

## CSV exports

For challenges, rewards, and users, export full datasets as CSV:

* Participant lists
* Raw action submissions (free-text, ratings, image URLs)
* Allocation / redemption histories

See [Challenge Analytics](/admin-guide/challenges/analytics) and [Reward Analytics](/admin-guide/rewards/analytics) for the specific exports.

***

## Analytics API (custom dashboards)

For custom BI pipelines, hit the Analytics API directly. See the [Analytics API reference](/api-reference/analytics) for the full schema of:

* Challenge completion funnels
* Reward allocation breakdowns
* User stats
* Org-level aggregations

All endpoints support pagination and time-range filtering.

***

## Org-level dashboard

The **org dashboard** (`/{orgSlug}`) aggregates stats across every community (#1701). Great for reporting to a single stakeholder when you run multiple communities.

See [Dashboard Overview](/admin-guide/dashboard) for the full layout.

***

## Interpreting common signals

<AccordionGroup>
  <Accordion title="DAU drop with constant membership" icon="chart-line-down">
    Members aren't returning. Check recent content — have you shipped something new in the last 14 days?
  </Accordion>

  <Accordion title="High earn / low redemption" icon="barcode">
    Members earn rewards but don't claim. Audit your redemption flow — too many steps? Codes expired?
  </Accordion>

  <Accordion title="Low completion rate on new challenge" icon="filter">
    Too many actions, wrong difficulty, or unclear reward. See [Challenge Analytics](/admin-guide/challenges/analytics#interpreting-the-numbers).
  </Accordion>
</AccordionGroup>
