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

# Best Bets

> Picks ranked by a composite score that weights expected value with sample size, recent form, matchup quality, injury context, and streak history.

The Dashboard sorts by raw expected value. **Best Bets** sorts by a **composite score** that weights EV alongside the supporting factors that make a bet more or less reliable.

A 5% EV bet on a hot player against a bottom-five defense often beats a 15% EV bet on a slumping player against a top-five defense. The composite score captures that.

## The composite score

Every prop gets a 0–100 score weighted across these factors:

| Factor              | Weight | Why it matters                                                         |
| ------------------- | ------ | ---------------------------------------------------------------------- |
| **Expected Value**  | 30%    | The raw mathematical edge from our probability model                   |
| **Sample Size**     | 20%    | Larger sample = tighter probability estimate. 30+ games = max score    |
| **Recent Form**     | 15%    | Last 5 games weighted heavier — a hot or cold streak adjusts the score |
| **Matchup Quality** | 15%    | Opponent's rank against the player's position and stat category        |
| **Injury Boost**    | 10%    | Bonus when a teammate is out and usage will increase                   |
| **Streak Bonus**    | 10%    | Bonus for consecutive recent games hitting the line                    |

## Confidence tiers

Picks are bucketed into three tiers based on score:

* **HIGH (80–100)** — strong EV plus excellent supporting factors
* **MEDIUM (60–79)** — solid plays, may lack one or two factors
* **LOW (under 60)** — speculative; could be high EV but poor form or tough matchup

## Filtering

<CardGroup cols={2}>
  <Card title="Min EV slider" icon="sliders">
    Adjust the minimum expected value required. Default is +3%. Slider is debounced so you can drag without firing rapid requests.
  </Card>

  <Card title="Sportsbook filter" icon="building-columns">
    Show only books you have funded accounts at.
  </Card>

  <Card title="League filter" icon="trophy">
    Toggle between supported leagues — six total today.
  </Card>

  <Card title="Refresh" icon="rotate">
    Manually trigger a poll for the active league. Same data source as the auto-poll, just on demand.
  </Card>
</CardGroup>

## How to read it

A 5% EV / 95 composite bet is generally a better play than a 15% EV / 40 composite bet:

* The 95 composite means the matchup, form, and supporting context all line up
* The 40 composite is "high EV, but the model is the only thing pointing at this — everything else is a warning sign"

When in doubt, expand the row to see the full multi-book comparison and (if available) sharp signals or cross-book badges that might tip the decision.

## When the score lies

The composite score is built from data we have. It can't account for:

* News that broke after our last data pull
* Players who are nominally healthy but visibly limping in warmups
* Coach decisions about minutes / role on a given night
* Weather (NFL specifically — not yet integrated)
* Anything happening in the actual locker room

Always sanity-check a high-composite play against the news cycle before clicking. The dashboard shows recent news and injury status inline; use it.
