DocsMetrics

Sentiment

A 0–100 index of how positive engines are when they mention you, where 50 is neutral — and why unscored is never counted as neutral.

Sentiment measures the tone of your mentions — not how often you appear, but how favourably you are described when you do.

How it's calculated

Each scored brand mention is classified positive, neutral, or negative. The index balances positives against negatives across all scored mentions in the window:

sentiment_index = 50 + 50 × (positive − negative) / (total scored mentions)
  • 50 is neutral (positives and negatives cancel, or every mention is neutral).
  • 100 is all-positive; 0 is all-negative.

What counts — and what deliberately doesn't

Only scored mentions enter the formula. A mention is unscored when the language-model extraction pass failed for that run; unscored mentions are excluded, not treated as neutral.

Note

Unscored is not neutral. A neutral mention is a judgement the system made; an unscored one is a judgement it declined to make. Folding unscored into neutral would drag every score toward 50 and hide real signal. See Data honesty.

Sentiment is null (em-dash) when there are no scored brand mentions in the window at all — "— means no scored mention yet", not "neutral".

Why it matters

  • A high visibility score with low sentiment means engines talk about you unfavourably — a different, often more urgent, problem than being invisible.
  • Receipts shade the exact passages each sentiment call was read from — teal for positive, rust for negative — so you can audit any score down to the sentence. See Reading a receipt.

How to read it

  • Like all metrics, judge the trend; below five runs it is low-confidence.
  • Pair it with receipts to see why the tone is what it is.