Changelog
Major updates and version history
2026-05-21v1.25
Site polish & navigation consistency
- New: Subscribe call-to-action now appears on every content page (Models, Disagreement, Accuracy, Earnings, Indices, Model detail, Methodology) instead of only the dashboard, signals index, and signal detail. Same compact pattern everywhere — one click jumps to /signals#subscribe
- New: Methodology is now in the 'Switch page' dropdown so you can jump straight into the DCF documentation from anywhere on the site (it was previously only reachable from the dashboard tab bar and footer links)
- New: Model name in each company-page model card now links to that model's detail page with a small arrow — readers can jump from a company directly into the model behind a specific estimate
- New: /models hub got an ItemList JSON-LD that points search engines and AI agents (SGE, Perplexity) at all five /model/[id] subpages. Header also gained a date chip and a model count chip so the freshness signal isn't only on the dashboard
- Improved: Article detail pages (/signals/[id]) now have a proper h1 at the top instead of the article title being only an h2. Better for SEO on dedicated article URLs that already carry NewsArticle JSON-LD and per-article OG images
- Improved: Article detail pages also gained the 'Switch page' dropdown — readers landing on an article from a Twitter share can now jump to the rest of the site instead of only back to the signals index
- Improved: /disagreement and /indices used to have two stacked footer rows — a stats line ('N companies · date') above the disclaimer footer. Moved the freshness chips into the page header where every other content page shows them, so the disclaimer footer stands alone
- Improved: Heading structure cleaned up on the dashboard and on the company, earnings, and signals pages. Several content sections (Daily Brief, Movers/Top3/Flop3, Model Breakdown, Reported/Upcoming, etc.) were styled as headings but rendered as plain divs — now they're proper h2 or h3 elements. Better for screen readers and document outline
- Improved: Daily Brief's 'Generated by Claude' attribution at the bottom of the brief was hard to read (10 px, 50 % opacity) — bumped to 11 px and 65 % so the AI source is visible without dominating
- Fixed: Daily pipeline error 'window function calls cannot be nested at character 956' which had been logging silently every weekday during the streak-detection step. Refactored the SQL so the inner LAG runs in its own CTE before the outer running SUM. Semantics unchanged
2026-05-16v1.24
AI-citable company pages and Weekend Read #8
- New: Dataset schema.org JSON-LD on every /company/[ticker] page with PropertyValue entries for AI consensus target, spot price, gap, model agreement, dispersion sigma, analyst consensus, analyst count, and the AI-vs-analyst difference. AI agents (SGE, Perplexity, AI Overview) can now extract structured numbers directly without parsing the page
- New: Per-ticker descriptive sentence above the page intro — '5 AI models estimate TICKER median target X (gap vs spot Y, model agreement Z). Analyst consensus A (N analysts). Experimental — not investment advice.' Bilingual; same numbers we already display, now in prose form an LLM can quote verbatim
- New: Weekend Read #8 'Which AI is best at investing?' — bilingual ~1500-word essay covering each model's behavioural wins, the effective-N herd finding (1.21 in March → 1.10 in May, with the engine-cap caveat that 19 % of company-days have all five models forced to the same number), and the AR(1) anti-anchoring discovery (all five LLMs negative, opposite of the +0.3 to +0.5 anchoring documented in human analysts). Three explicit caveats up front: calibration is WIP, backtest horizon needs months, and the panel is mid-cost tier not each provider's flagship
- Improved: Signals article markdown parser now silently skips horizontal-rule lines (---) and body-level h1 (# Title) — '##' headings provide enough section structure and the page-level title is shown above the article. Fixes every weekend-read past and future
2026-05-12v1.23
Expandable Charts
- New: Small expand button on every chart in the unified design system (bias index, accuracy, indices ACDI/ADI/ANM, disagreement map, TP history). One click opens the chart in a portal modal up to 1300 px wide so you can read it close up. ESC or backdrop click to close, body scroll locks while open
- Polish: Expand button placement adapts to layout — bottom-right on desktop where the legend is centered, top-right on mobile where the legend wraps to the bottom edge. Avoids covering chart content on either form factor
- Polish: Disagreement Map shows only the scatter chart and legend in the expand modal — the quadrant tickers stay in the inline view as supporting context, not duplicated in the enlargement
- Polish: Bias index zoom widget (− All +) shrunk to match the 7d/14d tab buttons. X-axis date labels at the right edge no longer collide when the second-to-last natural tick lands within striking distance of the forced final tick
2026-05-08v1.22
Unified Chart Design System
- Improved: Bias index chart redesigned (originally shipped 6.5.) — no dots, thinner 1.5 px lines, leader labels at the right edge so you can read which line is which without checking the legend, dynamic Y-axis (no wasted bottom space), +/− zoom (7d/14d/30d/60d/All), hover crosshair shows all 5 models on the same date in one tooltip, click a line or its legend to focus that model (others dim to 0.15), tap empty space to reset, mobile-anchored tooltip in the bottom-right with touch support
- Improved: Accuracy chart on /accuracy and /model/[id] redesigned to match the bias chart — no dots, thinner lines, hover crosshair shows all 5 models for the same date in one tooltip, click a line or its legend to focus that model (others dim), tap empty space to reset
- Improved: Company-page TP history chart now supports click-to-focus on individual models (line goes 2.4px and others dim to 0.15) — spot, consensus, and the bear/bull band stay at full opacity as reference context
- Improved: Index charts on /indices (ACDI / ADI / ANM) — dots removed, hover crosshair with viewport-clamped tooltip showing the index label and value, touch-friendly
- Improved: Disagreement Map tooltip now stays inside the viewport on small screens and supports tap on mobile (anchored to the chart's bottom-right)
- Internal: Extracted shared chart helpers (date/percent formatters, Y-axis tick picker, leader-label collision solver) and a reusable crosshair-tooltip component, used by all five chart types — keeps style and behaviour identical across the site
2026-05-03v1.21
Models Hub & Weekend Read #8
- New: /models hub page — side-by-side scorecard for all 5 AI models, with personality cards, cross-model bias chart, and the stocks they disagree about most. Tabbar entry added
- New: Weekend Read #8 — 'Same prompt, five answers' — a five-clue investigation into why identical prompts produce divergent answers across models, even after heavy standardisation. Bilingual
- New: /models-performance API endpoint — composite scorecard data for the models hub
2026-04-29v1.20
Easier Navigation & Stronger Sharing
- New: Company picker dropdown on company page header — jump from one stock to another without going back to dashboard
- New: 'Switch page' dropdown on Indices/Earnings/Accuracy/Disagreement/Signals/About — same lateral navigation pattern site-wide
- New: Per-company social share images — when you share /company/META, LinkedIn/X show a rich card with ticker, AI estimate, gap, and agreement
- New: Business summary on company pages — short description of what the company does (placed below fundamentals)
- Improved: Whole row clickable on dashboard companies table — not just ticker name
- Improved: Earnings page — company names clickable, redundant arrow column removed
- Improved: Disagreement Map quadrant tickers now link to company pages
- Fixed: Sitemap was using wrong API field, never reflecting actual universe — now updates correctly
2026-04-28v1.19
Signal Purity & Index Interpretations
- New: Raw vs calibrated agreement on company pages — distinguishes genuine model consensus from cap-induced agreement (when engine caps pulled estimates together). ⚠ flag when agreement is partly artificial
- New: Plain-language interpretation under each AI Market Pulse card (ACDI, ADI, ANM) — one sentence explaining what the value means
- New: Top-3 disagreement badge on company page header — surfaces stocks where AI models genuinely can't agree
- Fixed: Trading days count now consistent between dashboard and indices page
- Fixed: Methodology page now consistently labels engine v7 (was v6 in subtitle)
2026-04-28v1.18
Reverse DCF & Earnings Hit Rate
- New: 'What Would Need to Be True?' on company pages — solves backwards what assumptions (CAGR, margin, WACC) the current stock price implies, side by side with AI consensus
- New: Earnings hit rate summary on /earnings — total reported, converged/diverged/neutral counts, directional accuracy at a glance
- New: Stock 3d column in earnings reported table — 3-day post-earnings reaction (more stable than 1-day per Bernard & Thomas 1989); when 1d and 3d directions disagree, both are shown
2026-04-27v1.17
Today's Signals & Earnings Reactions
- New: Today's Signals on dashboard — daily prioritized list of the most interesting moves (earnings, unanimity, big gaps, movers)
- New: Earnings reactions — see whether stock moved toward or away from AI estimate after reporting (converged/diverged with 1-day price reaction)
- New: Weekend Read #6 — 'Do AI Models Think or Repeat Patterns?' analyzing round-number bias, model correlation, and herd behavior
- New: Each Signals article now has its own page and URL for sharing
- Improved: Dark mode readability and visual hierarchy across the dashboard
2026-04-16v1.16
AI Earnings Calendar
- New: /earnings page — see how AI models position before earnings and react after. Upcoming dates, AI gap, model agreement, EPS/revenue estimates
- New: Earnings data in pipeline — next earnings date, analyst EPS and revenue estimates fetched from Yahoo Finance daily
- New: Dashboard navigation link to Earnings page
2026-04-14v1.15
Page Intros & Research Background
- New: Page intro cards — dismissible first-visit intro on 6 pages explaining what each page shows
- New: Research Background section on about page — academic context with linked references
- Fixed: Daily Brief now works on weekends and holidays
- Fixed: Tooltip overflow scroll eliminated across all pages
2026-04-11v1.14
Weekend Read #5 & Frontend Audit
- New: Weekend Read #5 — 'How Often and How Much Do AI Models Change Their Minds About Stocks?' with temporal variance analysis per stock and sector
- Improved: Disclaimer footer added consistently to all content pages
- Improved: Full bilingual coverage — remaining hardcoded strings moved to translation system
- Fixed: Dashboard crash prevention when API is unavailable
2026-04-08v1.13
Onboarding & Weekend Read #4
- New: 4-step guided onboarding — 'Start here' now opens an interactive walkthrough on the dashboard instead of linking to FAQ
- New: Weekend Read #4 — 'One Month In: What 2,760 AI Valuations Taught Us' with XOM/Iran case study and model personality analysis
- Onboarding highlights model personalities (Claude conservative, GPT volatile, DeepSeek reliable) and AI vs Analyst Disagreement Map
- Fixed: Daily Brief pipeline bug (PostgreSQL UPDATE syntax, JSONB cast) — briefs now generate correctly
2026-04-02v1.12
AI Daily Brief & Smart Alerts
- New: AI Daily Brief — Claude-generated 2-3 sentence narrative summary on dashboard, updated with each pipeline run
- New: Narrative alert types — quadrant changes ('NOKIA moved to Consensus'), 5-day streaks, and Top 3 entries
- New: Weekly email cap — max 2 alert emails per subscriber per week, prevents inbox fatigue
- New: Manual editorial notification — notify_editorial.py script to trigger subscriber emails for new articles
- Improved: Alert thresholds raised — consensus shift 15→20%, disagreement 40→50%, unanimous gap 20→25%
- Improved: Disagreement Map ghost dot toggle — cleaner legend, checkbox at end, opacity-based on/off
2026-03-31v1.11
Design System & Disagreement Map Fix
- Fixed: Disagreement Map now shows real data — X-axis changed to AI vs Analyst gap
- Unified design language across all pages: consistent tabs, buttons, badges, and hover effects
- Mobile: language switcher moved to title row, improved tab layout
2026-03-30v1.10
Disagreement Map & User Experience
- New: AI vs Analyst Disagreement Map — scatter plot comparing AI model disagreement with analyst consensus spread (/disagreement)
- New: Subscribe prompt after AI Market Pulse for easier signup
- New: Premium interest option in subscription form
- New: 3 FAQ questions linking to Methodology, Changelog, and Accuracy pages (38 total)
- New: Weekend Read #3 — 'When the Market Moves Toward AI'
- Improved: Alert thresholds raised (consensus shift 8→15%, disagreement 30→40%), bias bars added to emails
- Improved: Social sharing fixed — OG image now resolves correctly (was pointing to localhost)
- Improved: v7 engine markers on Bias Index, Indices, and TP History charts
- Fixed: Title duplicates removed from all pages, model card number overflow, ### markdown headings in signals
2026-03-24Engine v7 · Prompt v10
Pipeline Calibration & Reliability Upgrade
- Engine v7: sector-specific ROIC calibration, healthcare margin bounds widened (45%), technology margin bounds widened (55%)
- Prompt v10: dedicated sector guidance for all 10 sectors (was 3) — healthcare, technology, energy, telecom, consumer, industrials, materials
- Temperature harmonized to 0.4 for all models — enables fair comparison of model volatility
- JSON repair + retry with 5s delay: model validity improved from ~83% to ~100%
- DRY_RUN mode: safe pipeline testing without affecting production data
- Cap-induced agreement detection: distinguishes genuine model consensus from safety-cap convergence
2026-03-24
Dashboard Redesign
- New stats strip: live counters for Models, Trading Days, and Estimates replace the static trust bar
- Cleaner header: removed redundant chips (AI CONSENSUS, tickers), simplified to 4 visual rows
- Tab dividers between model tabs and navigation links for visual clarity
2026-03-22
Shareability & Navigation Polish
- Share buttons (X, LinkedIn, copy link) on dashboard, company pages, and signals — framed as AI market insights, not stock picks
- Award badge tooltips on model pages: hover to see what each badge means (EN+FI)
- Navigation consistency: methodology page now links back to dashboard (was linking to About)
2026-03-21
Data Quality, SEO & New Features
- Pipeline retry logic + JSON repair: model validity improved from 83% to 91%
- Q&A page with 35 bilingual questions across 6 categories (incl. Research & Findings)
- Currency symbols (€/$) on all price displays
- SEO: structured data (FAQPage, BreadcrumbList, NewsArticle), dynamic meta descriptions with 'disagreement' keyword
- Ticker search in companies table
- ADI (Model Disagreement) time series chart — was placeholder, now shows real data
- Shrinkage disclaimer + valid model count (X/5) on company pages
- Weekend Read #2: Claude vs GPT — Two AI Analysts Compared
- Bias Index badges clarified: 'Most Positive/Negative' with time window context
- Accuracy page info tooltip restructured with per-column explanations
- Fixed: Gap % display (×100), broken RSS feeds cleared, FAQPage schema duplicate removed
2026-03-18
UX Polish & Mobile Optimization
- Hero tagline explains the site's purpose to new visitors
- Dashboard sections are now collapsible (▾) — cleaner layout, less scrolling
- Mobile: chart sections collapsed by default, consistent card widths, tab bar split into model tabs + navigation
- SEO: case-redirect middleware (301), hreflang tags (EN+FI), sitemap now includes all 24 company pages
- Fix: Gap % on company page now displays correctly (was showing 0.4% instead of 43%)
2026-03-17Engine v6 · Prompt v9
Bayesian Calibration & Signal Architecture
- Bayesian calibration: 70% DCF + 30% analyst consensus blending reduces systematic bias
- Deterministic terminal growth per market and sector (replaces LLM guesswork)
- Tiered analyst TP caps: mega-cap US +70%/−35%, cyclical +55%/−40%, standard +50%/−40%
- AI indices (ACDI, ADI) now computed from pre-calibration DCF signal
- Forward-looking prompt: LLMs instructed to forecast, not copy historical figures
- Market-specific equity risk premium: Finland 4.5%, USA 5.0%
2026-03-08
Weekend Read & Editorial System
- Bilingual editorial articles (Weekend Read) on AI Signals page
- Dynamic sitemap, canonical URLs, SEO improvements
2026-03-06
AI Market Indices & Enhanced Signals
- Three AI indices: ACDI (valuation gap), ADI (disagreement), ANM (sentiment shift)
- Weekly AI Signals reports with trend streaks and sector rotation
- Confidence bands (bear/bull cases) on company pages
2026-03-03
GDPR, Subscriptions & Production Hardening
- Email subscriptions with double opt-in (Resend API)
- Rate limiting, ISR caching, CORS restriction
- GDPR-compliant privacy policy
2026-02-28Engine v5
Valuation Engine v5 & Model Accuracy
- ROIC-based FCF conversion, TV share cap, CapEx normalization
- Model accuracy backtesting with directional accuracy scoring
- Calibration scoring (per model, /100 format)
2026-02-20
Platform Launch
- 5 LLM models (Claude, GPT, Gemini, DeepSeek, Grok) generating valuation assumptions
- Two-stage FCFF DCF + Excess Return on Equity for financials
- Dashboard with model tabs, company pages, and bilingual UI (EN/FI)
AI Investor Barometer · Engine v6Back to dashboard
All content is generated by AI models and may contain errors. This is an experimental tool — not investment advice, research, or recommendation. Terms of Use · Privacy Policy