# UGC Scoring (/docs/ugc/scoring)



UGC posts score in the `ugc` pool of the
[organic scoring algorithm](/docs/concepts/organic-scoring). Score
components:

```
quality         = weighted engagement rate percentile within UGC pool (weight 0.45)
reach           = views percentile within UGC pool              (weight 0.25)
outperformance  = log2(views / creator median views)             (weight 0.30)
weighted_er     = (likes + 3·comments + 5·shares + 6·saves) / views
freshness       = bonus up to +1.5 that decays over 90 days
```

Combined into a 0–10 score (base multiplier 8.5 + freshness bonus).

## Min views threshold [#min-views-threshold]

Posts below 50 views are NOT scored. They sit at score 0 until they
accumulate enough views (or get archived as too old).

## Freshness window [#freshness-window]

Bonus decays linearly over the 90-day freshness window. After 90 days,
posts typically score below threshold and exit the eligible pool.

## Why scoring? [#why-scoring]

Two reasons:

1. **Most UGC isn't worth amplifying.** Even good creators have flop
   posts. Scoring picks the winners automatically.
2. **Spend efficiency.** Promoting 10 high-quality UGC posts beats
   promoting 100 average ones with the same budget.

## Re-scoring cadence [#re-scoring-cadence]

Every 6 hours, the `update-organic-performance` workflow rescores all
UGC posts. New metrics → new score.

## Score history [#score-history]

Each post's detail panel shows its score over time. You'll see:

* Initial score after metrics first arrived.
* Bumps as engagement compounded.
* Decay as the post aged out of the freshness window.

## Manual override [#manual-override]

If a post's score is below 4.0 but you want it eligible, set
`override = 'include'`. If above 4.0 but you want it excluded
(off-brand, contains a competitor), set `override = 'exclude'`.

## Pool-specific scoring [#pool-specific-scoring]

UGC scores are NOT comparable to `generated` or `manual` pool scores —
each pool's score is computed differently. The optimizer handles pool
mixing via the [creative selection](/docs/concepts/ad-eligibility)
algorithm.
