CommoVision

See the future in real time

← All tables

gold_well_forecast_provenance

The audit trail for every well's forecast: one row per well per product stream per forecast generation, recording the cohort the well belongs to, the winning forecast method, the training cutoff, and when it was generated. Join from the forecast months when you need to know which model produced a number.

Access tier: portal Portal. These rows are well-level or producing-unit-level data, or our modelled output at cohort or grid grain. They open with a Portal, Pro or Enterprise plan. The website shows aggregates built from them, never the rows.
Primary key: well_id, stream
Region codes: ab, ak, al, ar, argentina, bc, brazil, ca, co, gom, ks, la, mb, mexico, mi, ms, mt, nd, nm, oh, ok, pa, pacific, sk, tx, ut, wv, wy

Columns

ColumnTypeNullableDescription
well_id string no Join key to the well register (gold_wells). Part of the primary key together with stream: one row per well per stream per generation.
stream string no The production stream this row's forecast covers: oil or gas. Part of the primary key: a dual-product well has one provenance row per stream. Values: oil · gas.
atom_id_hash string yes Identifier of the cohort the well was forecast under (opaque 12-character code). NULL for wells that fall outside any cohort (the data-quality fallback path).
champion_method string no The method that produced this forecast: a decline-curve fit (e.g. arps_hyperbolic) or a machine-learning model (e.g. lgbm_ts_tweedie_monotone, catboost_ts_tweedie_monotone). A double-colon suffix qualifies the method with its variant or sub-path (e.g. lgbm_ts_tweedie_monotone::reanchored, type_curve_approx::in_cohort_terminal). Two reserved prefixes, ml_pending:: and ml_unsupported_serving::, would mark a serving fallback (the cohort's winning model is a machine-learning method but this well's delivered numbers fell back to a decline-curve fit; forecast_tier still reads champion). Neither appears in current data.
forecast_tier string no How well-specific the model behind this forecast is, from most to least specific: champion = the backtested winning method for the well's own cohort; type_curve_approx = an approximate forecast from a cohort type curve, used where the well cannot carry its own model (lower confidence: treat as a badge, not a per-well fit); parent_cohort = a type curve from the cohort's parent pool; region_analog = a type curve at region x trajectory x stream level; per_well_dca = the well's own decline-curve fit; cross_region_analog = a type curve borrowed from an analog region (disabled pending a passing backtest: not present in current data); sub_region_formation = reserved for a future serving change (not emitted). Values: champion · parent_cohort · region_analog · sub_region_formation · per_well_dca · cross_region_analog · type_curve_approx.
champion_cutoff int16 yes The training-history cutoff, in months, whose winning method produced this forecast. Chosen per well by age: short-history wells get a short-cutoff model, so wells in the same cohort can carry different cutoffs. NULL for the type-curve fallback tiers (parent_cohort / region_analog / cross_region_analog): no cutoff drove those forecasts.
well_age_months_at_forecast int16 no Number of producing months the well had when this forecast was generated. An audit signal: re-forecasting the well later may select a different model as it ages.
recently_inactive boolean yes Whether the well had effectively stopped producing this stream at forecast time: it produced in at most one of its most recent three reported months. For such wells the forecast is an expectation that assumes partial resumption, not a claim the well is actively producing; treat the near-term numbers as scenario-weighted. NULL when the well has fewer than three reported months of history.
generated_at timestamp_utc no UTC timestamp when this forecast was computed: the forecast's "as of", and the way to detect a stale forecast.

How these numbers are built is on methodology; the machine twin of this page is data-dictionary.json.