Weighted Sentiment Metrics

Definition

The Sentiment Weighted is an improved version of the Sentiment Balance that also takes into account the Unique Social Volume.

Why Sentiment Balance needs improvement?

Sentiment Positive/Negative/Balance metrics’ values are in the interval [-social_volume; +social_volume] where social_volume is the number of messages that mention a given coin.

This makes the values of different assets hard to compare, as the mentions of Bitcoin are magnitudes higher compared to the mentions of a small token.

Sentiment Weighted Intuitive Definition

Sentiment Weighted adjusts the values by considering the number of mentions, standardizing data to make diverse asset sentiments comparable.

This means that spikes/dips in the metric will be seen when there is:

  • a lot of mentions for a coin
  • most of the mentions are expressing the same sentiment — most are positive or most are negative

If the sentiment is mixed, or the asset is not mentioned a lot, there will be no spikes/dips.

Sentiment Weighted Technical Definition

The metric is defined as a rolling Z-score of the term X, where:

X=UniqueSocialVolume×AverageSentimentX = \mathrm{Unique Social Volume} \times \mathrm{Average Sentiment}

More precisely we choose a duration dd which will be the length of our sliding window. Then for any timestamp tt we consider the population X(t,d)X(t,d) consisting of all values of X(t)X(t') for all timestamps tt' between tdt-d and tt. If we use μ\mu and σ\sigma to denote mean and standard deviation, then we define Sentiment Weighted as:

SentimentWeighted(t,d)=X(t)μ(X(t,d))σ(X(t,d))Sentiment Weighted(t,d) = \frac{X(t) - \mu(X(t,d))}{\sigma(X(t,d))}

This score can be explained as a social-volume-weighted sentiment balance - it spikes when the social volume is really high and the vast majority of the messages in it are very positive at the same time. Dips will occur when the social volume again is high, but the overall sentiment is negative. In case the volume is high but the sentiment is mixed, or the sentiment has a strong positive (negative) polarity but with a low volume, the Sentiment Weighted metric won’t have significant changes and will stay around 0.

We have 5m, 1h, and 1d weighted sentiment metrics. The difference between them is in the metrics that we use to calculate them.

  • for sentiment_weighted (5m) we use sentiment_balance (5m) and unique_social_volume (5m)
  • for sentiment_weighted_1h we use sentiment_balance (1h) and unique_social_volume_1h
  • for sentiment_weighted_1d we use sentiment_balance (1d) and unique_social_volume_1d

The difference between base metrics lies in the interval on which we aggregate these metrics. In case of 5m aggregated metrics when we calculate standard deviation and average for a window dd we take dd 5m’s datapoints.

In case of 1h aggregated metrics — we take dd 1h’s datapoints.

In case of 1d aggregated metrics — we take dd 1d’s datapoints.

⚠️

The 5m interval sentiment volume consumed metrics are highly sensitive to short-term fluctuations and external events, which can introduce significant noise into the data. This can make it difficult to accurately assess underlying sentiment trends. To mitigate this, we recommend utilizing metrics aggregated over longer intervals:

  • 1h (one-hour) metrics: These provide a more stable and smoothed representation of sentiment.
  • 1d (one-day) metrics: These offer a broader perspective on sentiment, reducing the impact of daily noise.

Using these longer intervals helps to capture more sustained sentiment patterns.

Available Sources

List of available sources

Weighted Sentiment Bitcoin Chart

Access

Restricted Access


Measuring Unit

Sum of sentiment scores


Data Type

Timeseries Data


Frequency

Five-Minute Intervals


Latency

Social Data Latency


Change Metrics

Change Metrics:

  • sentiment_weighted_total_change_1d
  • sentiment_weighted_total_change_7d
  • sentiment_weighted_total_change_30d

Available Assets

All metrics have the same set of available assets


SanAPI

Fetch timeseries data for sentiment_weighted_total for a single asset:

{
getMetric(metric: "sentiment_weighted_total") {
timeseriesDataJson(
slug: "ethereum"
from: "utc_now-90d"
to: "utc_now-60d"
interval: "1d"
)
}
}

Fetch timeseries data for sentiment_weighted_telegram for multiple assets at the same time:

{
getMetric(metric: "sentiment_weighted_telegram") {
timeseriesDataPerSlugJson(
from: "utc_now-60d"
to: "utc_now-55d"
interval: "1d"
selector: { slugs: ["ethereum", "bitcoin"] }
)
}
}

Fetch aggregated daily values for many assets:

{
allProjects(page: 1, pageSize: 50) {
slug
sentimentWeighted: aggregatedTimeseriesData(
metric: "sentiment_weighted_total"
from: "utc_now-7d"
to: "utc_now"
)
}
}

Full list of metrics

The full list of weighted sentiment metrics is:

Open Weighted Sentiment Metrics List
  • sentiment_weighted_4chan
  • sentiment_weighted_bitcointalk
  • sentiment_weighted_reddit
  • sentiment_weighted_telegram
  • sentiment_weighted_twitter
  • sentiment_weighted_youtube_videos
  • sentiment_weighted_farcaster
  • sentiment_weighted_total
  • sentiment_weighted_4chan_1h
  • sentiment_weighted_bitcointalk_1h
  • sentiment_weighted_reddit_1h
  • sentiment_weighted_telegram_1h
  • sentiment_weighted_twitter_1h
  • sentiment_weighted_youtube_videos_1h
  • sentiment_weighted_farcaster_1h
  • sentiment_weighted_total_1d
  • sentiment_weighted_4chan_1d
  • sentiment_weighted_bitcointalk_1d
  • sentiment_weighted_reddit_1d
  • sentiment_weighted_telegram_1d
  • sentiment_weighted_twitter_1d
  • sentiment_weighted_youtube_videos_1d
  • sentiment_weighted_farcaster_1d
  • sentiment_weighted_total_1d
  • sentiment_weighted_total_change_1d
  • sentiment_weighted_total_change_7d
  • sentiment_weighted_total_change_30d