Nighthawk {{ windowNote }}{{ windowNoteShort }} {{ stackLabel }}

Previewing unsaved weights. Every total below is recomputed for you alone and is not saved state.

{{ slateNote }}

{{ grp.label }} {{ grp.count }}

{{ game.matchup }}

{{ game.dayLabel }} · {{ game.statusLabel }}

Live · {{ game.scoreboard.inningLabel }}
{{ sr.abbr }} {{ sr.abbr }} {{ sr.runs }}
{{ game.scoreboard.inning }}
bases
not fed
{{ game.scoreboard.countLabel }} B – S {{ game.scoreboard.outsLabel }}

{{ game.scoreboard.matchupNote }}

{{ game.gapText }}

{{ game.gapText }}

{{ game.awayHead.name }}
Away
{{ game.homeHead.name }}
Home
{{ game.awayHead.total }} of 100 {{ game.homeHead.total }}
{{ cp.label }}
Band {{ cp.band }}
{{ cp.away.points }}{{ cp.away.missingLabel }}{{ cp.away.guessName }}{{ cp.away.guessPct }}
{{ cp.away.display }}
{{ cp.home.points }}{{ cp.home.missingLabel }}{{ cp.home.guessName }}{{ cp.home.guessPct }}
{{ cp.home.display }}
Measured, not scored
{{ ob.label }}
{{ ob.away.display }}
{{ ob.home.display }}
Nighthawk Market
{{ game.modelProb }} {{ game.marketProb }}
{{ pr.abbr }}
{{ pr.ours.american }}
{{ pr.ours.dec }} · {{ pr.ours.pct }}
{{ pr.market.american }}
{{ pr.market.dec }} · {{ pr.market.pct }}
no price on file

{{ game.priceNote }}

{{ game.marketSource }}
Nighthawk Market
{{ lr.label }}
{{ lr.ours.value }}
{{ lr.ours.note }}
{{ lr.market.value }}
no price
{{ lr.market.note }}

{{ game.ledgerNote }}

Home field advantage
{{ game.homeField.abbr }} {{ game.homeField.cents }}
{{ game.homeField.source }} · puts an even matchup at {{ game.homeField.pct }}

{{ game.homeField.note }}

{{ game.homeField.leagueLine }}

Disagreement {{ game.disagreement }}
{{ game.favorsNote }}
No pre-game market price is on file for this game. Common, and designed for.

Market prices are vig-free, so the two sides sum to exactly 100% and cannot be arbitraged. They are shown beside our rating for contrast, never as an input to it.

How the price was derived {{ game.deriv.position }}
{{ game.deriv.title }}
{{ tk.name }} {{ tk.value }}
= {{ game.deriv.result }}

{{ game.deriv.note }}

How our line has moved · pre-game
{{ ln.label }} {{ ln.samples }}
{{ ln.from }} {{ ln.to }} {{ ln.moved }}
{{ ln.label }} {{ ln.samples }}
{{ ln.from }} {{ ln.to }} {{ ln.moved }}

Nothing of ours to plot yet. Our series began recording recently and writes only when the line moves.

{{ game.excludedNote }}

Play by play {{ game.playCount }}
{{ pp.half }} {{ pp.event }} {{ pp.score }} {{ pp.score }}

{{ pt.text }}

{{ team.name }}

{{ team.sportLabel }} · {{ team.abbr }} · id {{ team.id }}
Rating, as scored on this card {{ team.total }}
{{ team.coverLabel }} · of {{ team.attainable }} attainable
{{ r.label }} {{ r.points }} {{ r.missingLabel }}
{{ r.display }}
Band {{ r.band }}
Measured, not scored
{{ ob.label }}
{{ ob.display }}

Carried for inspection while it has no weight. It contributes nothing to the rating above and nothing to coverage.

Statistics

the unrounded figures the rating is built from.

{{ s.display }} {{ s.value }}
as of {{ s.asOf }}

No metrics held for this club yet.

{{ team.squadTitle }} {{ team.squadCount }}

{{ team.squadNote }}

{{ team.squadEmpty }}

Fixtures in the window

No fixture in the current window.

{{ player.name }}

{{ player.name }}

{{ player.meta }} {{ player.status }} {{ player.status }}

No player statistic is an input to any rating. {{ player.originNote }}

Pitching log
{{ l.opponent }} {{ l.date }}
{{ st.label }} {{ st.value }}

{{ player.noLogNote }}

{{ liveNowCount }}
Checking for games in progress

{{ liveWaitingNote }}

{{ live.upcomingCount }}
{{ live.offTitle }}

{{ live.offBody }}

{{ live.nothingLeft }}

Fetching the day’s edition… it is a heavier payload than the slate, so it is only requested when you open this tab.

Reading this day from the slate. No edition has been printed for it yet, so the cards are being fetched for the whole day rather than the rolling window.
The daily book

{{ book.label }}

{{ book.counts }} · {{ book.status }}

Generated {{ book.generated }}

{{ book.colophon }}

Did our side win?
{{ book.pickDayPct }} {{ book.pickDay }}
{{ book.pickBaseline }}
{{ book.pickAllTime }}

{{ book.pickNote }}

Starting pitcher, called in advance
{{ book.ruleDayPct }} {{ book.ruleDay }}
{{ book.ruleAllTime }}

{{ book.ruleNote }}

{{ ch.title }} {{ ch.count }}

No games were rated on this day. That is the day being empty, not the book holding something back.

plain english. no glossary needed.

{{ p }}

{{ m.aside }}

{{ it.term }}
{{ it.def }}
Component ceilings · {{ sportLabel }} {{ sumLabel }} {{ sumLabel }}

The most points a component can contribute. Ceilings are meant to sum to 100, so the ceilings of the components a club actually scored are its attainable maximum.

{{ w.label }} floor {{ w.floor }} {{ w.ceiling }}

Previewing. The socket re-scores for you alone and persists nothing. Saving broadcasts the new set to every client and rewrites the ratings from the next run.

{{ savedNote }}

Scale, not components
{{ s.label }} {{ s.note }} {{ s.value }}

{{ scaleReadOnlyNote }}

Home field, per club

{{ homeFieldNote }}

{{ hf.abbr }} {{ hf.value }}
Calibration · {{ sportLabel }}
{{ vig.required }} needed, against {{ vig.reference }} in a normal market

{{ vig.note }}

{{ v.label }} {{ v.value }}

MLB only — the calibration behind this is measured on baseball. Nothing is claimed for {{ sportLabel }}.

Coverage in the window · {{ sportLabel }}
{{ c.label }} {{ c.count }}
{{ c.note }}
Feeds

check here before concluding a feed works.

{{ f.feed }} {{ f.status }} {{ f.status }}
{{ f.detail }}
{{ f.note }}
Vendor spend, month to date
{{ q.source }} {{ q.units }} {{ q.unit }}

Units are not comparable across vendors: one bills per call, one per row, one per credit. A zero is real information, not a gap.

Connection

{{ connectionLine }}

Cards arrive on connect and again whenever ingestion lands, so this client pushes rather than polls. A sleeping phone drops the socket; it reconnects with backoff.

Access key held this session not set

Sent as a bearer header on every request, and on the query string for the socket only, because a browser cannot set headers on a socket handshake. A query string shows up in logs and history. The secret is never written into this bundle.

We show numbers, not picks. Nothing here is a recommendation. Gambling involves risk. 21+.

{{ daysNote }}

{{ collectionNote }}

{{ edition.label }}

{{ edition.status }} · revision {{ edition.revision }}

{{ r.label }} {{ r.value }}

{{ edition.note }}

That {{ missingWhat }} is not in this window

The link may point at another day. The slate covers a rolling window, so a card drops out of it once its day has passed — try the editions calendar for an earlier day.

Reader context only. No headline is an input to any rating. Bodies are left on the server — a list never asks for them.

{{ n.source }} {{ n.game }}

{{ n.headline }}

{{ n.excerpt }}

{{ n.when }} {{ n.when }} Read at source →