Methodology

Overview

Knovolo assesses event plausibility using geospatial context, multi-source evidence, and temporal dynamics. This page documents how our intelligence infrastructure works - not to showcase complexity, but because systematic analysis requires transparent methodology.

Core Architecture

Three-Layer Processing Pipeline

Sources Layer

Analysis Layer

Intelligence Layer

Geospatial Foundation

H3 Hexagonal Indexing

Knovolo uses Uber's H3 hierarchical hexagonal indexing system as its primary spatial reference framework. All geospatial data is normalized to H3 resolution 7 (average hexagon area ≈ 5.16 km²), providing a consistent global spatial unit that balances geographic precision with computational efficiency.

Hexagonal indexing is used to avoid directional bias, edge effects, and scale inconsistencies inherent in square-grid or administrative-boundary-based systems.

Hex-Level Data Integration

Each H3 hexagon functions as a spatial container for heterogeneous public datasets. Data is aggregated, normalized, and stored at the hex level, enabling direct comparison and composability across sources.

Indexed attributes may include:

All attributes are stored with explicit temporal references where applicable.

Regional Aggregation

H3 hexagons aggregate to administrative regions:

Hexagons → Neighborhoods → Districts → Cities → States → Countries

For any region (e.g., 'Berlin'), we:

Example: A 'political violence' prior aggregates infrastructure density, government presence, and historical patterns across all constituent hexagons in the applicable area.

Plausibility Scoring Model

Bayesian Framework

Event plausibility combines multiple evidence sources:

logP(EventtLocation)=zcat(Eh)+δkeλk(tte)+WklogP(signalsEvent)+logPHMM(statethistory)\log P(\text{Event}_t | \text{Location}) = z_{\text{cat}}(E|h) + \sum \delta_k \cdot e^{-\lambda_k(t-t_e)} + \sum W_k \log P(\text{signals} | \text{Event}) + \log P_{\text{HMM}}(\text{state}_t | \text{history})

Component Breakdown

1. Geospatial Prior: zcat(Eh)z_{\text{cat}}(E|h)

Base probability for each event category in this location. Derived from:

Event category specific data. Category-specific examples:

Historical baseline integration:

zcat(Eh)=zgeo(Eh)+αmax(0,zhist(Eh))z_{\text{cat}}(E|h) = z_{\text{geo}}(E|h) + \alpha \cdot \max(0, z_{\text{hist}}(E|h))

Where:

Principle: Novel events aren't penalized by lack of precedent.

2. Temporal Context: δkeλk(tte)\sum \delta_k \cdot e^{-\lambda_k(t-t_e)}

Ongoing situations that modify current event likelihood. Context modifiers:

Exponential decay: Recent contexts weigh more heavily than distant ones. A heat wave from 2 days ago has more impact than one from 2 months ago.

Example: Berlin heat wave (started 5 days ago) δfiree0.15=δfire0.61\rightarrow \delta_{\text{fire}} \cdot e^{-0.1 \cdot 5} = \delta_{\text{fire}} \cdot 0.61 \rightarrow Wildfire signals get 61% boost from this context

3. Multi-Source Evidence: WklogP(signalsEvent)\sum W_k \log P(\text{signals} | \text{Event})

Weighted signals from multiple source types. Source weights (WkW_k) calibrated by:

Source types:

Social Media (WsocialW_{social}):

News Outlets (WnewsW_{news}):

Official Sources (WofficialW_{official}):

Signal likelihood calculation:

P(signalEvent)=f(geographic_clustering,temporal_clustering,source_diversity,content_consistency)\begin{aligned}P(\text{signal} | \text{Event}) = f(&\text{geographic\_clustering},\\&\text{temporal\_clustering},\\&\text{source\_diversity},\\&\text{content\_consistency})\end{aligned}

Example: 15 social media signals + 2 news alerts + 1 official statement → Weighted evidence score → Higher confidence than 100 bot-like social signals alone

4. HMM State Tracking: logPHMM(statethistory)\log P_{\text{HMM}}(\text{state}_t | \text{history})

Hidden Markov Model tracking situational evolution. State space examples:

Transition probabilities: Learned from historical sequences of how situations typically evolve in specific contexts.

Why this matters: A 'riot' signal has different plausibility if current state is:

Regional variation: State transition probabilities vary by location. Protest → police response → escalation has different probabilities in different countries/cities based on historical patterns.

Verification Pipeline

Four-Stage Assessment

Events progress through increasing confidence thresholds:

Speculative (SPEC-EVT)

Plausible (PLAUS-EVT)

Confirmed (CONF-EVT)

Supported (SUPP-EVT)

Entity Intelligence

Event-Scoped Extraction

Knovolo distinguishes between public entities and private individuals in its entity handling methodology. Public entities - including governments, corporations, NGOs, international bodies, and recognized public officeholders - may be represented through entity cards when they can be resolved against authoritative public records (such as Wikidata or comparable structured public registries), allowing aggregation and relationship mapping across events at an institutional level.

Private individuals are never represented as identifiable entities; references to non-public persons are retained only in anonymized, non-identifying form (e.g. '50 casualties,' 'local residents') for event context. These anonymized references may persist as aggregate descriptors but are not searchable, not linkable across events, and not attributable to specific individuals. Relationship mapping is strictly limited to event-derived, non-personal associations and explicitly excludes personal relationships, social networks, attendance patterns, or behavioral profiling, in line with data minimization and purpose limitation principles.

Entity types:

Public Entities & Organizations (tracked IF a Wikidata entity or authoritative public record exists):

Private Individuals (minimal tracking):

Relationship Mapping

Relationship types:

NOT tracked:

Principle: Institutional accountability, not individual surveillance.

Coverage Analysis

Outlet Monitoring

We track which sources cover which events and how they report them. Metrics:

Bias scoring:

Pattern detection:

Query Interface

Query Interface – Knovolo Query Language (KQL)

Purpose: Structured syntax for filtering events, entities, and relationships. Designed to scale to advanced analytics over time, but initially limited to core operations.

Core Query Commands (MVP Phase):

Notes:

Extensive documentation on the commands are available with a subscription to Knovolo Intelligence Terminal.

Data Sources

News & Media

RSS/Atom Feeds (~200 outlets): Major international news organizations, regional outlets, and specialized publications.

News APIs:

Social Media:

Future expansions: Reddit, YouTube, Telegram, and dark web monitoring.

Public Records

Government & Regulatory:

Official Statements:

Geospatial Data

Satellite Imagery:

Infrastructure:

Context Data:

Additional geospatial indicators will be added later.

Privacy & Ethics

Design Principles

What We Don't Build

GDPR Compliance

Limitations & Biases

Known Limitations

Geographic Bias:

Source Bias:

Event Type Bias:

Temporal Lag:

What We're Working On

Validation & Accuracy

How We Test

Historical Event Validation: Test model on known past events to measure:

Novel Event Testing: Ensure model doesn't suppress unprecedented events (climate shifts, new technologies, emerging threats).

Bias Auditing: Regular analysis of coverage patterns to detect and correct systematic biases.

Confidence Score Calibration

We calibrate confidence scores so that:

Validated against historical data and continuously adjusted.

Future Development

Planned Enhancements

Data Sources (2026):

Analysis Capabilities:

Historical Integration:

Technical Details

Infrastructure

Backend: Rust (performance, safety) Database: PostgreSQL + PostGIS (geospatial queries) Search: Meilisearch + pgvector (semantic search) Processing: Kafka (stream processing) Storage: S3-compatible object storage (satellite imagery, archives)

Scale:

Questions?

This methodology is a living document. As we improve our systems, we'll update this page to reflect current capabilities.

For technical questions or clarifications: luis@knovolo.com

For access to full technical documentation: Request Intelligence Terminal access

Last updated: 3. January 2026

Copyright © 2026 Knovolo. All Rights Reserved.

Terms of ServicePrivacy PolicyCookiesPreferencesCopyright Policy