Curated external data

The outside world, already joined to your data.

Weather and climate, news and events, stocks and commodities, macroeconomics. RootCause reads the entities, locations and time grain in your ontology, then joins external context onto them on the same three keys.

See the source catalog
Foundational Ontology suggestionsStore performance · weekly by site
Weekly store performance with external columns appended by RootCause
store_idStringlocationCategoryfiscal_weekDateTime+ temp_fNumber99% join coverage+ energy_priceNumber97% join coverage+ cpi_yoyNumber100% geography coverage+ event_riskCategory93% entity coverage
Store 147Denver2026-W249641.203.1elevated
Store 202Austin2026-W2411238.752.8low
Store 314Seattle2026-W249233.103.4low

Every appended column joins on the keys the ontology already resolved: entity, time and location.

Weather + climate99% join coverage
Temperature explains part of your store-level demand variance.

Hourly observations resolve to each site, then roll up to the weekly grain your sales already use.

entitytimelocation
scanning catalog for compatible context
The problem this removes

Aligning external data is where the months go.

Weather data is easy to buy. Making it usable takes a quarter. Your sales are weekly by store, the feed is hourly by station, the nearest station is eleven miles from the store, and the two tables share no key.

Every join is a decision. Which station represents this site. How hourly readings roll up to a fiscal week. Which region a national indicator belongs to. Made in a notebook, those decisions stay in that notebook, and the next team makes them again.

RootCause maintains these sources and resolves them against your ontology on entity, time and location. Station to site. Hourly to weekly. Country to region. Ticker to supplier.

Alignment happens once, centrally, and every later analysis inherits it.

What a weather feed looks like on arrival
Sales warehouseWarehouse
store_id
fiscal_week
net_sales_usd
no shared key
Weather observationsExternal
station_id
observed_at
temp_f

One table counts weeks by store. The other counts hours by station. Every question that touches both starts with somebody deciding which station stands in for which store.

The catalog

Four domains, kept current for you.

Each domain lands as typed columns on entities you already have, resolved on entity, time and location.

01

Weather and climate

Observed history and forward outlook, resolved to the coordinates of each site and rolled to the grain your sales already use.

Columns it adds
  • temp_fNumber
  • precip_mmNumber
  • severe_eventCategory

Used for Demand planning, logistics, energy use, footfall.

02

News and events

Events resolved to the companies and places in your ontology, so a story about a supplier attaches to the supplier record.

Columns it adds
  • event_typeCategory
  • entity_idString
  • published_atDateTime

Used for Supplier risk, disruption monitoring, competitive tracking.

03

Stocks and commodities

Price and volume series aligned to the inputs and counterparties already present in your own tables.

Columns it adds
  • close_priceNumber
  • volumeNumber
  • fx_rateNumber

Used for Input costs, margin pressure, supplier health.

04

Macroeconomics

Standard indicators mapped onto the geographies your ontology already carries, at the hierarchy you report on.

Columns it adds
  • cpi_yoyNumber
  • policy_rateNumber
  • region_codeCategory

Used for Demand outlook, pricing, market entry.

Analysis-ready

External data arrives as columns on your own entities.

Buying a feed leaves you with a feed. You still resolve its geography to yours, reconcile its calendar to yours, choose how to move between grains, and rebuild that logic in every downstream model.

Foundational Ontologies land on the entities you already have. The resolution decisions are made, documented and versioned. When an analyst or an agent asks whether last quarter's shortfall tracked with regional temperature, the join already exists.

Buying an external data feed compared with Foundational Ontologies
Buying a feedFoundational Ontologies
ContractingPer vendor, per domainIncluded
Geographic resolutionYour team builds itResolved to your sites
Temporal alignmentYour team builds itResolved to your grain
Entity linkageUsually absentResolved to your records
Availability to agentsNeeds custom toolingImmediate, through the ontology

The same week shows up in both series.

Pick a site. Its weekly sales and the temperature observed at its resolved station are drawn on the same axis, because they are already stored against the same entity, week and place.

Weekly sales and observed temperatureStore 147 · Denver · example series
Your sites, resolved stations
sitestationKDEN · 11 mi from store 147
weekly sales indexobserved temperature °F
same three keys, no join writtenW24 · 96°F · sales index 140
W18W20W22W24W26W28W30
entity

KDEN resolved to Store 147

station 11 mi from the site

time

Hourly observations rolled to fiscal week

the calendar your reports already use

location

Grid cell resolved to Mountain

the hierarchy your ontology already uses

The same week, without the join

The band is what a model expected from internal history alone. The dashed line is what store 147 actually sold. Week 24 sits outside the band and stays unexplained until temperature is joined to the same rows.

expected from internal historyactual sales
Governance

Licensed, versioned and attributed.

Every source carries provenance, license terms, update cadence and version history. Answers that draw on external data cite which source and which version produced them, the same way answers over your own data do.

Where this goes next

External context gives a simulation something to vary.

A model built only on internal data can describe what your business did. Add climate, commodity and macro context and the conditions you never controlled enter the same graph as the levers you do control.

Foundational Ontologies

Name the outside factor you have always suspected.

Tell us which external driver you think moves your numbers. We will join it to your data and show you the series.