How Future Index calculates its numbers
Every figure this site publishes is described below, together with what it does not say and every threshold it was computed with. Nothing on this page is written by hand: it is generated from the same versioned method objects the calculations read, so it cannot describe something other than what ran.
How Future Index works
The idea in five steps, before any of the arithmetic. Everything below this section is the full technical account.
Observe
Public forecast markets, public discussion, reference-page activity and official releases are read on a schedule, and each reading is stored with the time it describes and the source it came from. Nothing is bought, nothing is private, and no individual is profiled.
Compare each subject with itself
A subject's activity is measured against its own recent history rather than against other subjects. Bitcoin is compared with Bitcoin: a busy day for a quiet subject and a busy day for a loud one both read as busy, which is the only comparison that means the same thing for every subject on the site.
Put readings on one scale
Page views, comments, probabilities and outlet counts are different quantities in different units. Each becomes a departure from that subject's own normal, which is what makes the figures on this site readable side by side — and why the middle of a scale means ordinary rather than half of something.
Keep the signals separate
Readings from different kinds of source are reported beside each other rather than merged, and no source is treated as the truth the others are checked against. There is no single overall score anywhere on this site, and where two sources answer different questions their answers are shown in full rather than averaged.
Show what is missing
Every figure carries how well founded it is, how much of what was expected actually reported, and how recently. A layer that stops reporting narrows the page and says so rather than being quietly left out of the arithmetic, and a sample drawn from one community is labelled as one.
How forecast numbers are calculated
Future Index reads published forecasts from prediction markets and forecaster platforms, stores every reading with the instant it applies to, and computes a small set of figures from those readings: the current probability, how far it has moved, how much it has been moving about, and how well supported it is.
Every figure is computed from one source's question and nothing else. The version below is stored on every value this method produced, so a number published today can be recomputed later with the code that made it.
Method version 1.0.0 · reported over 1h, 24h, 7d, 30d
- ProbabilityThe source's own most recent published probability for this question, unchanged.
- Change over timeHow far the probability has moved over each window, in probability points.
- VariabilityHow much the probability has been moving about within each window.
- ConfidenceHow well supported this source's number is — never how large, how recent, or how interesting the number is.
- How easily this could be movedA band read from participation alone: how much it would take to move this contract.
- FreshnessWhether the reading behind a number is current, out of date, or missing entirely.
- CoverageWhich sources stand behind a number, and which do not.
- PrecisionHow far each published number is rounded, and why the rounding is part of the method.
Probability
The source's own most recent published probability for this question, unchanged.
Each source is polled on a schedule and every reading is stored with the instant the source says it applies to. The published probability is the newest of those readings, rounded and otherwise untouched.
Nothing is rescaled, re-weighted, or reconciled against any other source. What is shown is what that one source published.
What this does not say
- It is one source's view of one question, not a consensus and not an average.
- A probability from a source with very little participation behind it is still published, with its confidence and its participation figure beside it.
Change over time
How far the probability has moved over each window, in probability points.
For each window the baseline is the newest reading at or before the start of that window, and the change is the current probability minus that baseline. The baseline's own timestamp is published beside the figure, because the newest reading a window back is rarely exactly one window old.
A baseline older than the limit below is not used. The change is reported as unavailable and a chart draws a gap.
What this does not say
- An unavailable change means there was nothing to measure from, which is a different statement from no movement. The two are never rendered the same way.
- A change is a difference between two readings from the same source. It is never a difference between two sources.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
2 windowsmovement.baselineMaxWindows | How much older than its own window a baseline may be before the change is reported as unavailable rather than measured from it. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Variability
How much the probability has been moving about within each window.
Each change between consecutive readings is scaled by the time elapsed between them and squared; the published figure is the square root of the mean of those values, in probability units per square-root hour.
Scaling by elapsed time is what makes the figure independent of how often the source happened to be polled. Without it, a source polled twice as often would appear twice as variable.
What this does not say
- It describes how much a number moved, never why it moved and never whether the movement was justified.
- Below the minimum sample stated below, the figure is left empty rather than estimated from two points.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 price changesvolatility.minIncrements | The smallest sample the estimator will report from. Below it the figure is left empty rather than published. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Confidence
How well supported this source's number is — never how large, how recent, or how interesting the number is.
Four inputs are scored from 0 to 1: participation behind the contract, the age of the newest reading, the distance between the two quoted sides, and the time remaining until the question settles. Each is published individually with the share of the score it carried.
The four are combined as a weighted geometric mean rather than an average, so one input near zero pulls the whole score down instead of being averaged away by three healthy ones. A contract with nothing staked on it is not two-thirds trustworthy for being recent, tightly quoted and close to settlement.
An input a source does not publish — many forecaster aggregates quote no two-sided spread — has its share redistributed across the inputs that are present, so every source's confidence is scored out of the same total. A source that publishes no participation figure at all is scored zero on that input rather than having it redistributed: absent evidence of support is not evidence of support.
Each input is rounded before the inputs are combined, so the breakdown a reader is shown reproduces the score printed beside it.
What this does not say
- Confidence has no access to the probability it describes. A dramatic move on a low-confidence contract stays low confidence.
- It says nothing about whether the source is right. It is a statement about how much evidence stands behind one published number.
- It is not agreement with anyone else. Nothing here reads a second source.
Numbers this uses 10 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.4 share of the scoreconfidence.weights.support | How much depth of participation counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreconfidence.weights.freshness | How much the age of the newest reading counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the scoreconfidence.weights.spread | How much the distance between the two quoted sides counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.1 share of the scoreconfidence.weights.horizon | How much the time remaining until the question settles counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.01 scoreconfidence.floor | The lowest value a single input may contribute. Without it one input at zero would drive the whole score to zero, which reads as 'no measurement' rather than 'very weakly supported'. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
50,000 US dollarsconfidence.liquidityReferenceUsd | The depth at which the support input reaches its maximum, on a logarithmic scale. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
200 forecastersconfidence.participationReferenceForecasters | The participant count at which the support input reaches its maximum, for sources that publish people rather than money. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.1 probabilityconfidence.maxSpread | A gap this wide between the two quoted sides scores zero: at that width the source is quoting a range that contains a probability rather than a probability. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
365 daysconfidence.horizonDays | The distance at which time-to-settlement stops reducing confidence any further. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.15 scoreconfidence.horizonFloor | The lowest the time-to-settlement input can go. A question five years out is a weak statement about the near term and still a real one. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How easily this could be moved
A band read from participation alone: how much it would take to move this contract.
Depth is compared against two thresholds, on its own scale — dollars for a market, contributors for a forecaster aggregate — and the result is reported as low, elevated, or high.
A source that publishes no participation figure lands on elevated rather than low, with the reason stated. Low is a claim that a contract is expensive to move, and nothing supports that claim without a number.
What this does not say
- Nothing here detects a manipulation pattern, and the band must not be read as an accusation. The claim is narrower and checkable: a contract this thin is cheap to move.
- The two scales are never compared to each other. A dollar figure and a contributor count are not the same quantity.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
5,000 US dollarsmanipulation.thinLiquidityUsd | Depth below this is reported as cheap to move. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
500 US dollarsmanipulation.veryThinLiquidityUsd | Depth below this is reported as very cheap to move. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
25 forecastersmanipulation.thinParticipation | Participation below this is reported as easily swayed by one contributor. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
5 forecastersmanipulation.veryThinParticipation | Participation below this is reported as dominated by a handful of contributors. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Freshness
Whether the reading behind a number is current, out of date, or missing entirely.
Every value carries the instant it was observed and the instant it was calculated. A value is current while its newest reading is within the number of expected poll intervals below, and marked as possibly out of date after that.
Where a source has published nothing at all there is no value to mark, so no figure is produced. A page narrows; it does not fill the space with an old number wearing a current label.
What this does not say
- The poll interval a reading is measured against is the one the scheduler chose for that source at the time, which varies with demand, with the source's own rate limits, and with its health.
- Out of date and unavailable are different states and are drawn differently. A chart shows a gap where a source was down; it never draws a line across it.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 poll intervalsconfidence.staleAfterCadences | How many consecutive expected readings may be missed before the value is marked as possibly out of date. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Coverage
Which sources stand behind a number, and which do not.
Every published value names the source it came from, that source's class, and the participation or depth figure behind it. Because one contract is one source's question, coverage here is always a single source, stated rather than implied.
The full registry of sources — what each one is, the permission it runs under, and whether it is permitted to run at all — is published at /v1/sources. A source that is present in the registry and not contributing is visible there, which is what makes an empty figure readable rather than mysterious.
What this does not say
- No language or geography claim is attached to a forecast contract. The sources do not state one, and inventing one would be worse than reporting none.
- A source that is listed and not running contributes nothing, and no other source stands in for it.
Precision
How far each published number is rounded, and why the rounding is part of the method.
Rounding is applied before a value is stored, not on the way to a screen, so the stored value and the published value are the same number and a stored value can be recomputed from its stored inputs exactly.
The precision below is far finer than any source publishes and far coarser than a floating-point result, which is deliberate: fifteen digits invites a reader to believe the last ten, when the input was quoted to two decimal places.
What this does not say
- Precision is not accuracy. A probability published to six places is a source's own two-decimal quote, carried without loss.
Numbers this uses 5 constants
| Value | What it does | How it was arrived at |
|---|---|---|
6 decimal placesrounding.probability | Precision the stored probability is rounded to before it is published. | Fixed by this product's own specification. |
6 decimal placesrounding.movement | Precision each change figure is rounded to. | Fixed by this product's own specification. |
6 decimal placesrounding.volatility | Precision each variability figure is rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.confidence | Precision the confidence score and each of its inputs are rounded to. Inputs are rounded before they are combined, so the published breakdown reproduces the published score. | Fixed by this product's own specification. |
4 decimal placesrounding.weight | Precision each input's published share of the score is rounded to. | Fixed by this product's own specification. |
How the attention figure is calculated
Future Index reads how much each topic is being discussed and looked up across several public sources, compares each source with that topic's own recent history on that source, and combines those comparisons into a single figure from 0 to 100.
The middle of the scale is the topic's own normal level. The figure says how far the topic is from that, and nothing about how much of the world is watching or whether the attention is warranted.
The version below is stored on every figure this method produced, so a number published today can be recomputed later with the code that made it.
Method version 1.2.0 · reported over 1h, 24h, 7d
- The attention figureHow much a topic is being discussed and looked up right now, compared with how much that same topic normally is.
- Turning one source's activity into a scoreEach source's departure from that topic's own history is placed on the same 0 to 100 scale, so platforms that count entirely different things can be combined.
- Discussion and news are counted separatelyHow much the public discussed a topic and how much was published about it are two different measurements, and only the first can carry the figure.
- Visits to this site are one of the sourcesHow much this site's own pages were read counts towards a topic's attention, and is deliberately held to a small part of it — a topic must not become prominent here merely because it was shown prominently here.
- Independent sources agreeingWhen several unrelated public sources see the same departure at the same time, the figure reaches further up the scale than one source alone can take it.
- How well founded the figure isA separate score from 0 to 1, built from how many independent sources contributed, how much history there was to compare against, how much activity sat behind it, and how concentrated that activity was.
- How current the figure isEach source is judged against its own update rate, and the figure reports the worst of them.
- Which sources are behind the figureEvery published figure names the sources that contributed, the share each one carried, and the sources that were expected and reported nothing.
- Rounding and versionsWhat is stored is rounded before it is stored, and every stored figure carries the version of the method that produced it.
The attention figure
How much a topic is being discussed and looked up right now, compared with how much that same topic normally is.
Each source is scored against that topic's own recent history on that source — not against other topics, and not against other sources. The scores are then combined into a single figure from 0 to 100, where the middle of the scale is the topic's own normal level.
A figure above the middle means the topic is busier than it usually is. A figure below it means it is quieter than it usually is. Every published figure carries a plain-language label beside it saying which.
What this does not say
- It says nothing about how many people in the world are paying attention. A topic that is permanently busy sits in the middle of the scale for as long as it stays that way, and a small topic having an unusual week can score higher than a large one having an ordinary one.
- It is not comparable between topics as a level. Two topics both reading 80 are each unusually busy for themselves; that is all it says about the pair of them.
- It says nothing about whether the attention is warranted, welcome, or accurate. More attention is neither good nor bad here.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
50 index pointsscale.neutral | Where a topic sitting at its own normal level lands. Above it the topic is busier than usual for itself; below it, quieter. | Fixed by this product's own specification. |
Turning one source's activity into a score
Each source's departure from that topic's own history is placed on the same 0 to 100 scale, so platforms that count entirely different things can be combined.
A source reports a count — comments, stories, page views. The count itself is not comparable with another source's, so what is used is how far it sits from that topic's usual level on that source, measured in the spread of its own history.
That departure is mapped onto the scale by a curve that is centred on the topic's normal level and flattens at both ends. It always rises: a larger departure always produces a larger figure, and there is no point at which two different departures produce the same number.
Where a source sees too few items on a topic for that comparison to mean anything, it produces no score at all rather than a confident-looking figure over counts that are usually zero. The source still counts toward coverage and is named in the limitations.
What this does not say
- A departure from normal is not an explanation. It says the level changed, never why, and never that anything caused it.
- A platform's own changes — an outage, a redesign, a moderation decision — move its counts without anything happening in the world. Having several independent sources is what guards against reading one of those as a real change.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 standard deviationsscale.logisticSteepness | How far a topic has to depart from its own history to move a given distance up the scale. Larger means the scale reacts more slowly. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
8 standard deviationsscale.maxAbsZ | Departures beyond this are treated as this large. It keeps a baseline with almost no variation from producing arithmetic nothing can reproduce. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Discussion and news are counted separately
How much the public discussed a topic and how much was published about it are two different measurements, and only the first can carry the figure.
Sources are placed in one of two groups by what kind of source they are, which is recorded when the source is reviewed rather than decided per calculation. Discussion platforms and reference activity form the public group; news outlets and official releases form the context group.
The context group has a fixed maximum share of how far the figure may move from the middle of the scale. That share does not grow when the public group is quiet or absent: a topic that only news sources reported on stays close to the middle of the scale and cannot be published as elevated.
Within a group, no single source may carry more than a set share, so one busy platform cannot decide the figure on its own. A group containing one source is the exception the arithmetic cannot avoid, and the confidence score is what reports it.
What this does not say
- The context group is capped because volume of coverage is a measurement of newsrooms, not of the public. Twenty outlets carrying one wire report is one occurrence reported twenty times, and it is not twenty independent signs of public attention.
- The cap does not make coverage volume worthless — it remains part of the figure and is published as its own share, so a reader can see exactly how much of the number it accounts for.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.2 share of the indexchannels.newsMaxShare | The most of this number that news and official coverage volume may account for, whatever else is or is not reported. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of a groupchannels.maxSourceShare | The most of one group that any single platform may account for, so a busy platform cannot decide the whole figure by itself. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Visits to this site are one of the sources
How much this site's own pages were read counts towards a topic's attention, and is deliberately held to a small part of it — a topic must not become prominent here merely because it was shown prominently here.
Only a page about one subject is counted. A list, a ranking or anything that displays several topics at once records nothing for any of them, so appearing on such a page is never itself the evidence.
Visits are grouped into periods and counted to a limit within each. Once that limit is reached, further visits to the same page in the same period change the figure by nothing — so a page that is being read heavily produces the same number as one being read steadily.
What is counted may account for no more than a set share of the figure. Where no other source has anything to say about a topic, the rest of that share is held at the middle of the scale rather than passed to this one, so visits here alone cannot move a topic up the scale.
It also earns none of the increase described in the section below: this site reading its own pages is not an independent source agreeing with another one.
A search counts towards the subject it matched, never towards the words that were typed. Nothing is recorded about who visited, when within the period, or in what order — the whole of what is kept is a subject and a total.
What this does not say
- It undercounts, and by more the busier a page is. Pages are cached, so a page being read continuously reaches the counter far less often than it is read, and there is no way to correct for that without identifying visitors — which this product does not do.
- It is a measurement of this site's readers, who are not the public. It is included because interest here is interest, and it is capped because interest here also moves with what this site chooses to show.
- It cannot be compared with the same count from anywhere else. A visit here and a page view on an encyclopaedia are both called page views and are not the same quantity.
Numbers this uses 3 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.1 share of the figure's departure from the middle of the scalefirstParty.maxIndexShare | The most of this figure that can come from visits to this site itself. Traffic here is counted as one more sign of attention, and this is the limit on how much of the number it may account for. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
60 visits per hour per subjectfirstParty.ceilingPerBucket | Where counting stops within one hour. Past this point further visits to the same page change the recorded figure by nothing at all. | Fixed by this product's own specification. |
3,600,000 millisecondsfirstParty.bucketMs | The length of the period visits are grouped into before they are counted. Nothing finer is recorded, and nothing about an individual visit is. | Fixed by this product's own specification. |
Independent sources agreeing
When several unrelated public sources see the same departure at the same time, the figure reaches further up the scale than one source alone can take it.
Each additional public source that produced a score increases how far the public group's departure is allowed to move the figure, up to a fixed limit.
The increase applies to the public group only. Agreement between news outlets is not treated as independent evidence, for the reason given in the section above.
What this does not say
- Sources being independent of each other is an assumption about the platforms, not something measured. People discuss the same story in several places, and this treats those as separate observations because there is no way here to tell that they are not.
- The figure is still bounded at 100. A topic already at the top of its own scale does not go higher for being seen by a fourth source.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.1 multiplierdiversity.bonusPerExtraSource | How much further up the scale the figure reaches for each independent public source that saw the same departure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
2 sourcesdiversity.maxBonusSources | How many additional agreeing sources are counted before that increase stops growing. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How well founded the figure is
A separate score from 0 to 1, built from how many independent sources contributed, how much history there was to compare against, how much activity sat behind it, and how concentrated that activity was.
The four parts are combined so that a weak one drags the whole score down rather than being averaged away by strong ones. A topic scored from a single source with barely any history is not two-thirds trustworthy for having plenty of activity.
The history part reads the *least* observed of the contributing sources, not the best. A topic is only as well founded as its newest source, and sources differ: a page-view history can be assembled from published archives, while a discussion platform's history only starts accumulating when we begin reading it.
The concentration part is what the risk band beside the figure is set from. Where no contributing source publishes an account count — a page-view total has no accounts behind it that anything can inspect — that part is left out, its weight is shared among the others, and the risk band reads elevated rather than low.
Confidence never sees the figure it describes. A dramatic departure with one thin source stays low confidence, and the code cannot do otherwise because the value is not passed to the calculation that produces this score.
What this does not say
- A high confidence score is a statement about the evidence behind the figure, not a claim that the figure is important or that the attention is deserved.
- The risk band says how much of the evidence was discounted for coming from few accounts. It is not a finding that anybody coordinated anything, and nothing in this system looks for one.
Numbers this uses 10 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.35 share of the scoreconfidence.weights.diversity | How much having several independent public sources counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreconfidence.weights.history | How much having observed a full history to compare against counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the scoreconfidence.weights.sample | How much the amount of activity behind the figure counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.15 share of the scoreconfidence.weights.integrity | How much it counts that the activity came from a normal spread of accounts rather than a few. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.01 scoreconfidence.floor | The smallest value any single part of the confidence score is treated as, so one missing part reports very low confidence rather than none. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 sourcesconfidence.diversityReferenceSources | How many independent public sources a topic needs before that part of the confidence score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 share of the windowconfidence.minObservedHistoryShare | How much of its comparison window a source must have observed before its history counts toward confidence at all. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
500 itemsconfidence.sampleReference | The amount of activity from one source at which that part of the confidence score is full. Applied per source, never to a total across sources. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the evidencemanipulation.elevatedSeverity | How much of a source's evidence has to be discounted as coming from few accounts before the figure is marked as elevated risk. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the evidencemanipulation.highSeverity | The same threshold for the high band. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How current the figure is
Each source is judged against its own update rate, and the figure reports the worst of them.
Sources publish at different rates and that is not negotiable by asking more often — one of them serves daily totals and rejects an hourly request outright. Each source's reading is therefore judged late or current against its own rate, so a daily source is not marked out of date for being a few hours old.
The figure carries the worst state among the sources that actually went into it. A source that answered without producing a score — because it saw too little of the topic to say anything about it — is named in the coverage below and in the limitations, and does not decide how current the figure is: a source too sparse to score is a source with little recent data almost by definition, so letting it set the state made the state a fact about the quietest source rather than about the number.
Lateness is counted from the end of the period a reading covers, not from its start. A reading is not behind while the period it describes is still running.
A reading for a period that has finished is not made less current by being recalculated afterwards. One measurement arrives late by nature — how much weight a platform's items eventually attracted keeps changing for more than a day after the period they were posted in — so those periods are read a second time and the reading is corrected. How current a reading is stays measured from when the period was first read, because what changed was our knowledge of it and not the period.
The clocks the contributing sources were measured on are published alongside the figure, because a number blended from a daily source and an hourly one updates on both.
What this does not say
- A current figure is not a live one. The fastest source here updates in minutes, not seconds, and the slowest updates once a day.
- A source that has stopped reporting entirely is named separately, in the coverage below, rather than quietly lowering this figure.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 update periodsfreshness.staleAfterBuckets | How many of a source's own update periods may pass, after the period a reading covers has ended, before the figure is marked as possibly out of date. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Which sources are behind the figure
Every published figure names the sources that contributed, the share each one carried, and the sources that were expected and reported nothing.
Each contributing source is published with its own score and the share of the figure it accounts for. Where a public source contributed, those shares add up to the whole; where none did, they add up to the context group's cap and the shortfall is the missing public group.
A source that has reported on this topic before and did not this time is named as missing. A source that answered but saw too little to score is named separately, because those are different facts and only the first is an outage.
No combined count of items is published. The sources count different things — page views, comments, stories — and a total of them would be a number with no unit presented as though it had one. Each source's own count is published beside it instead.
What this does not say
- Coverage is a list of what was read, not a claim that it is everything worth reading. The sources here are the ones whose terms permit this use and whose data this system ingests.
- A missing source lowers confidence and is named, but the figure is still published. One failed source narrows what is shown; it does not blank the topic.
Rounding and versions
What is stored is rounded before it is stored, and every stored figure carries the version of the method that produced it.
Figures are rounded to the precision below before they are written, so a published breakdown reproduces the figure beside it rather than nearly reproducing it. Published shares are adjusted so that they still add up to the whole they are shares of — three equal sources of a group round to shares that would otherwise total slightly more than the group.
The version is stored on every figure. When a threshold on this page changes, the version changes with it, and every figure calculated under the old version keeps saying so.
What this does not say
- The precision here is well beyond what the underlying counts support. It exists so that a change to the method is visible in review, not because the last decimal place means anything.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 decimal placesrounding.index | Precision the published figure and each source's own figure are rounded to. | Fixed by this product's own specification. |
2 decimal placesrounding.change | Precision each published change is rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.confidence | Precision the confidence score and each of its parts are rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.weight | Precision each published share is rounded to. Shares are adjusted so that they still add up to the whole they are shares of. | Fixed by this product's own specification. |
How the World Pulse is calculated
The World Pulse is four readings taken across everything this product tracks: how much expectations are moving, how much attention there is, how the discussion is balanced, and how much is in dispute or in motion.
They are published as four numbers and are never combined into one. Each is calculated from its own sources, carries its own confidence and coverage, and can be missing on its own without the others being affected.
The version below is stored on every figure this method produced, so a number published today can be recomputed later with the code that made it.
Method version 5.0.0 · reported over 1h, 24h, 7d
- Four figures, and deliberately no fifthThe World Pulse is four separate readings — how much expectations are moving, how much attention there is, how the discussion feels, and how much is in doubt. They are never added together.
- Outlook — how much expectations are movingHow much the probabilities on the forecast questions this product tracks have changed over the last day, measured as how many of them moved and how far.
- Attention — how much of the tracked world is unusually activeHow many tracked topics are departing from their own normal, and how far those particular topics have gone. Topics behaving normally are counted in neither and cannot move the figure.
- Sentiment — the balance of the discussion that could be readThe positive, neutral and negative split across every discussion item that was scored, published as a split and as a single figure saying how that balance compares with its own usual level.
- Uncertainty — how much is in dispute or in motionBuilt from how unsettled forecast prices are, how far communities differ, how quickly attention is moving, and how weakly founded the other three figures are.
- Turbulence — how fast the signals are movingHow rapidly and unusually the things this product measures are changing, whichever direction they are changing in.
- Disagreement — how far independent observers differHow far apart independent communities are about the same subjects. Published only where more than one independent observer exists, and absent otherwise.
- Data conditions — how well this product can currently seeHow well founded the available measurements are, how much of the intended source universe is contributing, how current it is, and how broadly the sample is drawn. None of this is a reading of the world.
- How well founded each figure isA separate score from 0 to 1 for each of the four, built from how much of what is tracked could be measured, how much of it there was, and how well founded each underlying figure was.
- How current the figures areA figure is marked as possibly out of date when most of what it rests on is older than the limit for its layer.
- Rounding and versionsFigures are rounded before they are stored, and every stored figure carries the version of the method that produced it.
Four figures, and deliberately no fifth
The World Pulse is four separate readings — how much expectations are moving, how much attention there is, how the discussion feels, and how much is in doubt. They are never added together.
Each of the four is calculated on its own, from its own sources, and carries its own confidence, its own coverage and its own timestamp. Nothing in this system combines them, and there is nowhere in the published shape to put a combined figure.
That is a design commitment rather than an omission. A single number would have to decide, silently, how much a shift in expectations is worth against a change in tone — a judgement nobody has made and nothing here could defend. The four are shown together because they are read together, not because they are parts of one quantity.
Each figure may be missing on its own. One failed source narrows the set of readings and never blanks the rest, and a missing reading says which of the four it is and why, rather than being shown as a zero.
**Every one of them is a comparison with its own past, not a position on an absolute scale.** Each is computed as a raw quantity in its own units — how much of the tracked world is unusually active, how far expectations moved, how the discussion leans — and then placed by how far that quantity departs from what the same quantity has usually been over the last two weeks. The middle of every scale therefore means *about what this normally is*, and the top means *further from normal than this has been*.
The distance is measured in robust deviations: the centre of the comparison is a median and its width a median absolute deviation, so a single extraordinary day does not widen the yardstick every later day is measured with. It is the same arrangement each individual subject's own figures use, which is why a subject three deviations above its own normal and a world three deviations above its own normal read the same number.
A figure with too little of its own history behind it is **not published at all**, and says so. A middling number from something with no idea what usual looks like would be the one reading that is certainly wrong.
What this does not say
- The four are not comparable with each other. An attention figure of 70 and an uncertainty figure of 70 have nothing to do with one another; each is on its own scale with its own meaning.
- Because each figure is compared with its own recent past, a state that persists stops reading as unusual. A world that has been loud for a month reads as ordinarily loud, and the figure describes the change rather than the level. What it cannot say is *this has been extreme all year*.
- The comparison reaches back two weeks and no further, so it describes departures from the recent past rather than from any long-run normal — and the past it uses is this product's own record, which is shaped by which sources were ingesting at the time.
- None of them is a forecast. They describe what is being expected, watched, said and disputed right now — never what will happen.
- A figure moving is not an event. These are readings taken repeatedly, and readings move.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
336 hoursnormalization.baselineWindowHours | How far back each figure looks to work out what it usually is. Long enough that one extraordinary day is a small part of it, short enough that the world being compared against is still recognisably this one. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
72 readingsnormalization.minBaselinePoints | The fewest past readings a figure needs before it can be placed against them. Below it the figure is not published at all, because a middling number from something with no idea what usual looks like is the one reading that would be wrong. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
2 robust deviations per unit of the scalenormalization.logisticSteepness | How far a figure has to depart from its own usual level to travel up the scale. It is the same number a single subject's attention figure uses, so a reader who has learnt one scale has learnt both. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
8 robust deviationsnormalization.maxAbsZ | The largest departure the scale distinguishes. Beyond it the figure is already at the end of the scale, and the limit exists so an unusually still baseline cannot produce a number too large to store. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Outlook — how much expectations are moving
How much the probabilities on the forecast questions this product tracks have changed over the last day, measured as how many of them moved and how far.
Where the Forecast Movement figure comes from — the short account
Each question is judged against itself. A question's own recent history says how much it normally moves in a day; the movement over the last day is measured in multiples of that, so five points of probability counts as a large move on a question that usually barely shifts and an ordinary one on a question that swings routinely.
Two halves are then combined in equal parts. The first is how many questions moved beyond the threshold below — the breadth of the change. The second is how far the average question moved, weighted by how well supported each question's number is, on a scale that flattens at the top so that one dramatic question cannot decide the figure alone. Both halves are published separately as well as blended.
A question with no reading from a day ago, or with too little history to say what an ordinary move is for it, is left out and counted. The count is published, because a figure taken over eight questions out of four hundred is a different statement from the same figure over all four hundred.
What this does not say
- **It has no direction.** It says how much expectations moved, never whether they moved towards something better or worse. That would require deciding which outcomes are good, which this product does not do.
- It is not a level. A high figure does not mean anything is likely or unlikely; it means the numbers have been moving.
- It says nothing about why anything moved. A settlement, a news event and a large trade all look the same from here.
- Questions from different sources are never compared or combined. Each question is one source's contract, and this figure counts movements rather than reconciling them.
Numbers this uses 5 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 multiples of a question's own normal daily moveoutlook.significanceRatio | How far a question has to move, compared with how much it usually moves in a day, before it is counted as having moved at all. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.01 percentage points of probabilityoutlook.minTypicalChange | The smallest daily movement any question is treated as normally having. It stops a question that has barely traded from reporting a huge departure on a single small change. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 multiples of a question's own normal daily moveoutlook.magnitudeReference | The average departure at which the size half of this figure reaches the top of its scale. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the figureoutlook.breadthWeight | How much *how many* questions moved counts toward the figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the figureoutlook.magnitudeWeight | How much *how far* they moved counts toward the figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Attention — how much of the tracked world is unusually active
How many tracked topics are departing from their own normal, and how far those particular topics have gone. Topics behaving normally are counted in neither and cannot move the figure.
Where the Attention figure comes from — the short account
Each topic's attention figure is calculated first, against that topic's own history on each source. A topic above the upper line below is counted as unusually active for itself; one below the lower line is counted as unusually quiet. A topic between them is ordinary and takes no part in this figure at all.
Two quantities are measured from that. **Total elevation** is how far past the upper line the departing topics sit, added up rather than averaged — so a hundred subjects behaving normally contribute exactly nothing and cannot move it. **The loudest few** is the same measure over the three most unusual subjects alone, which exists because no figure that treats two hundred subjects alike can show a single extraordinary one: that subject is one of two hundred whatever the weights are.
Each of the two is compared with its own recent past before they are combined, weighted as below. Comparing them first is what makes the weights mean what they say — the two run at very different sizes, and adding them raw would make one of them the whole figure.
An unusually quiet world needs no separate term: it is one whose total elevation is far below what it usually is, which the comparison says on its own.
What this does not say
- **It was an average of every tracked topic's figure until method version 2.0.0, and that made it partly a measurement of this product's own topic list.** Adding a hundred ordinary topics to the list pulled the average toward the middle, and retiring a few pushed it away, with nothing in the world having changed. Ignoring the topics that are behaving normally is what removes that. Figures published under the older version are on a different scale and are not points on the same series.
- **Between 2.0.0 and 5.0.0 it barely moved at all, and that was a defect rather than a calm world.** The two halves it was built from were subtracted from one another and both sat at their ceiling on almost every reading, so they cancelled: measured over a week in September 2026 the published figure never left a five-point stretch around the middle of its hundred, and an event taking one subject to the top of its own scale moved it by under half a point. Figures published under those versions are not points on the same series as these.
- It is built from relative figures, so it cannot say how much attention there is in absolute terms. If the departing topics are small ones, this still reads high — they are unusual *for themselves*.
- It describes the topics this product tracks, which are a chosen set. See the scope note below.
- More attention is neither good nor bad. Nothing here reads a high figure as alarming.
Numbers this uses 6 constants
| Value | What it does | How it was arrived at |
|---|---|---|
5 index pointsattention.significantChange | How far a topic's attention figure has to move over a day before that topic is counted as one whose attention is shifting. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
65 index pointsattention.elevatedThreshold | Where a topic stops being ordinary and starts counting as unusually active for itself. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
35 index pointsattention.subduedThreshold | The same line in the other direction — where a topic counts as unusually quiet for itself. It is the same distance from the middle as the line above, so an unusually quiet world reads as the mirror image of an unusually busy one. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 topicsattention.tailTopics | How many of the loudest subjects the second half of this figure is taken over. It exists because no figure that treats two hundred subjects alike can show a single extraordinary one: that subject is one of two hundred whatever the weights are. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.65 share of the departureattention.pressureWeight | How much *how much of the tracked world is unusual* counts toward the figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.35 share of the departureattention.tailWeight | How much *how extreme the loudest few subjects are* counts toward it. Weighted below the half above, so one extraordinary subject on an otherwise ordinary day is a visible move rather than a decisive one. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Sentiment — the balance of the discussion that could be read
The positive, neutral and negative split across every discussion item that was scored, published as a split and as a single figure saying how that balance compares with its own usual level.
Where the Mood figure comes from — the short account
Items are pooled within each platform and the platforms are then combined equally. Two comments on one platform are two of the same thing and add up; a comment on one platform and a post on another are not, and letting the busier platform's item count decide the overall figure is exactly what this arrangement avoids.
The overall balance of the discussion is the quantity, and the published figure is how far that balance sits from what it has usually been over the past two weeks. The middle of the scale means *the discussion leans about as it normally does*, not *the discussion is balanced* — a conversation that is steadily grim reads in the middle, and the split beside it is what says so.
The balance itself is published as well, so nothing about the split is recoverable only through the figure. That is what the plain rescaling this replaced was for; what it could not do was move. A mean over thousands of items has almost no room to vary, and the published figure spent a whole week inside 1.6 points of its hundred — which is arithmetic rather than a quiet world.
Items whose language the classifier cannot read are excluded rather than counted as neutral, and the figure describes the discussion that could be scored.
What this does not say
- **This is one online community's discussion, not a public.** One discussion platform is available to this product today; the other is not reachable under its operator's current terms. The people who post there are not representative of anyone, and the figure names the platform it came from.
- It measures the tone of what was written, not what anybody believes, and not how many people hold a view. A loud minority and a quiet majority are indistinguishable from here.
- The classifier is a model with its own errors, and its identity is stored with every figure so that a change of model is visible rather than looking like a change in the discussion.
- The single figure is a summary of the split *and* a comparison with the past. Where the actual balance matters — and it usually does — the split is what to read.
- Because it is a comparison, a persistently negative discussion reads as ordinary. This figure describes whether the tone has shifted, never how dark it is in absolute terms.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
50 index pointssentiment.neutral | Where a discussion that is neither positive nor negative overall lands. Above it the balance is positive, below it negative. | Fixed by this product's own specification. |
50 index pointssentiment.polarityScale | How far the ends of the underlying scale reach from the middle. It makes the published figure a plain rescaling of the split beside it, so the two can never disagree. | Fixed by this product's own specification. |
Uncertainty — how much is in dispute or in motion
Built from how unsettled forecast prices are, how far communities differ, how quickly attention is moving, and how weakly founded the other three figures are.
Where the Uncertainty figure came from — the short account
Each part is scored from 0 to 1 and they are combined by the weights below. A part that cannot be measured at all is left out and its weight is shared among the rest, rather than being scored zero — not measuring something and measuring it to be absent are different statements.
The parts are added rather than multiplied, which is the opposite of how the confidence score below is built, and the difference is deliberate. Forecast prices being settled does not make a violent swing in attention less unsettling, so one calm part must not be able to pull the whole figure down.
The last part is a reading of the other figures rather than of the world: it is high exactly when the rest of the vector rests on little. It is what stops a pulse assembled from one working source out of three from reading as a calm day.
What this does not say
- **Disagreement between forecast sources is not measured at all.** It is the input this figure would most obviously want, and comparing contracts across sources is out of scope for this product entirely — see the boundary on the outlook figure above.
- Uncertainty is not bad news. A high figure means the signals are moving or disagreeing; it says nothing about whether anything harmful is happening.
- It is not a probability, a risk level or a forecast of volatility. It is a summary of how much the things this product measures currently disagree with each other and with themselves.
- Community disagreement contributes nothing today, because only one community is being read.
- **When a whole layer goes dark this figure can drop rather than climb, and it is left that way on purpose.** The last part is computed from how well founded the figures that *were* published are, and withdrawing the weakest founded of them raises that average and lowers the doubt: measured on a test world, taking the attention layer away moved this figure from 34.09 down to 29.40. That is the defect this figure was withdrawn for, and the repair belongs to what replaced it — the data conditions block counts every reading this product defines rather than only the ones it managed. Changing the arithmetic here instead would mean a withdrawn figure quietly measuring something new under the same name, which is exactly what a deprecation window is for preventing. A client still reading it receives the quantity it was written against, defect included.
Numbers this uses 7 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.35 share of the scoreuncertainty.weights.forecast_volatility | How much forecast prices refusing to settle counts toward uncertainty. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the scoreuncertainty.weights.sentiment_disagreement | How much communities differing from each other counts toward uncertainty. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 share of the scoreuncertainty.weights.attention_change | How much attention moving quickly across topics counts toward uncertainty. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the scoreuncertainty.weights.low_coverage | How much it counts that the rest of these figures are themselves weakly founded. It is what stops a figure computed from almost nothing from reading as calm. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.05 probability per hour, square-root scaleduncertainty.volatilityReference | How unsettled forecast prices have to be, on average, before that part of the score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 polarityuncertainty.disagreementReference | How far apart two communities' overall tone has to be before that part of the score is full. Nothing produces this figure today. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
15 index pointsuncertainty.attentionChangeReference | How far the average topic's attention has to move over a day before that part of the score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Turbulence — how fast the signals are moving
How rapidly and unusually the things this product measures are changing, whichever direction they are changing in.
Where the Turbulence figure comes from — the short account
Five parts, each scored from 0 to 1 and combined by the weights below: how far the forecast questions moved against their own normal, how unsettled their prices are, how fast attention shifted across topics, how far the tone of the discussion turned, and how many of those kinds of signal were moving at the same time.
The first, third and fourth reuse figures that are published in their own right rather than recomputing something similar, so a reader who asks why turbulence is high gets an answer that is literally the same arithmetic as the figure they can already see.
A part that cannot be measured is left out and its weight is shared among the rest. The parts are added rather than multiplied: forecast prices being settled does not make a violent swing in attention less turbulent.
The last part is a count rather than a magnitude, and it is a part with its own weight rather than a multiplier on the others — so several kinds of signal quietly agreeing that nothing is happening cannot be scaled up into a storm.
What this does not say
- **It has no direction and no valence.** A calm world can be a negative one and a turbulent world can be a positive one; this figure says nothing about either. A high reading is not bad news.
- **Nothing about how well this product can see can change it.** If several sources go dark, this figure narrows — the parts that cannot be measured drop out — and it does not rise. How much is currently unobservable is published separately, under Data Conditions, and never inside a reading of the world.
- It measures the signals this product reads, not the world. A rapid change nobody discusses, nobody trades on and nobody reports is invisible here.
- It says nothing about why anything is moving, and nothing here can express a cause.
Numbers this uses 10 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.3 share of the scoreturbulence.weights.forecast_movement | How much the forecast-movement figure counts toward turbulence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of the scoreturbulence.weights.forecast_volatility | How much forecast prices refusing to settle counts toward turbulence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreturbulence.weights.attention_change | How much attention moving quickly across topics counts toward turbulence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.1 share of the scoreturbulence.weights.mood_change | How much the tone of the discussion turning — in either direction — counts toward turbulence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.1 share of the scoreturbulence.weights.layer_concurrency | How much it counts that several independent kinds of signal are moving at the same time rather than one of them moving alone. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.05 probability per hour, square-root scaledturbulence.volatilityReference | How unsettled forecast prices have to be, on average, before that part of the score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
15 index pointsturbulence.attentionChangeReference | How far the average topic's attention has to move over a day before that part of the score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
20 mood pointsturbulence.moodChangeReference | How far the overall tone of the discussion has to move over a day before that part of the score is full. Direction is ignored: a discussion turning positive counts exactly as much as one turning negative. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 kinds of signalturbulence.concurrencyReference | How many independent kinds of signal have to be moving at once before that part of the score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.4 share of a kind of signal's own scaleturbulence.layerMovementThreshold | How far one kind of signal has to have moved before it is counted as one of the ones that is moving. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Disagreement — how far independent observers differ
How far apart independent communities are about the same subjects. Published only where more than one independent observer exists, and absent otherwise.
Where the Disagreement figure comes from — the short account
How widely independent communities' overall tone is spread on the same subjects, scaled against the reference below.
**An observer is a community, and every discussion source that reported on a subject contributes its own.** A platform organised into named rooms contributes each room; a platform that is one undivided conversation contributes itself, and counts as an observer like any other — so two platforms differing about a subject is a disagreement this figure can see. Each platform then carries an equal share of the comparison, and within a platform its rooms carry as much as they each contributed, so the figure follows how far apart the communities are rather than how much any one of them posts.
**It is the spread across all of the communities, not the gap between the two furthest apart.** Those are different claims and only the first is what this figure says. Six communities reading a subject much the same way and one reading it very differently produces the same gap as a genuine two-way argument, and the gap also widens on its own as more communities are read — the furthest of many is further than the furthest of few, whatever the world is doing. Spread has neither property: a community that agrees with the rest brings it down.
**Below two independent observers no figure is published at all**, with a stated reason. There is no arithmetic anywhere in this method that can produce a figure from one community — not a small one, not a zero.
Subjects where the communities agreed are counted in, not left out. A subject is included as soon as more than one community has been read on it, whatever they said; excluding the ones that turned out to agree would decide the answer by choosing the question.
Disagreement between forecast sources is not part of it. Comparing two sources' answers requires deciding that they are answering the same question, which this product does not do; it is left out of the list rather than left in it scoring nothing, because a part that is permanently unmeasurable reads as a pipeline that keeps failing.
What this does not say
- **This figure is thin and was absent entirely until a second discussion community became reachable.** It rests on the subjects where more than one of them was read at all, which on this deployment is a small share of them, and each community's tone on such a subject can rest on a handful of comments. The published measurement quality figure beside it is the honest reading of that.
- **Where it is absent, that is the measurement.** A zero would be the strongest claim this product could make — that the world's observers agree — inferred from having asked one of them.
- Communities are not populations. Two online communities differing tells you about those two communities.
- Absence of measured disagreement is never evidence of agreement, here or anywhere else on this site.
Numbers this uses 3 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 independent observersdisagreement.minIndependentObservers | The fewest independent observers that can support a disagreement figure at all. Below it no figure is published, because one observer cannot disagree with itself. | Fixed by this product's own specification. |
1 share of the scoredisagreement.weights.community_sentiment | How much difference between independent communities counts toward the figure. It is the only part today, so it is the whole of it. | Fixed by this product's own specification. |
0.5 polaritydisagreement.communityDivergenceReference | How widely spread the communities' overall tone has to be before the figure is full. It is the spread across all of them rather than the gap between the two furthest apart, so one community far from the rest counts for less than a genuine two-way split. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Data conditions — how well this product can currently see
How well founded the available measurements are, how much of the intended source universe is contributing, how current it is, and how broadly the sample is drawn. None of this is a reading of the world.
**Measurement quality** is how well founded the readings are — the confidence each of them worked out for itself, added up and divided by the number of readings this method defines rather than by the number that survived. A reading that could not be made counts as nothing rather than dropping out of the average, so making fewer readings can only lower this figure. It is the one part of the old uncertainty figure that described this product rather than the world, published in its own right and the right way up: it rises when the evidence is solid rather than when it is thin.
**Coverage** counts the sources contributing against the sources this product intends to observe, and the denominator comes from the source register rather than from what arrived. That is the difference that matters: a source which is configured, expected and silent contributes nothing anywhere, so a figure computed from what arrived could never notice it — and noticing it is this block's whole job.
**Freshness** is the worst state among everything that contributed, so one lagging layer is visible rather than averaged away.
**Representativeness** is how broadly the sample is drawn, over four factors: how many independent communities were read, how many different kinds of evidence stand behind the figures, how much of the scored discussion is outside its own largest language, and how evenly the subjects are spread across the world's regions. A factor with nothing to measure is left out rather than scored — a set of subjects that are all global in scope is not a narrow one — but a factor with nothing to measure *because the sample is missing* scores zero, since a sample with no public discussion in it is not drawn broadly across communities or languages by any reading.
What this does not say
- **None of these figures may change a reading of the world, and none of them does.** The world figures are calculated first and handed to this afterwards, so there is no expression in which one could reach the other. If this product's sight worsens, the world figures narrow and say what is missing; they do not move.
- **Nothing here may improve when this product sees less, and until method version 4.0.0 two of these figures could.** Both were averages over what was published, and an average whose denominator is what survived cannot notice what did not: withdrawing the least well founded reading raised the quality figure, and losing the whole discussion layer removed the two representativeness factors this product is narrowest on and so raised the level. Measured on a test world, the discussion layer going dark took quality from 64.84 to 68.90 and representativeness from moderate to broad — the block whose whole job is to report this product's blindness reporting better sight at the moment it acquired some. Both denominators are now fixed, and every source and every layer is removed in turn on each build to check that no figure here rises.
- **Measurement quality is not representativeness.** A classifier can be highly confident about one community's comments while that community is a poor stand-in for anyone. Those are different claims, and they are shown side by side precisely so that a high quality figure next to a narrow sample reads as what it is.
- There is no history and no change figure here, because nothing stores yesterday's data conditions.
- Coverage counts sources, not what the sources cover. Ten feeds of the same wire report are ten sources and one witness.
Numbers this uses 6 constants
| Value | What it does | How it was arrived at |
|---|---|---|
4 independent communitiesdataConditions.communityReference | How many independent communities have to be read before that part of representativeness is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 kinds of evidencedataConditions.sourceClassReference | How many different kinds of evidence have to stand behind the published figures before that part of representativeness is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the scored discussiondataConditions.languageReference | How much of the scored discussion has to fall outside its own largest language before that part of representativeness is full. It reads the discussion actually scored rather than what the sources could publish, and an item whose language could not be identified is not counted as a language. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 share of the representativeness factorsdataConditions.limitedThreshold | Where the sample stops being described as narrow and becomes limited. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the representativeness factorsdataConditions.moderateThreshold | Where it becomes moderate. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.75 share of the representativeness factorsdataConditions.broadThreshold | Where it becomes broad. Nothing this product currently reads comes close to it. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How well founded each figure is
A separate score from 0 to 1 for each of the four, built from how much of what is tracked could be measured, how much of it there was, and how well founded each underlying figure was.
The three parts are combined so that a weak one drags the whole score down rather than being averaged away by strong ones. A figure computed from four questions out of four hundred is not two-thirds trustworthy for those four being excellent.
The support part reads the confidence each underlying figure published for itself, weighted by the share it carried. Confidence here is therefore inherited as well as computed — a pulse built from figures that were themselves unsure is unsure.
Confidence never sees the figure it describes. A dramatic reading with thin support stays low confidence, and the code cannot do otherwise, because the value is not passed to the calculation that produces this score.
What this does not say
- A high confidence score says the evidence behind a figure is solid. It does not say the figure is important, or that what it describes matters.
- It cannot detect a systematic problem shared by every source — a platform-wide outage that leaves consistent-looking data still scores well.
Numbers this uses 5 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.4 share of the scoreconfidence.weights.coverage | How much the share of what is tracked that could be measured counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreconfidence.weights.sample | How much the amount of material behind the figure counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreconfidence.weights.support | How much the confidence of each underlying figure counts toward this one's. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.01 scoreconfidence.floor | The smallest value any single part of the confidence score is treated as, so one missing part reports very low confidence rather than none. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
50 underlying figuresconfidence.sampleReference | How many questions or topics have to be behind a figure before that part of the confidence score is full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How current the figures are
A figure is marked as possibly out of date when most of what it rests on is older than the limit for its layer.
Each figure is a fold over the readings behind it — hundreds of contracts, or every topic being tracked. How current it is, is measured as how much of it rests on readings past the limit for its layer, counted by how much of the figure each reading accounts for rather than by how many readings there are.
The share is the rule rather than the single oldest reading, because these figures fold hundreds of things at once. Taking the oldest would let one lagging contract out of nine hundred describe all nine hundred, and the chance that nothing at all is lagging falls as more of the world is tracked — so the marker would end up reporting how much is being watched instead of how current it is.
Nothing is lost by that. A layer that has stopped publishing has all of its weight behind the limit, so it is still marked, and for the reason a reader would give. A single source going quiet inside a layer is named separately, in the coverage below.
The limits differ by layer because the layers publish on clocks a factor of eight apart. A single limit would either mark the pulse out of date every afternoon or never mark it at all.
Age is measured now, against the period a reading covers — not taken from what the reading said about itself when it was written. A reading written late says so for the rest of its life, even while it carries the most recent data there is; what it knew about its own source's update rate is what the separate limits above are for.
What this does not say
- A current figure is not a live one. The fastest layer here updates in minutes and the slowest once a day.
- Quiet is not the same as behind. A topic nobody discussed for a day produces no new reading, and the weighting is what keeps such a topic from marking a figure out of date on its own — but a layer that is quiet everywhere and a layer that has stopped look alike from here, and the coverage below is where they come apart.
Numbers this uses 6 constants
| Value | What it does | How it was arrived at |
|---|---|---|
6 hoursfreshness.outlookStaleAfterHours | How old the newest forecast reading may be before the outlook figure is marked as possibly out of date, whatever the reading itself claims. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
48 hoursfreshness.attentionStaleAfterHours | The same limit for attention, which is generous because the slowest source behind it publishes once a day and rejects a request for anything finer. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
12 hoursfreshness.sentimentStaleAfterHours | The same limit for discussion sentiment. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
6 hoursfreshness.turbulenceStaleAfterHours | The same limit for turbulence. It takes the tightest of the limits above rather than one of its own, because a figure about how fast things are moving that rested on a six-hour-old reading and called itself current would be the most misleading kind of out of date. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
12 hoursfreshness.disagreementStaleAfterHours | The same limit for disagreement, which reads the discussion layer. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 share of the figurefreshness.staleWeightShare | How much of a figure has to rest on readings older than the limit above before the figure itself is marked as possibly out of date. Counted by how much of the figure each reading accounts for, so a subject that was quiet — an ordinary state here — cannot decide it on its own. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Rounding and versions
Figures are rounded before they are stored, and every stored figure carries the version of the method that produced it.
Rounding happens before storage, and the parts of the confidence score are rounded before they are combined, so a published breakdown reproduces the score beside it rather than nearly reproducing it. Published shares are adjusted so that they still add up to the whole they are shares of.
One version covers all four figures, because they are one composition rather than four methods published together: the uncertainty figure reads the other three, and versioning them apart would let a stored figure claim a method its own inputs were not calculated under.
When any number on this page changes, the version changes with it, and every figure calculated under the old version keeps saying so.
What this does not say
- The precision here is far beyond what the underlying data supports. It exists so that a change to the method is visible in review, not because the last decimal place means anything.
Numbers this uses 7 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 decimal placesrounding.index | Precision each published figure is rounded to. | Fixed by this product's own specification. |
6 decimal placesrounding.statistic | The precision of the underlying quantity each figure is stored with. Finer than the published figures, because these are what tomorrow's comparison is made against. | Fixed by this product's own specification. |
2 decimal placesrounding.change | Precision each published change is rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.confidence | Precision the confidence score and each of its parts are rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.weight | Precision each published share is rounded to. Shares are adjusted so that they still add up to the whole they are shares of. | Fixed by this product's own specification. |
4 decimal placesrounding.polarity | Precision the overall tone of the discussion is rounded to. | Fixed by this product's own specification. |
4 decimal placesrounding.share | Precision the positive, neutral and negative shares are rounded to, and the share of questions that moved. | Fixed by this product's own specification. |
How the homepage panels are ordered
Four panels on the homepage rank or fold figures this product has already published: which subjects moved most, which are trending, where sources disagree, and how each category stands.
None of them measures anything new. Each reads the stored figures behind the subject pages, so a panel and the page a reader clicks through to can never disagree about a number.
The version below travels on the response that produced these panels. Unlike every other figure here, they are not stored — see the boundary at the foot of this page.
Method version 3.0.0 · reported over 1h, 24h, 7d
- Biggest moversWhich subjects' figures changed most over a period, one measurement at a time and never across measurements.
- Trending subjectsWhich subjects several independent kinds of source are unusually busy with at the same time — deliberately not a measure of how much is being published.
- Where sources disagreeSubjects where how much was published and how much was discussed are far apart, or where two communities feel materially differently.
- The world by categoryThe same four figures the top of the homepage publishes, calculated over the subjects in one category.
- PrecisionHow precisely the figures on these panels are published.
Biggest movers
Which subjects' figures changed most over a period, one measurement at a time and never across measurements.
One tab is one measurement. Attention is ranked against attention and sentiment against sentiment; the panel has no way to place a change in one beside a change in the other, because the two are not the same quantity and there is no exchange rate between them.
Rows are ordered by the size of the change. On most measurements the direction does not affect the order, so a fall of ten places above a rise of six.
On the measurements listed below, a fall is not shown at all — only a rise is. Attention is scored against the busy side of a subject's own history and not against the quiet side, so 'quieter than usual' would be a size measured against a comparison nobody established. The quiet side also has a floor the busy side does not: an hour in which a normally busy subject was mentioned by nobody is as far down the scale as this product can go, and that happens constantly. Ranked by size alongside rises, those hours would be most of this panel most days.
A change smaller than the threshold below is not listed. With enough subjects something has always moved by a rounding error, and a panel headed 'biggest movers' showing one would be saying nothing while looking as though it were.
Confidence does not move a row up or down the list. A change we are not confident in is listed at its size like any other and carries its confidence where it is drawn, so that what the panel is ordered by and what it is headed by are the same thing. Suppressing such a row would hide what the confidence figure exists to disclose; ranking it beneath smaller ones would mean the first row was not the biggest change.
What this does not say
- A large change is not an important event. It is a change in one measurement of one subject, and the reason for it is not something this panel knows.
- The comparison is against the same subject earlier, never against other subjects. Two subjects both listed here moved a lot for themselves; that is all the pair of them have in common.
- Where only rises are shown, an absence from the list is not a statement that nothing fell. Subjects do go quiet, and this panel is not where that is reported, because it is not measured well enough to be ranked.
attention
Which measurements are listed here only when they went up. On these, a subject going quiet is not published as a change at all — see the section's own limits for why the two directions are not treated alike.
Fixed by this product's own specification.
Numbers this uses 3 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 index pointsmovers.materialChange | How far a figure has to have moved over the period before the topic is listed as having moved at all. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 confidence scoremovers.lowConfidenceAtOrBelow | At or below this, a move is listed beneath every move we are confident in, however large it is. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
10 rowsmovers.rows | How many topics each tab of the movers panel shows. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Trending subjects
Which subjects several independent kinds of source are unusually busy with at the same time — deliberately not a measure of how much is being published.
Five inputs are scored separately: public discussion, people looking a subject up, reading about it on this site, a change in what is expected about it, and how many independently-sourced reports have covered it. Each is scored from nothing to full against that subject's own history, so a small subject having an unusual week can score above a large one having an ordinary one.
The five are combined using fixed shares that never grow. An input with nothing to say scores nothing for that input and its share is not handed to the others — so a subject that only newsrooms have written about reaches the coverage share and stops there, and cannot lead this panel.
Coverage is counted as independently-sourced reports, never as articles. Twenty outlets carrying one wire report is one report carried twenty times.
The score is then increased for each additional kind of source that is also moving, up to a limit. It is a multiplier rather than an addition, so several kinds of source agreeing that nothing is happening still produces nothing.
Finally the score is reduced where the activity behind it came from unusually few accounts. That is a statement about concentration and never about who the accounts belonged to.
What this does not say
- Trending is not importance. A subject can matter enormously and be entirely unsurprising, in which case nothing here will list it.
- It cannot see a subject nobody in these sources discusses. A conversation happening somewhere this product does not read is invisible here, and this panel would report it as quiet rather than as unmeasured.
- Reading about a subject on this site is one of the five inputs, which means this panel is partly measuring what this site has been showing. That is why it carries the smallest share of the five.
Numbers this uses 15 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.35 share of the scoretrending.weights.publicDiscussion | How much of the trending score discussion activity can account for. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 share of the scoretrending.weights.pageviews | How much of the trending score people looking a subject up can account for. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.05 share of the scoretrending.weights.firstParty | How much of the trending score reading about a subject on this site can account for. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 share of the scoretrending.weights.expectations | How much of the trending score a change in what is expected about a subject can account for. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.1 share of the scoretrending.weights.context | The most of the trending score that news and official coverage can account for, whatever else is or is not reported. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
20 index pointstrending.expectationsReferenceChange | How far expectations about a subject have to move over the period for that part of the score to be full. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
11 independent sourcestrending.contextOriginsReference | How many separately-sourced reports fill the coverage part of the score. Reprints of one report count once. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of a parttrending.movingAtOrAbove | How far above a subject's normal level a kind of source has to be before it counts as one of the kinds that are moving. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.15 multipliertrending.breadthBonusPerExtraClass | How much further up the scale the score reaches for each additional kind of source that is also moving. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
3 kinds of sourcetrending.maxBonusClasses | How many additional kinds of source are counted before that increase stops growing. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
1 multipliertrending.manipulationDiscount.low | What the score keeps when nothing suggests the activity was concentrated. | Fixed by this product's own specification. |
0.7 multipliertrending.manipulationDiscount.elevated | What the score keeps when the activity came from fewer accounts than the subject's history suggests. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 multipliertrending.manipulationDiscount.high | What the score keeps when very few accounts carried most of the activity. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
15 scoretrending.minScore | Below this a subject is not listed as trending, and the panel can be empty. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
10 rowstrending.rows | How many subjects the trending panel shows. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Where sources disagree
Subjects where how much was published and how much was discussed are far apart, or where two communities feel materially differently.
Both sides are required. One side reporting is an absence rather than a disagreement, and publishing it against an assumed-normal other side would turn a source being unavailable into a finding.
Each side has to be behind a minimum number of items before it is published. The number of items is shown either way, so a reader can see how thin a comparison is.
The card states which side is ahead and nothing about why. 'More was published about this than was discussed' is a description of two figures; anything about what that means would be a claim about the world that nothing here measured.
Where two or more communities discussed a subject, how far apart they are is reported as well, against two conditions rather than one: how far the extremes are apart, and how spread out the communities are overall, so that a single outlier among many is not reported as a split. Where only one community was measured, no figure is published — a sample that cannot disagree with itself has not measured agreement.
Those two numbers are the ones the cross-signal card on the same page uses, read from where that method declares them rather than restated here. Two thresholds for one measurement would let the two panels disagree about one subject in front of one reader.
What this does not say
- It compares how much, not what was said. A gap between coverage and discussion says nothing about whether the two are saying the same thing.
- Today the discussion side is one community, so the second half of this panel publishes nothing at all. That is a limit of which sources are available rather than a finding about agreement.
Numbers this uses 5 constants
| Value | What it does | How it was arrived at |
|---|---|---|
15 index pointsdivergence.materialAttentionGap | How far apart how much was published and how much was discussed have to be before the difference is reported. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 spreadcrossSignal.minSpread | How far apart the most and least positive communities discussing a subject have to be before the difference is reported. The same number the cross-signal card uses, so the two cannot disagree. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.25 spreadcrossSignal.minDivergence | How spread out the communities have to be overall, so that one outlier among many is not reported as a split. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
20 itemsdivergence.minSampleSize | The fewest items behind a side of the comparison before that side may be published at all. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
10 rowsdivergence.rows | How many subjects the disagreement panel shows. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
The world by category
The same four figures the top of the homepage publishes, calculated over the subjects in one category.
Each figure is the World Pulse calculation run over the subjects in that category rather than over everything tracked, so the four numbers on a category and the four at the top of the page under the same chip are one calculation described twice. How each of them is arrived at is in the World Pulse sections of this page, and the version that produced it is published beside it.
A category with fewer measured subjects than the minimum publishes no figure at all, and is still shown with its subject count. One subject wearing a category's name is not a category.
Each figure states how many of the category's subjects are measured in the layer behind it, so a blank figure can be read as thinly measured rather than as broken.
The figures are calculated as the page is built and stored nowhere, so no change over time is reported for them: a change is measured against an earlier published value of the same figure, and for a category there is none.
What this does not say
- Every subject's figure is relative to that subject's own history, so a category's figure is how unusual its subjects are right now — not how much attention the category draws. A category of normally quiet subjects all having an unusual week will read higher than a permanently busy one having an ordinary one.
- The categories are a fixed list chosen when the product was designed. A subject can belong to more than one, and it then contributes to each — the figures are not shares of a whole.
- A subject counts toward a category's figure when it is in that category, and a forecast question counts when any subject it is linked to is. A question linked to subjects in two categories therefore contributes to both.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 topicscategory.minScoredTopics | The fewest measured subjects a category needs before a figure is published for it. Below this the category is shown with no figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Precision
How precisely the figures on these panels are published.
A score is published to the same number of decimal places as the figures it is folded from, so nothing on these panels implies a precision its inputs do not have.
Shares of a score are published to more places than the score itself, because several small shares are compared against each other rather than read on their own.
What this does not say
- Rounding is applied at publication, not during the calculation, so two figures that round to the same number were not necessarily equal.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
2 decimal placesrounding.score | How precisely a score on this page is published. | Fixed by this product's own specification. |
4 decimal placesrounding.share | How precisely each part's share of a score is published. | Fixed by this product's own specification. |
How discussion tone is measured
Future Index reads the public discussion on the platforms whose terms permit it, scores each item as positive, neutral or negative, and publishes the split for one subject, on one platform, over one period — together with the communities and languages behind it.
The text itself is never stored. What is kept is the counts, which is what every figure here is recomputed from and what erasing a source erases.
The version below is the calculation's. Every stored figure carries it together with the identity of the two models that read the items, because the same discussion under a different classifier is a different reading.
Method version 1.2.0 · reported over 1h, 24h
- Reading one itemHow a single comment or post becomes a reading of positive, neutral or negative, and what is recorded about the model that read it.
- Which items are countedThe items that reach a subject's figure, and what happens to the ones that do not.
- How much one item countsEvery item carries a weight, so that a period is not decided by whichever item happened to be popular.
- What is published for a periodThe split between positive, neutral and negative, the communities behind it, and a single tone figure that is a plain restatement of the split.
- How far communities are apartWhether the communities discussing a subject in a period agreed with each other, where there is enough from each of them to say.
- Change against the subject's own historyHow far a period's tone sits from what that subject's discussion has usually been, in its own units and in standard deviations.
- The periods a figure is published forAn hour, a calendar day, and the day up to now — the last two assembled by adding up the hours, because the text they were read from is gone.
- How much of the discussion was readWhat share of the items fetched could actually be scored, and in which languages.
- ConfidenceHow well supported a period's reading is — never how strong, how negative or how interesting it is.
- FreshnessWhether a reading is current, out of date, or absent.
- PrecisionHow far each published figure is rounded, and why the rounding is part of the method.
Reading one item
How a single comment or post becomes a reading of positive, neutral or negative, and what is recorded about the model that read it.
Each item's text is cleaned of quoting and formatting, its language is identified, and what is left is scored by a classifier. Nothing about an author is read, and the text itself is never stored — both platforms this reads permit deriving figures from their content and not keeping it.
Where a classifier reports a distribution across grades rather than one grade, the whole distribution is used: an item split almost evenly between the top two grades is mildly positive rather than confidently so.
Where the language of an item cannot be identified confidently, it is counted and not scored. Filing it under the most likely language would put a reading into a figure the reader is told is about a language it is not.
The identity and version of both models are stored with every figure they produced, as part of the version that figure carries. The version published on this page is the calculation's alone, because the process that serves this page does not run the models — the figure itself names the pair that read it.
What this does not say
- A classifier reads the words, not the meaning. Irony, quotation and reported speech are read at face value, and there is no measurement here of how often that is wrong.
- The classifier running today has not been calibrated against anything. Every figure it produced says so, in a mark on the figure and in the version it carries.
- Neutral is a reading. Being unable to read something is not one, and the two are never combined.
Which items are counted
The items that reach a subject's figure, and what happens to the ones that do not.
Items are set aside in a fixed order: near-duplicates of each other, then items whose shape suggests spam, then items not confidently about the subject, then items in a language that could not be read. Each item is set aside for the first reason that applies, so the reasons add up to the number of items fetched exactly and a reader can check the arithmetic.
A spam-shaped item is reduced in weight rather than removed. Removing it would move the published split by exactly the amount it carried, with nothing on the figure recording how much that was.
The count of items considered is per subject and not per period. An item that reached three subjects was screened three times, once for each, because whether an item is about a subject is a question asked of a pair rather than of the item alone.
What this does not say
- Nothing here judges an item's quality or its truth. The only questions asked are whether it is a duplicate, whether it looks automated, whether it is about the subject, and whether it can be read.
- An item set aside as spam-shaped is a statement about a pattern, never about who wrote it. No account is profiled and no author history is read.
Numbers this uses 3 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.2 share of an ordinary itemspam.minKeep | The least a spam-shaped item may be reduced to. It is never removed outright, because removing it would move the published split by exactly the amount it carried with nothing recording how much that was. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of fetched itemsspam.highNoiseShare | Above this share of items set aside as spam or near-duplicates, the figure is marked as coming from a noisy period. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 match confidencerelevance.floor | How sure the subject match must be before an item's tone counts towards that subject. Higher than the bar for merely counting an item, because a wrongly matched item adds an opinion here rather than only a tally. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
How much one item counts
Every item carries a weight, so that a period is not decided by whichever item happened to be popular.
An item's weight rises with how much engagement it drew, on a curve that flattens: past the reference below, more engagement adds very little. Without that, a single item with a thousand responses would count a hundred times one with ten.
A second, separate limit then applies: no single item may hold more than a fixed share of a period's total weight. The two do different jobs and neither replaces the other — the curve bounds a busy period, where hundreds of items make any one of them unable to dominate arithmetically, and the share limit bounds a quiet one, where a single submission genuinely can be most of an hour.
Trimming one item lowers the total, which lowers the ceiling, which can bring a second item over it — so the limit is re-applied a bounded number of times. Where fewer items were scored than the share allows for, the ceiling is raised to an equal share, because a ceiling nothing can reach would drive every weight towards nothing.
Where the limit bound anything, the figure says so.
What this does not say
- Engagement is how much a platform's readers responded to an item, which is not how many people agreed with it. A heavily argued-with comment and a heavily agreed-with one look the same here.
- The weight is used inside one platform's own figures. It is never used to weigh one platform against another — platforms are combined equally, further up.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
50 pointsengagement.reference | The level of engagement at which an item counts about three quarters of the most any item can count. Beyond it, more engagement adds very little. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
1 multiplierengagement.maxUplift | The most a heavily engaged item may count relative to one nobody responded to. At one, the busiest item is worth two of the quietest and no more. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.2 share of a periodengagement.maxItemWeightShare | The most of a period's total weight any single item may hold, so that one popular submission cannot decide what a period says. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
8 passesengagement.maxCapPasses | How many times that ceiling is re-applied. Trimming one item lowers the ceiling for the rest, so the adjustment is repeated a bounded number of times and always settles from above. | Fixed by this product's own specification. |
What is published for a period
The split between positive, neutral and negative, the communities behind it, and a single tone figure that is a plain restatement of the split.
What is published for one subject, one source and one period is the whole split, together with the emotional grouping where the classifier could produce one, the languages the items were in, and the communities they came from. Each community's own tally is kept rather than averaged away.
The single tone figure is the weighted mean of the item readings, on a scale from −1 to 1. It is a summary of the split rather than a replacement for it, and both are published together so that a reader can see the split a summary came from.
A period in which nothing could be scored produces no figure at all. A distribution over no items is not a neutral distribution.
What this does not say
- It is the tone of what was said on the platforms this product may read, in the period stated. It is not what people think, and where only one community was measured the figure describes that community and nothing wider.
- The tone figure and the split can look like a rating of the subject. They are neither: a negative reading about a disaster is a description of how it was discussed.
- There is no single 0–100 sentiment figure per subject anywhere in this product, and that is a decision rather than a gap. See the boundary at the foot of this page.
How far communities are apart
Whether the communities discussing a subject in a period agreed with each other, where there is enough from each of them to say.
Two figures are computed across the community averages: how far the extremes are apart, and how spread out the communities are overall. The second is what other parts of this product read, because a range is decided by two communities and discards every other one.
A community enters the comparison only once it has said enough for its own average to be a measurement. Below that its items still count towards everything else — the split, the sample size, the tone figure — and it simply gets no vote in a statement about how far communities are apart.
Where fewer than two communities clear that bar, no figure is published and the reason is stated on the row: one community measured, or several too thin to compare. The two point at different repairs — a wider set of sources, or a wider period — and telling them apart is the whole reason they are separate marks.
Nothing is ever published as zero disagreement on the strength of a single community. A sample that cannot disagree with itself has not been found to agree.
What this does not say
- It compares the tone of what different communities said, never the substance. Two communities can be equally positive about entirely different things.
- A community here is a room on a platform, not a group of people. Two rooms on federated platforms are two communities even where the same people are in both.
- On the shortest period this product publishes, the figure is usually absent, because a single hour rarely gives two communities enough items each. That is the honest state rather than a fault — the daily period is where the figure becomes possible.
Numbers this uses 2 constants
| Value | What it does | How it was arrived at |
|---|---|---|
10 itemsdisagreement.minCommunityItems | How much one community must have said before its own average may enter the comparison between communities. Below it the community is still counted, still weighted and still published — it simply gets no vote in a statement about how far communities are apart. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.5 polarityconfidence.maxDivergence | How far apart the communities have to be before the agreement part of confidence reaches zero. Tone runs from −1 to 1, so this is a platform split down the middle. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Change against the subject's own history
How far a period's tone sits from what that subject's discussion has usually been, in its own units and in standard deviations.
A period is compared against the periods of its own width immediately before it — hours against hours and days against days. Comparing a day against the hours inside the days before it would report a difference that is a property of the two widths rather than of the discussion.
The comparison is published both in tone units and as a number of standard deviations of that history, so a small change on a subject whose discussion is normally steady is not read as the same thing as a small change on a volatile one.
Where too few periods have been measured, no comparison is published and the figure is marked as having no history yet. It is never published as no change.
There is no threshold here for what counts as a large change, and that is deliberate: no set of periods has ever been labelled, so a threshold invented here would become the number every alert downstream was built on.
What this does not say
- A large change against a subject's own history is not a large change in the world. A quiet subject's ordinary week can produce one.
- The history is this product's own record of that subject, so it begins when this product began reading. A subject added last week has no history and no comparison.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
168 hoursgranularity.hour.buckets | How far back the comparison for an hourly figure reaches. Seven days, so a weekly rhythm is inside it once. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
24 hoursgranularity.hour.minBuckets | How many of those hours must actually have been measured before any comparison is published for an hourly figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
28 daysgranularity.day.buckets | How far back the comparison for a daily figure reaches. Four weeks. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
7 daysgranularity.day.minBuckets | How many of those days must have been measured before any comparison is published for a daily figure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
The periods a figure is published for
An hour, a calendar day, and the day up to now — the last two assembled by adding up the hours, because the text they were read from is gone.
The hour is what both sources are read at. The two day-long periods are built by adding together the stored hourly figures: what was classified was text, the text is not kept, and so a wider figure cannot be produced by reading anything again. It is the one calculation in this product whose input and whose output are the same table.
Two day-long periods rather than one, because they answer different questions. The calendar day is a day that finished and does not move again, which is what a comparison across different kinds of source needs. The day up to now slides forward every hour, which is what a page describing today needs — a calendar day is frozen between midnights.
A wider period is assembled only once the hours inside it have had time to arrive, and is then written once and never revised. The delay below is what makes that safe: one assembled early would be missing its last hours for good. What that delay is waiting for is mostly this system catching up after an interruption of its own rather than either platform being slow — both were measured, and both finish delivering an hour within about a minute of it closing.
Adding up hours never crosses a change of model. Where the classifier changed part-way through a day, the hours before and after are assembled into separate figures rather than averaged into one, because two classifiers' readings are not comparable.
The day up to now is compared against calendar days rather than against other sliding days. Sliding periods overlap each other, so a history built from them understates how much the tone normally varies and would inflate every comparison measured against it.
What this does not say
- A day's figure exists only where the hours under it were measured, and only where they were measured recently enough for the routine run to reach them. Assembling the days over older hours is a deliberate operation somebody runs, not something a release does on its own, so a subject can have hourly figures reaching further back than its daily ones.
- The number of distinct people is not carried up from the hours. Author identifiers are discarded with the hour that produced them, so adding them would count one person posting each hour as twenty-four people. A day says plainly that it does not have that number rather than reporting a wrong one.
- The delay below rests on how long each source is held for after a period closes. Both of those delays have now been measured on the platforms themselves, and the longer of the two is what sets it — so shortening the other one would not bring a day's figure forward. It keeps a margin beyond what either measurement needs, because a period assembled early is missing part of itself for good while one assembled late is only late.
single_communityunscored_languageshigh_noiseengagement_cappeduncalibrated_classifier
The marks that carry from an hour onto the day assembled from it. Each is a fact about how the evidence was produced rather than about the period, so a day that dropped them would be claiming its reading had never been trimmed and had been scored by a settled model. Every other mark is worked out afresh at the wider period, from that period's own numbers — which is the only reading under which what it says is true of the row it is on.
Fixed by this product's own specification.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 hoursreduction.lagBuckets | How far behind the clock a wider figure is assembled. It has to clear the delay each source is held for after a period closes, because a wider figure is written once and never revised: one assembled early would be missing its last hours permanently. | Derived from data this system has observed. |
How much of the discussion was read
What share of the items fetched could actually be scored, and in which languages.
Every figure publishes how many items were fetched, how many were scored, and the share of the sample each language accounted for. Below the share stated here, the figure is marked as covering only part of what was said.
That mark is set on most figures today and is meant to be: the classifier reads a limited set of languages and the platforms are not written entirely in them, so a substantial part of most periods is counted and not scored. It is a limitation of this build, published as one rather than hidden by counting unread items as neutral.
The emotional grouping, where it is published, covers less than the tone figure does — it is available in one language only — so the two coverage figures are published separately rather than as one number.
What this does not say
- Coverage is the share of what was *fetched* that could be read. It says nothing about what share of the world's discussion of a subject these platforms are.
- An unread item is not evidence of anything. It is not counted as neutral, and it is not assumed to resemble the items that were read.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
0.67 share of fetched itemslanguages.minScoredShare | Below this share of items successfully read, the figure is marked as covering only part of what was said. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Confidence
How well supported a period's reading is — never how strong, how negative or how interesting it is.
Four parts are scored from 0 to 1: how many items were scored, what share of the fetched items they were, how far apart the communities were, and how recent the reading is. Each is published individually with the share it carried.
They are combined as a weighted geometric mean rather than an average, so one part near zero pulls the score down instead of being averaged away by three healthy ones. A reading of six comments is not two-thirds trustworthy for being recent, well covered and unanimous.
A part that cannot be scored has its share spread across the parts that can. Where only one community was measured, agreement is not scored as one — nothing was found to agree, and scoring it as agreement would make the least informative case look like the best one.
What this does not say
- Confidence has no access to the reading it describes. A dramatic swing on a low-confidence period stays low confidence.
- It says nothing about whether the discussion was right, informed, or representative of anyone outside it.
Numbers this uses 7 constants
| Value | What it does | How it was arrived at |
|---|---|---|
0.4 share of the scoreconfidence.weights.sample | How much the number of items counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.3 share of the scoreconfidence.weights.coverage | How much the share of items that could actually be read counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.15 share of the scoreconfidence.weights.agreement | How much the communities agreeing with each other counts toward confidence. Where there is only one community this part is left out and its share is spread across the rest, rather than scored as agreement. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.15 share of the scoreconfidence.weights.freshness | How much the age of the reading counts toward confidence. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
0.01 scoreconfidence.floor | The lowest value a single part may contribute, so that one part at zero reads as very weakly supported rather than as no measurement at all. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
10 itemssample.lowSampleItems | Below this many scored items a figure is marked as resting on very little. It is still published: an hour four people discussed something is a fact about that hour, and hiding it would leave a gap that reads as a failure. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
50 itemssample.referenceItems | The number of scored items at which the sample part of confidence is full. More items past it do not raise it further. | A reasoned choice with no observed distribution behind it yet. Read it as a stated position, not a measurement. |
Freshness
Whether a reading is current, out of date, or absent.
A figure describes a period that has closed, so it is never revised once written. What ages is the gap between the newest figure and now, measured against how often that source's periods arrive.
A figure is marked as possibly out of date after the number of missed collections below. One missed collection is ordinary operation, and a mark that flipped on it would mean nothing.
A wider period is judged against its own width rather than against the hour it was assembled from. Judging a day against an hourly schedule would mark every day out of date the moment it was written.
What this does not say
- A source that stopped reporting leaves its last figure saying what it said. There is no figure claiming the discussion went quiet, because nobody measured that.
- Out of date and absent are different states and are shown differently. A chart draws a gap where nothing was measured, and never a line across it.
Numbers this uses 1 constant
| Value | What it does | How it was arrived at |
|---|---|---|
3 collection intervalsconfidence.staleAfterCadences | How many consecutive expected readings may be missed before a figure is marked as possibly out of date. | Fixed by this product's own specification. |
Precision
How far each published figure is rounded, and why the rounding is part of the method.
Rounding is applied before a figure is stored rather than on the way to a screen, so the stored figure and the published figure are the same number and can be recomputed from the stored counts exactly.
The parts of a split are published to more places than the figures themselves, because they are apportioned to sum to exactly one and the remainder has to land somewhere.
What this does not say
- Precision is not accuracy. A tone figure published to four places is a weighted mean of readings that are themselves uncalibrated.
Numbers this uses 4 constants
| Value | What it does | How it was arrived at |
|---|---|---|
4 decimal placesrounding.share | How precisely each part of a split is published. Finer than the figures themselves, because the parts are apportioned to sum to exactly one. | Fixed by this product's own specification. |
4 decimal placesrounding.polarity | How precisely the overall tone figure and its change are published. | Fixed by this product's own specification. |
4 decimal placesrounding.weight | How precisely each community's or language's share of the sample is published. | Fixed by this product's own specification. |
4 decimal placesrounding.confidence | How precisely the confidence score and each of its parts are published. | Fixed by this product's own specification. |
What this product does not do
Stated positions about what these numbers are, not a list of things not built yet.
How forecast numbers are calculated
Forecasts are not combined across sources
Future Index does not currently combine forecasts from different sources into a single number. Each question shown is one source's contract, and every figure on it is computed from that source alone.
The reason is that combining them honestly requires deciding that two differently worded questions ask the same thing, and that decision cannot be made reliably by matching text. Two contracts about the same subject routinely differ in what settles them, when they settle, and what happens in the cases nobody wrote down — and an average across them would publish a number that answers none of the questions it was built from, with no way for a reader to see which.
So the product shows sources side by side rather than blended. Where two sources disagree, that disagreement is visible as two numbers, which is a truthful presentation of what is known.
This is a stated boundary of what the product does, not a gap waiting to be filled. If it ever changes, it will change because a matching rule exists that can be published and checked — not because the numbers were combined anyway.
Nothing here explains why a number moved
Movement and variability are measurements of a series. Neither is an explanation, and no figure on this site asserts that one thing brought about another.
Where two signals move together, the product says they coincided. That is what the data supports.
There is no single overall score
Expectations, attention, discussion sentiment and uncertainty are reported as four separate components and are never mixed into one figure.
They are measured in incompatible units — a probability, a volume, a sentiment index, a disagreement index — and a single number built from them would hide which of the four moved. A composite would need stable history behind it, a published method, and evidence that it means anything before it could be shown at all.
Most of the thresholds are stated, not measured
Every constant on this page carries how it was arrived at. Most are stated defaults: reasoned choices with an argument behind them and no observed distribution to place them against, because they were set before this system had ingested anything.
They are published anyway, because a threshold a reader cannot see is worse than one they can disagree with. When there is enough history to calibrate them, they change and the method version changes with them — and every value calculated under the old version keeps saying so.
How the attention figure is calculated
This figure compares a topic with itself, not with other topics
The attention figure is a topic's current level against that same topic's own recent history. It is not a share of anything, not an estimate of how many people are involved, and not a position in a ranking of topics.
This is a deliberate choice rather than a limitation of the data. Raw counts from different platforms measure different things — a page view is not a comment, and neither is a story — and there is no honest exchange rate between them. Comparing each source with its own history removes the need for one, and the price is that the resulting figure carries no information about scale.
So a large, permanently busy topic and a small, rarely mentioned one can read the same number on the same day, and both readings are correct. What they mean is that each is equally far from its own normal.
Volume of coverage is capped and can never carry the figure
How much was published about a topic and how much the public discussed it are different measurements, and this product does not let the first stand in for the second. The volume of news and official coverage has a fixed maximum share of the attention figure, and that share never grows.
The reason is that coverage volume is not independent evidence. Many outlets routinely publish the same underlying occurrence, often from the same wire report, so counting articles counts newsrooms rather than readers or participants. A topic every outlet is writing about and nobody is discussing is a real and interesting state, and it is not high public attention.
The consequence is stated rather than hidden: where no discussion or activity source reported on a topic, its attention figure stays close to the middle of the scale and cannot be published as elevated, however much was written. The published shares show exactly how much of the figure coverage accounted for, and where the rest of it did not come from.
Some of this figure is people reading this site, and it is capped for that reason
Visits to this site's own topic and question pages count towards attention, alongside the outside sources. That is stated here rather than left to be discovered, because it is the one input this product itself produces: what appears prominently here gets read more here, and a figure that let that run would report the product's own choices back as public attention.
Three things stop it. Only a page about a single subject is counted, so displaying a topic in a list or a ranking contributes nothing to it. Counting within each period stops at a limit, so beyond that point more reading changes the figure by nothing at all. And what is counted may account for no more than a small share of the figure, with the remainder held at the middle of the scale rather than handed back to it — so a topic nobody outside this site has discussed cannot be published as elevated because people here looked at it.
Nothing about a visitor is recorded. There is no account, no identifier, no address and no search text kept — what is stored is a subject and a number of visits in an hour, and that is the whole of it. The count is also an undercount, because pages are served from a cache and are read far more often than the counter sees them; the alternative would be identifying visitors, and this product does not.
A high figure is a description, not a detection
The scale published here is continuous and always available. It is not a threshold, and nothing about a figure being high means anything was flagged.
Deciding when a departure is unusual enough to act on is a separate judgement with a separate number behind it, set against a labelled set of real history rather than by convention. Keeping the two apart means that revisiting when something counts as unusual does not silently move every figure ever published.
So a topic reading 88 has not been detected as anything. It is further above its own normal level than it usually gets, and that is the whole claim.
The thresholds on this page are stated, not measured
Every constant here carries how it was arrived at, and all of them are stated defaults: reasoned choices with an argument behind them and no observed distribution of this index to place them against, because they were set before the index had produced a figure.
Two have a measurement behind the choice without being measurements of what they govern. How steeply a departure climbs the scale was chosen against 1,260 days of real page-view history, where a three-deviation departure occurred on about one day in thirteen — a fact about one source's series rather than about a figure blending three of them. How much history a source needs before it counts toward confidence comes from the same measurement, which found a page-view baseline within a tenth of its long-run value after a week, and is applied to discussion sources whose history cannot be assembled retrospectively at all.
They are published anyway, because a threshold a reader cannot see is worse than one they can disagree with. When there is enough history to calibrate them, they change and the method version changes with them — and every figure calculated under the old version keeps saying so.
How the World Pulse is calculated
There is no single score for the world, and there will not be one here
Future Index publishes four readings and never a total. That is the product's oldest commitment and the one it would be easiest to break: a single number would be more shareable, easier to put in a headline, and simpler to watch over time.
It would also be an invention. Combining these four requires deciding how much a shift in what people expect is worth against a change in how they are talking — an exchange rate nobody has estimated, that would vary by topic and by week, and that would be doing the reader's interpretation for them while looking like a measurement.
The bar for introducing one is stated rather than left open: a long enough run of stable history to calibrate against, a published account of how it is composed, a test of how it would have behaved on past periods, and evidence that its answer does not swing on small changes to the weights. Until all of those exist, the answer is four numbers. If one is ever added, it stays visually secondary to them.
Outlook says how much expectations moved, never whether they improved
The outlook figure has no direction in it. It is not higher when forecasters grow optimistic and lower when they grow pessimistic; it is higher when the numbers move and lower when they sit still, whichever way they went.
Two things make that the only honest form available. There is no combined probability across sources to state a level with — questions from different sources are never compared in this product, so there is nothing to average into 'what is expected'. And a direction would require deciding whether a given outcome is a good one, which this product refuses to do anywhere: the same movement is welcome to one reader and unwelcome to another, and labelling it would be the product taking a side while presenting the result as a measurement.
So the words beside the figure are steady, some movement, moving, and moving sharply. If a levelled or directional outlook is ever built, the wording changes with it and not before.
This describes the topics and questions this product tracks, not the world
Every figure here is an average over a chosen set: a few hundred topics with names somebody wrote down, and the forecast questions that passed an admission policy. Nothing in the arithmetic knows what it is missing.
The set is chosen for reasons that are stated elsewhere and are not neutral. Forecast questions exist where somebody thought a market in them was worth running, which skews towards finance, politics and sport. Discussion is read from one technology-centred community, because that is what current terms permit. Topics were seeded by hand. A subject nobody listed is not quiet here — it is absent, and the two are indistinguishable from these figures.
So a low attention figure means the tracked topics are quiet relative to their own normal. It does not mean the world is. The figures are readings of an instrument with a stated field of view, and the field of view is part of the reading.
Every threshold on this page is stated, not measured
All the numbers here are stated defaults: reasoned choices with an argument behind each and no observed distribution to place them against. That is stronger than it sounds — it means none of them was fitted to anything, not even second-hand.
The reason is that this method was written before the data existed. There is no record of how far the tracked questions move on an ordinary day, no history of how far the tracked topics collectively sit from their own normal, and no observed distribution of discussion tone. Choosing a threshold against data that does not exist is not possible; choosing one and saying so is.
They are published anyway, because a threshold a reader cannot see is worse than one they can disagree with. When there is enough history to calibrate them, they change, the method version changes with them, and every figure calculated under the old version keeps saying so.
What this product can see is reported separately from what the world is doing
There are two kinds of number on this site and they are never mixed. World conditions — attention, mood, turbulence, disagreement — are readings of the world. Data conditions — measurement quality, coverage, freshness, representativeness — are readings of this product's own ability to observe it.
They were mixed until method version 2.0.0. The old uncertainty figure combined how unsettled forecast prices were and how fast attention was moving, which are properties of the world, with how weakly founded the other figures were, which is a property of us. The consequence was not subtle: when a data provider went down, the world's uncertainty rose. The product knowing less looked like the world becoming less certain, and a reader had no way to tell the two apart.
So the separation is now structural rather than editorial. The world figures are calculated first, from values alone; the data conditions are calculated afterwards from what the world figures managed to publish; and there is no argument the arrow could travel back along. If several sources fail, the world figures narrow and name what is missing — they do not move.
One observer cannot demonstrate agreement
The disagreement figure is absent wherever only one community has been read on a subject, and that is the measurement rather than a gap in it. One community cannot disagree with itself. For most of this deployment's life only one online discussion community was reachable under its operator's terms, so the figure was absent everywhere; a second is now read, and the figure exists on the subjects where both of them were.
The tempting alternative is to publish a low figure — nothing measured, so nothing in dispute. That would be the most confident sentence this product is capable of producing, and it would be inferred from having asked a single observer. Absence of disagreement data is not evidence of agreement, and nothing here treats it as any.
So the figure is absent with a stated reason, and it stays absent until a second independent observer exists. The same rule holds one level down, where a per-subject sentiment figure states how many communities stood behind it, and it is why forecast-source disagreement is not in this metric at all: comparing two sources' answers requires deciding that they are answering the same question, which this product does not do.
How the homepage panels are ordered
These panels rank the subjects this product tracks, and nothing else
Every panel here draws on a fixed list of subjects, each of which was added deliberately and can be read on its own page. Nothing is discovered here: a subject not on that list cannot appear on any of these panels, however much the world is discussing it.
So an empty panel means none of the tracked subjects met the threshold, never that nothing is happening.
An order is not a judgement about importance
These panels order subjects by how far measurements have moved, how many kinds of source are unusually busy, and how far two kinds of source are apart. None of those is a claim that a subject matters, that a reader should care, or that anything has been established.
The one editorial input anywhere in these calculations is the significance weight used to fold a category together, which is set when a subject is added and is visible in the same file that names the subject.
The figures on these panels are calculated as the page is built
Unlike the other figures this product publishes, nothing on these panels is written down. Each is computed from stored measurements at the moment the page is assembled, and the version of the method that produced it travels with the response and nowhere else.
The practical consequence: a trending score noted yesterday cannot be compared against one today without knowing which version produced the older one, because nothing recorded it. The underlying measurements are stored and can be compared, and each subject's own page is where to do that.
Every threshold on this page is stated, not measured
All of the constants above are stated defaults: reasoned choices with an argument behind them and no observed distribution to place them against, because they were chosen before these panels had produced a figure.
They are published anyway, because a threshold a reader cannot see is worse than one they can disagree with. When there is enough history to calibrate them they will change, and the version of the method will change with them.
How discussion tone is measured
This is what was said on a few platforms, not what people think
These figures read the public discussion on the platforms whose terms permit it. The people who post there chose to, they are not a sample of anybody, and the platforms differ from each other far more than they resemble a population.
So nothing here is a poll, and no figure on this page describes anyone's opinion. Where one community was measured, the figure describes that community and is marked as doing so; where several were, they are shown as several rather than averaged into a public.
This is a stated boundary rather than a limitation waiting on more sources. More platforms would make the reading broader and would not make it representative.
There is no single sentiment score for a subject
What is published for a subject is a split — how much of the discussion read as positive, neutral and negative — together with the communities and languages behind it. There is deliberately no 0–100 sentiment index per subject.
Collapsing a split into one number discards the thing the split is for. A subject discussed by two communities who feel oppositely and a subject nobody feels strongly about produce the same middle number, and a reader shown that number has no way back to the difference.
The one place a single tone figure is published is at the level of the whole world, where it is a plain rescaling of the split and is shown beside it.
The text these figures were read from is not kept
Both discussion sources permit deriving figures from their content and not storing it, so items are classified as they arrive and only the counts are kept. No comment, post or username is stored anywhere in this product.
That has a consequence worth stating plainly, because it is the one place this product's reproducibility stops short. Every other figure here can be recomputed from stored inputs; this one can be recomputed from the stored counts, and those counts cannot be recomputed from the platforms' own data. The counts are the evidence.
It is also why a day-long figure is built by adding up hours rather than by reading the day again: there is nothing left to read. And it is why erasing a source's data erases these figures outright rather than recalculating them without it — the support and the claim go together.
Every threshold on this page is stated, not measured, with one exception
Almost all of the numbers above are stated defaults: reasoned choices with an argument behind them and no observed distribution to place them against. There is no set of periods anybody has judged, so there is nothing to fit them to — and the classifier producing the readings has not been calibrated either, which means a number fitted against its output today would be fitted to the placeholder rather than to the discussion.
The exception is the delay before a wider period is assembled, and it is the exception because it is not a threshold about what the discussion said. It is how long each platform takes to finish delivering an hour, which was measured directly on both of them — and what the measurement found on the second is that almost nothing arrives late at all: half of everything within sixteen seconds of being written, and none of an hour's content still outstanding half an hour after that hour closed.
Two of the remaining numbers agree with ones the attention method arrived at by measurement. They are stated defaults here regardless: inheriting another layer's number along with its provenance is how an unmeasured constant comes to look measured.
They are published anyway, because a threshold a reader cannot see is worse than one they can disagree with. When there is enough history to calibrate them they will change, and the version of the method will change with them.
Sources
Which sources this system reads, what each one is, the permission it runs under, and whether it is permitted to run at all are published at /v1/sources. A source listed there and contributing nothing is visible as such, which is what makes an empty figure readable rather than mysterious.