OG Advisory GroupOG Market Desk

OG Score Methodology

How the OG Market Desk Score is calculated — a multi-factor approach to market sentiment analysis.

Overview

The OG Score is a composite sentiment indicator ranging from -100 (extreme fear/bearish) to +100 (extreme greed/bullish). It combines 7 weighted factors that each independently assess a different dimension of market sentiment. When a factor lacks sufficient data, its weight is automatically redistributed to the remaining active factors — the score never fabricates a reading to fill a gap.

-100
Extreme Fear
0
Neutral
+100
Extreme Greed

What we publish, and what we don't

We publish every factor in the model, every data source behind it, every safeguard that protects it, and — below — every change we have ever made to how the score is computed. What we don't publish are the exact weightings, formulas, and calibration constants.

Two reasons. The calibration — tuned against months of recorded market data — is the proprietary core of the product. And a fully published parameter set is a gameable one: a score whose exact triggers are public can be manufactured. Factor-level transparency with proprietary calibration is the same standard long used by established scoring systems in finance.

Factor Breakdown

Listed roughly in order of influence. Price action and news carry the heaviest weights; no single factor can dominate the composite.

How the factors combine

  • Each factor independently produces a bounded reading, so no single input can blow out the composite.
  • Factors are combined as a weighted average. The weights are proprietary, fixed across all tickers, and every change to them is versioned in the changelog below.
  • A factor with no data drops out and its weight redistributes across the active factors — the "Active Factors" badge on each stock shows how many of the 7 contributed.
  • Momentum is computed after the other factors, from them — never from itself.

BTC OG Score

Bitcoin gets its own four-factor model on the dashboard tracker — distinct from the per-stock score above because the relevant signals are different (no sector peers, no analyst coverage, but a market-wide Fear & Greed reading).

Fear & Greed

The market-wide Crypto Fear & Greed Index, normalized to the OG Score range — the broad sentiment regime the whole asset class is trading in.

How to Read It
Greed regimes read positive, fear regimes negative; the score reflects the level itself, not a contrarian interpretation.

News Sentiment

Average tone of explicitly Bitcoin-about journalism — company press releases that merely mention BTC are filtered out, because miner and treasury PR is signal on those companies' pages, noise here. Reads live only: when an article rotates off the topic feed, it leaves the score immediately.

How to Read It
Positive when Bitcoin coverage skews favorable, negative when critical.

Price Momentum

24-hour BTC price change, normalized to the score range.

How to Read It
Green day positive, red day negative, proportional to the size of the move.

Volume

Direction-aware volume conviction, mirroring the stock factor: 24-hour volume against Bitcoin's own rolling monthly baseline, credited in the direction of the price move. Distinguishes heavy buying conviction, heavy selling pressure, thin rallies, and light selling.

How to Read It
Heavy volume amplifies whichever direction price moved; quiet volume mutes it.

Additional Signals

Divergence Detection

When the OG Score disagrees with price action by a significant margin, a divergence is flagged. Bullish divergence: price is down meaningfully while sentiment holds clearly positive. Bearish divergence: price is up meaningfully while sentiment reads clearly negative.

Signal Strength

Measures factor agreement. Strong: a clear majority of active factors agree on direction. Moderate: mixed but leaning. Weak: the factors genuinely disagree.

Missing Data Handling

When a factor lacks data (e.g., no news articles found), its weight is set to zero and the remaining factors' weights are automatically normalized. The "Active Factors" badge on each stock shows how many of the 7 factors had available data.

Data Pipeline & Resilience

Refresh Cadence

Stock quotes refresh every few minutes through the dashboard cache. Social and news data are re-warmed on multiple scheduled cycles through the day, throttled to stay inside upstream rate limits, and a daily sentiment snapshot is recorded after U.S. market close for momentum comparisons and the public validation research.

Data-Quality Safeguards

Bad data is refused, not smoothed over. Snapshots that fail integrity checks — a provider feed that desynchronizes, collapses to implausible volume, or stops updating while the underlying conversation keeps moving — are never written to history, and a confirmed-unreliable social feed is quarantined from the score entirely until it recovers, with its weight redistributed. Every write is audited nightly against what actually landed in the database.

Persistence & Fallback

Per-ticker news, social snapshots, and spike alerts are persisted with a rolling retention. When the live source is unreachable (rate limited, outage, or a freshly-listed ticker before its first refresh), the page falls back to the most recent persisted snapshot so it never renders blank. The BTC tracker is the one exception — it reads strictly live, so rotated-off articles disappear from the score immediately.

Spike Alerts

Each daily refresh runs a delta-detection pass against the rolling history. For every tracked metric (mentions, creators, engagements, social dominance) the current value is compared against 7-day, 30-day, and 90-day averages; a significant deviation fires an alert that shows on the ticker's social panel. Tickers without enough baseline history are skipped rather than guessed at.

Sector classification changes

A company is placed in AI/HPC if it operates AI or high-performance computing capacity, has signed an AI/HPC customer agreement, or has a credible AI/HPC development or conversion program documented in its filings or company releases. Current revenue mix alone does not decide placement.

Live pages use the new membership from 2026-10-21. The first daily snapshot recorded under it is 2026-10-22 (21:00 UTC).

TickerChangeBasis, from company disclosures
AIBAdded to AI/HPCHas a binding 12-year agreement with Nebius for 50 MW of critical IT capacity at its South Carolina campus, announced September 30, 2026, and ended Bitcoin-mining hosting in June 2026. Formerly BlockchAIn Digital Infrastructure.
JROOFAdded to AI/HPCDeveloping gas-powered AI data-center campuses in Oklahoma through a joint venture with Comstock Holding Companies, which is pre-revenue. Most current revenue comes from oil and gas production. Tracked by its US over-the-counter symbol; the primary listing is TSX Venture: JEV.
MARABTC Miners → AI/HPCOwns Exaion, an operating AI cloud business that is not yet financially material to MARA’s results, and is developing AI/HPC data-center sites (Long Ridge, Ohio; Matagorda, Texas; and a venture with Starwood). No lease has been signed at these development sites.
BGDEBTC Miners → AI/HPCDeveloping an AI/HPC campus in Hood County, Texas through a joint venture, which has a non-binding letter of intent with a prospective customer for up to 17 MW. A letter of intent is not a contract, and the company states the potential revenue is not contracted. Current revenue comes from Bitcoin-mining colocation and energy management.
DRKBTC Miners → AI/HPCPlans to convert its roughly 50 MW of energized sites, which currently support Bitcoin mining and hosting, to AI inference hosting, and holds an option on a greenfield site. No AI/HPC contracts have been announced.
CANGBTC Miners → AI/HPCIts subsidiary EcoHash has begun early commercial GPU compute services for an initial customer at a converted 3 MW section of its Georgia facility. No long-term customer lease has been announced.
  • BTC Miners now has 4 companies; AI/HPC now has 25 companies.
  • Sector momentum, the OG Score factor that reflects how a company's sector peers moved that day, uses the new groups for every company in BTC Miners and AI/HPC. See the changelog below.
  • Snapshots recorded before the first new snapshot keep the scores and sector averages they were recorded with. Sector charts on the Compare page mark the first new snapshot once it is confirmed.
  • Companies remaining in BTC Miners share a smaller peer group, so their sector reading can move more from day to day.
  • The week-over-week sentiment-momentum comparison spans the change for the first seven recorded sessions.

OG Market Desk scores describe sentiment and market data. They are not investment advice.

Methodology Changelog

current: v1.5.0

Every change to how the score is computed is recorded here, in plain language, when it ships. Entries marked “backfill” were reconstructed from commit history when versioning was introduced. How well does the score line up with what happens next? See the validation research →

  • 2026-10-21v1.5.0

    Three changes take effect together. Missing market data is now treated as unavailable instead of as a genuine zero: when no source returns a quote for a stock, or returns a price without today's move or volume, the affected factors (price momentum, volume signal and 52-week position) sit out under the existing missing-data rule rather than reading the gap as a flat, zero-volume day at a price of zero, and sector momentum and sector averages are computed from the stocks whose move is actually known. A real 0% move is still a real 0%. Sector classification: AIB and JROOF are added to AI/HPC, and MARA, BGDE, DRK and CANG move from BTC Miners to AI/HPC under a broadened AI/HPC definition (see Sector classification changes above), so sector momentum uses the new peer groups for every company in both sectors. News attribution: an article about Strategy or Strive is attributed to the common stock, not to its preferred securities (STRC, SATA), which are tagged only when an article names them. The formula and its constants are unchanged, and historical scores are unchanged.

    Why: Each change corrects what the score is fed, not how it is computed, and they take effect together so the score history has one boundary rather than three. A missing quote was being scored as a price of zero; sector peer groups did not reflect companies' documented AI/HPC programs; and issuer headlines were counted again on preferred securities.

  • 2026-09-21v1.4.1

    Corrected news-sentiment grading and eligibility so completed neutral grades are retained and included in the news factor while genuinely ungraded articles remain excluded. A score of 0 previously meant both "graded, neutral" and "not graded yet", so a considered neutral verdict was discarded: a stock whose recent coverage was uniformly neutral could show "No related news" beside its own headlines, and where only some articles carried a reading the label counted every related article rather than the graded ones. Articles now record who established their sentiment, so the two cases are distinguishable. The formula, factor weights, renormalisation and sector membership are unchanged, and historical scores are unchanged.

    Why: A neutral reading is information. Discarding it removed the news factor entirely from much of the universe and redistributed its weight to the remaining factors, moving published scores without any of the underlying data having changed.

  • 2026-07-16v1.4.0

    News Sentiment coverage fix: the nightly snapshot now scores the same article set ticker pages already use (adding the pre-graded per-ticker news feed to the wire/RSS pool), and everywhere the factor is computed, only articles published in the last 72 hours count toward it. The news tab still displays 30 days; the score reads the current narrative. No formula changed — the factor was active on roughly 4 of 67 tickers per day before this; coverage rises sharply from today.

    Why: A news sentiment factor that silently sat out for 60+ tickers a day measured nothing; and month-old articles should inform research, not today's score.

  • 2026-07-07v1.3.1

    Nightly history snapshots now include the Social Sentiment factor. It has been live on the site since May 7, but the recording job was still passing no social data, so daily history rows silently redistributed its weight. No factor math changed.

    Why: Recorded history should reflect the same score the site computes; analyses of factor history should segment at this date.

  • 2026-06-12v1.3.0

    Methodology versioning introduced; daily snapshots now record the version that produced them. No factor math changed.

    Why: So score history can be segmented by methodology era and the validation page never mixes eras silently.

  • 2026-06-02v1.2.1 (backfill)

    Per-factor scores and weights began being recorded with each daily snapshot. No factor math changed.

    Why: Instrumentation for measuring each factor’s predictive value before considering any weight changes.

  • 2026-06-01v1.2.1 (backfill)

    Sentiment Momentum factor repaired after a week of missing baselines (May 26 – June 1).

    Why: A data gap, not a design change — noted so history from that week is read with care.

  • 2026-05-26v1.2.0 (backfill)

    Six-factor base score began being recorded alongside the total, enabling week-over-week Sentiment Momentum.

    Why: Momentum needs a stable baseline that excludes itself.

  • 2026-05-07v1.1.0 (backfill)

    Social Sentiment factor enabled, backed by LunarCrush (X + Reddit), with low-volume scores shrunk toward neutral.

    Why: A handful of posts shouldn’t swing a stock’s score; shrinkage keeps thin social data honest.

  • 2026-02-19v1.0.0 (backfill)

    Daily score snapshots began. Seven-factor model with the published weights.

    Why: Start of the recorded history used everywhere on this site.