Skip to main content

Forecast parameters

Forecast parameters


1. Integration overview

Dataset Name: Forecast Parameters
Secure View: FORECAST_PARAMETERS_SV
Delivery Mechanism: Snowflake Secure View via Private Share
Update Pattern: Immutable / Append-Only
Export Trigger:

  • User-triggered from ComboCurve UI
  • Triggered via ComboCurve Export v2 (Snowflake export)

Data Retention: 30 days


2. Business context (Oil & Gas Reservoir Engineering)

The Forecast Parameters dataset contains the full decline curve parameterization used to generate production forecasts for oil and gas wells.

This data represents:

  • Decline curve model configuration (Arps Hyperbolic → Exponential)
  • Type curve application logic
  • Risk adjustments
  • Phase-level forecasting (Oil / Gas / Water / Custom Stream)
  • Estimated Ultimate Recovery (EUR)
  • Forecast segment definitions

4. Expected record uniqueness

The dataset is append-only and may contain multiple exports of the same forecast.

The expected uniqueness constraint is:

(FORECAST_EXPORT_ID, FORECASTED_BY)

Each export batch is uniquely identified by FORECAST_EXPORT_ID.


5. Client access pattern

Query the secure view directly:

  • Primary access object: FORECAST_PARAMETERS_SV
  • Typical filters: FORECAST_EXPORT_ID, FORECAST_ID, WELL_ID, FORECASTED_ON, PHASE

Example:

SELECT *
FROM SHARED_DATABASE.FORECAST_PARAMETERS_SV;

Recommended filters:

  • FORECAST_EXPORT_ID
  • FORECAST_ID
  • WELL_ID
  • FORECASTED_ON
  • PHASE

6. Full schema definition (client-facing secure view)

Below is the schema for FORECAST_PARAMETERS_SV, grouped into data categories for easier consumption.

6.1 Forecast & project metadata

ColumnData TypeDescription
PROJECT_NAMEVARCHARHuman-readable project name
PROJECT_IDVARCHARComboCurve project identifier
FORECAST_NAMEVARCHARForecast case name
FORECAST_IDVARCHARUnique forecast case ID
FORECAST_EXPORT_IDVARCHARGUID of export job
STATUSVARCHARForecast approval status
SUB_TYPEVARCHARForecast creation method
STREAM_SCOPEVARCHARProject or company stream

6.2 Well identification

ColumnData TypeDescription
WELL_NAMEVARCHARWell name
WELL_IDVARCHARUnique well identifier
WELL_NUMBERVARCHAROperator-assigned well number

6.3 Production context

ColumnData TypeDescription
LAST_PROD_DATE_DAILYDATELast daily production date
LAST_PROD_DATE_MONTHLYDATELast monthly production date

These define the production history cutoff for forecasting.

6.4 User attribution & governance

ColumnData TypeDescription
FORECASTED_BYVARCHARUser who generated forecast
FORECASTED_BY_IDVARCHARUser identifier
FORECASTED_ONDATEDate forecast generated
REVIEWED_BYVARCHARReviewer name
REVIEWED_BY_IDVARCHARReviewer identifier
REVIEWED_ONDATEApproval change date

6.5 Phase & stream information

Valid values for PHASE:

  • OIL
  • GAS
  • WATER
  • CUSTOM STREAM
ColumnData TypeDescription
PHASEVARCHARStream phase
TYPEVARCHARSegment type
BASE_PHASEVARCHARBase phase for ratio segments
BASE_PHASE_SCOPEVARCHARBase phase scope

6.6 Well life & recovery metrics

ColumnData TypeDescription
WELL_LIFEFLOATTotal forecast well life (years)
REMAINING_WELL_LIFE_FROM_TODAYFLOATRemaining years from export date
MONTHLY_CUMFLOATCumulative monthly forecast volume
DAILY_CUMFLOATCumulative daily forecast volume
EURFLOATEstimated Ultimate Recovery
EUR_PER_FTFLOATEUR normalized by perforated lateral length

6.7 Type curve application

ColumnData TypeDescription
APPLIED_TYPE_CURVEVARCHARType curve name
APPLIED_TYPE_CURVE_IDVARCHARType curve identifier
APPLIED_NORMALIZATIONVARCHARNormalization flag
FPD_SOURCEVARCHARFirst production date source
RISK_FACTORFLOATApplied risk factor

6.8 Forecast segment definition

Forecasts may consist of multiple segments.

ColumnData TypeDescription
SERIESVARCHARForecast p-series
SEGMENTFLOATSegment number
SEGMENT_TYPEVARCHARSegment type
START_DATEDATESegment start date
END_DATEDATESegment end date
START_DAYFLOATSegment start index
END_DAYFLOATSegment end index

6.9 Decline curve parameters

ColumnData TypeDescription
Q_STARTFLOATStarting production rate
Q_ENDFLOATEnding production rate
Q_FINALFLOATFinal rate
DI_EFF_SECFLOATEffective initial decline
DI_NOMINALFLOATNominal decline
BFLOATHyperbolic b-factor

6.10 Hyperbolic → exponential transition

ColumnData TypeDescription
REALIZED_D_SW_EFF_SECFLOATTransition effective decline
SW_DATEDATESwitch date
SW_IDX_ARPSFLOATSwitch index
D_EXPFLOATExponential decline rate
Q_SWFLOATRate at transition

6.11 Warnings & system metadata

ColumnData TypeDescription
WARNINGVARCHARForecast warnings
__RECORD_SOURCEVARCHARSystem that generated record
__CREATED_ATTIMESTAMP_NTZUTC export timestamp
__UPDATED_ATTIMESTAMP_NTZLast modification timestamp

6.12 UI label mapping

Unlike the economics and volume datasets, this dataset has no friendly-label layer: the forecast editor in the ComboCurve UI shows these same raw decline-curve / engineering parameter names, so there are essentially no "UI label vs column name" renames to map.

The values worth knowing are the ones whose meaning is not obvious from the name (DI_EFF_SEC = initial effective/secondary decline; B = hyperbolic b-factor; D_EXP = terminal exponential decline; REALIZED_D_SW_EFF_SEC = decline at the hyperbolic→exponential switch) — these are described in §6.9–6.10 above.

Casing caveat. The source field names are mixed-case — decline parameters such as Di_Eff_Sec, Di_nominal, D_exp, and the __RecordSource system column use camel/Pascal case in the underlying export. Snowflake upper-cases unquoted identifiers, so the secure view exposes them as DI_EFF_SEC, DI_NOMINAL, D_EXP, and __RECORD_SOURCE. Do not assume the source casing is preserved when joining back to other systems.


7. Incremental consumption best practices

Pull only new or changed records

For scheduled ingestion, pull rows where __CREATED_AT is after your last run, or retrieve the latest export per forecast.

SELECT *
FROM FORECAST_PARAMETERS_SV
WHERE __CREATED_AT > DATEADD(day, -1, CURRENT_TIMESTAMP);

Retrieve latest export per forecast

SELECT *
FROM FORECAST_PARAMETERS_SV
QUALIFY ROW_NUMBER() OVER (
PARTITION BY FORECAST_ID
ORDER BY __CREATED_AT DESC
) = 1;

Deduplicate by the secure-view key

Treat (FORECAST_EXPORT_ID, FORECASTED_BY) as the record key when loading into your target. Multiple exports of the same forecast are expected.


8. Operational notes

  • Data is immutable once exported.
  • Multiple exports of the same forecast are expected.
  • No updates-in-place occur.
  • Historical parameter sets are preserved for auditability.