Shared names
One versioned registry gives every channel, region, period, KPI and cost basis a fixed ID, and models map onto it through a recorded lookup rather than name matching.¶
Media tree. Channel (Paid Social) > Platform (Meta) > Property (Instagram) > Placement (Reels). Objective, buying type, creative format, funnel stage and audience are tags, so “Meta, prospecting” needs no separate entry.¶
Other registries. Regions (country, state, DMA, custom test groups, commuting zones for spillover buffers); time (grain, week start, fiscal calendar, validity window); KPIs (what is counted, unit, source system); costs (currency, net or gross, fees); media volume (spend, impressions, GRPs, clicks, with units).¶
Time profile. Instants are RFC 3339 strings in UTC with the suffix Z and millisecond precision. Calendar dates are ISO 8601 full-dates, interpreted in the IANA time zone declared by the scope’s time registry entry. Every period (applies_to.period, validity windows, test flights) is half-open, [start, end). A row at weekly or coarser grain is labelled by the date its period starts, and the time registry entry declares week_start as an ISO weekday (1 = Monday). Adapters MUST convert sources that label by week ending and MUST record the conversion as a logged step. applies_to carries the time registry entry ID, and G-EST-02 compares it like any other scope member.¶
Mapping rules¶
- Each model lists the media it actually estimated. A versioned lookup (
mapped_by) maps those onto the registry and is reversed on every output, following modeling-api’sdata.bindpattern.¶ - Rolling up (Reels + Stories to Instagram) follows a stated aggregation rule and, for Tier A, is computed per draw.¶
- Splitting down (Meta to placements) needs a recorded assumption such as spend share. Any result that depends on a split carries a
split_assumptionwarning, and a calibration that relies on one routes to review (G-CAL-03).¶ - Retired entries keep their IDs and point to their replacement; vendor spellings live as aliases.¶
The registry owner, turnaround for a new placement and the default split rule are open (section 24).¶