About
Each morning, this dashboard reads the previous day’s news headlines and turns them into two numbers and a mood. The numbers try to answer a question the news doesn’t usually ask itself: how does today read?
What the numbers mean
Positivity (0–100)
How pleasant the day’s headlines read on average. 50 is a typical day, 100 is historically high, 0 is historically low. Academically this is the valencedimension of Russell’s circumplex model of affect; we call it Positivity for plain English.
Energy (0–100)
How activated the headlines feel (calm versus intense) on the same 0–100 historical scale. This is the arousal dimension from the same model.
Mood
One of nine labels: four cardinal corners (Excited, Calm, Tense, Bleak) when both Positivity and Energy clear the 33rd / 67th percentiles; four edge labels (Pleasant, Somber, Restless, Quiet) when one axis is in the top or bottom 20% and the other is neutral; and Mixed for everything else, which on most days is most days.
One quirk worth knowing: percentiles are recomputed against every prior day on each tick, so yesterday’s reading on the dashboard tomorrow may shift by a point or two. That’s the cost of a growing reference window; every number stays current with the full archive.
The mood map
↑ more energy
How it’s measured
- Pull yesterday’s headlines from GDELT, English-language only, restricted to seven major outlets (BBC, CNN, NYT, NPR, the Guardian, Fox News, Al Jazeera).
- For each headline, look up every word in the Warriner et al. (2013) lexicon (about 14,000 English words human-rated on a 1–9 scale for valence and arousal), and average the matches.
- Average those headline scores across the day.
- Convert that pair to percentiles against every previous complete day in the archive; the mood label falls out of where the day lands.
Days are defined in UTC; the pipeline runs shortly after 02:00 UTC.
Russell, J. A. (1980). A circumplex model of affect.
Warriner, A. B., Kuperman, V., & Brysbaert, M. (2013). Norms of valence, arousal, and dominance for 13,915 English lemmas.
What this isn’t
This is the temperature of the news, not the temperature of the world. News writing selects for the unusual, so even quiet days lean toward conflict words; a low Positivity reading says something about how journalists wrote, not about how anyone felt.
Limitations and future directions
The scoring engine is a bag-of-words lexicon: it looks up each word independently and averages the matches. That means it has no sense of context. “Not great” scores the same as “great” because the negation is invisible. Irony, sarcasm, and hedging all pass through undetected. Named entities carry no weight either; “war” registers as negative whether it appears in “war breaks out” or “war on poverty.”
The lexicon also covers only about 14,000 English lemmas, so domain-specific terms, proper nouns, and newer slang are simply skipped. On a typical day roughly a third of headline tokens find no match; the score is built from whatever remains. Headlines with fewer than two matched words are dropped entirely.
A natural next step is replacing the lexicon scorer with a large language model (something like Claude Haiku) that reads each headline as a whole and rates it on the same 1–9 valence and arousal scales. An LLM can parse negation, resolve entity connotations, and detect tone, all things a word-list cannot do. The trade-off is cost and latency: scoring a few thousand headlines per day through an API is feasible but not free, and the model’s ratings would need to be validated against established benchmarks before replacing a method whose biases, at least, are well understood.
Until then, treat the numbers as a rough, consistent signal rather than a precise measurement. The lexicon is good at detecting broad shifts in tone across large batches of text; it is less reliable on any single headline.
A note on names: Global Vibesis the project’s working title; The Daily Sentiment is what this dashboard is called. Same thing.