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_IDFORECAST_IDWELL_IDFORECASTED_ONPHASE
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
| Column | Data Type | Description |
|---|---|---|
| PROJECT_NAME | VARCHAR | Human-readable project name |
| PROJECT_ID | VARCHAR | ComboCurve project identifier |
| FORECAST_NAME | VARCHAR | Forecast case name |
| FORECAST_ID | VARCHAR | Unique forecast case ID |
| FORECAST_EXPORT_ID | VARCHAR | GUID of export job |
| STATUS | VARCHAR | Forecast approval status |
| SUB_TYPE | VARCHAR | Forecast creation method |
| STREAM_SCOPE | VARCHAR | Project or company stream |
6.2 Well identification
| Column | Data Type | Description |
|---|---|---|
| WELL_NAME | VARCHAR | Well name |
| WELL_ID | VARCHAR | Unique well identifier |
| WELL_NUMBER | VARCHAR | Operator-assigned well number |
6.3 Production context
| Column | Data Type | Description |
|---|---|---|
| LAST_PROD_DATE_DAILY | DATE | Last daily production date |
| LAST_PROD_DATE_MONTHLY | DATE | Last monthly production date |
These define the production history cutoff for forecasting.
6.4 User attribution & governance
| Column | Data Type | Description |
|---|---|---|
| FORECASTED_BY | VARCHAR | User who generated forecast |
| FORECASTED_BY_ID | VARCHAR | User identifier |
| FORECASTED_ON | DATE | Date forecast generated |
| REVIEWED_BY | VARCHAR | Reviewer name |
| REVIEWED_BY_ID | VARCHAR | Reviewer identifier |
| REVIEWED_ON | DATE | Approval change date |
6.5 Phase & stream information
Valid values for PHASE:
OILGASWATERCUSTOM STREAM
| Column | Data Type | Description |
|---|---|---|
| PHASE | VARCHAR | Stream phase |
| TYPE | VARCHAR | Segment type |
| BASE_PHASE | VARCHAR | Base phase for ratio segments |
| BASE_PHASE_SCOPE | VARCHAR | Base phase scope |
6.6 Well life & recovery metrics
| Column | Data Type | Description |
|---|---|---|
| WELL_LIFE | FLOAT | Total forecast well life (years) |
| REMAINING_WELL_LIFE_FROM_TODAY | FLOAT | Remaining years from export date |
| MONTHLY_CUM | FLOAT | Cumulative monthly forecast volume |
| DAILY_CUM | FLOAT | Cumulative daily forecast volume |
| EUR | FLOAT | Estimated Ultimate Recovery |
| EUR_PER_FT | FLOAT | EUR normalized by perforated lateral length |
6.7 Type curve application
| Column | Data Type | Description |
|---|---|---|
| APPLIED_TYPE_CURVE | VARCHAR | Type curve name |
| APPLIED_TYPE_CURVE_ID | VARCHAR | Type curve identifier |
| APPLIED_NORMALIZATION | VARCHAR | Normalization flag |
| FPD_SOURCE | VARCHAR | First production date source |
| RISK_FACTOR | FLOAT | Applied risk factor |
6.8 Forecast segment definition
Forecasts may consist of multiple segments.
| Column | Data Type | Description |
|---|---|---|
| SERIES | VARCHAR | Forecast p-series |
| SEGMENT | FLOAT | Segment number |
| SEGMENT_TYPE | VARCHAR | Segment type |
| START_DATE | DATE | Segment start date |
| END_DATE | DATE | Segment end date |
| START_DAY | FLOAT | Segment start index |
| END_DAY | FLOAT | Segment end index |
6.9 Decline curve parameters
| Column | Data Type | Description |
|---|---|---|
| Q_START | FLOAT | Starting production rate |
| Q_END | FLOAT | Ending production rate |
| Q_FINAL | FLOAT | Final rate |
| DI_EFF_SEC | FLOAT | Effective initial decline |
| DI_NOMINAL | FLOAT | Nominal decline |
| B | FLOAT | Hyperbolic b-factor |
6.10 Hyperbolic → exponential transition
| Column | Data Type | Description |
|---|---|---|
| REALIZED_D_SW_EFF_SEC | FLOAT | Transition effective decline |
| SW_DATE | DATE | Switch date |
| SW_IDX_ARPS | FLOAT | Switch index |
| D_EXP | FLOAT | Exponential decline rate |
| Q_SW | FLOAT | Rate at transition |
6.11 Warnings & system metadata
| Column | Data Type | Description |
|---|---|---|
| WARNING | VARCHAR | Forecast warnings |
| __RECORD_SOURCE | VARCHAR | System that generated record |
| __CREATED_AT | TIMESTAMP_NTZ | UTC export timestamp |
| __UPDATED_AT | TIMESTAMP_NTZ | Last modification timestamp |
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.