# Mod Download Analytics

Task: `TODOS.phase-72.72.14.2.9`

V2 mod download analytics builds popular, trending, and new-release rankings
from provider-neutral download samples. `FV2ModDownloadAnalyticsSnapshot`
contains ranked rows for storefront surfaces, browser sorting, author
dashboards, and release gates.

## Policy

`BuildDefaultModDownloadAnalyticsPolicy` enables:

- seven-day trending windows
- fourteen-day new-release windows
- minimum trending download thresholds
- disabled-mod filtering
- release timestamp validation

## Samples

`FV2ModDownloadAnalyticsSample` records the mod id, display name, total
downloads, 24-hour downloads, seven-day downloads, 30-day downloads, previous
seven-day downloads, release timestamp, last download timestamp, and enabled
state.

Negative download counts, missing mod ids, and missing release timestamps block
the snapshot. Disabled mods are excluded unless the policy explicitly includes
them.

## Rankings

`BuildModDownloadAnalyticsSnapshot` creates:

- `Popular` rows sorted by all-time total downloads
- `Trending` rows sorted by seven-day downloads plus recent growth
- `NewRelease` rows for mods inside the new-release window

Each ranked row includes rank, total downloads, window downloads, trending
delta, trending score, and new-release status.

## Verification

Run:

```bash
python3 V2/ue/Tools/check-v2-mod-download-analytics.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModDownloadAnalytics_V2_Contract.json
```

The focused checker verifies runtime types, popular rankings, trending rankings,
new-release rankings, disabled-mod filtering, invalid count validation, release
timestamp validation, automation assertions, docs, CI/Horde wiring, and TODO
evidence for `72.14.2.9`.
