Production forecasting utilities and decline-curve analysis tools built around Arps models.
Project description
Production Forecasting for Oil & Gas Wells
Overview
This repository is designed to offer comprehensive production forecasting solutions for oil and gas wells. It includes tools for production data analysis, decline curve analysis, and time series analysis, enabling users to make informed predictions about future production trends.
Features
- Graphical Templates – Industry-standard visualizations for production trend analysis and interpretation.
The prodpy.onepage module offers ready-to-use templates for generating compact, graphical summaries of multi-dimensional production data. These visualizations combine key metrics such as oil, gas, and water rates with operational details like active perforation intervals, shut-ins, and completion events - all in a single, easy-to-read figure. Designed for quick well reviews and communication between subsurface and operations teams, the OnePage layout enhances situational awareness and supports efficient decision-making.
Figure 1: A layout showing production rates alongside active intervals and well events.
- Customizable Workflow – Modify or extend the tools to fit specific reservoir and well conditions.
The reservoir allocation function prodpy.Allocate provides a systematic method to distribute measured production volumes (oil, gas, and water) from commingled surface data back to individual reservoirs or layers. This is particularly useful in fields with multi-zone completions or shared infrastructure. The allocation algorithm uses layer properties such as permeability, thickness, pressure, or historical trends to estimate each zone's contribution to total production. The function supports customizable weighting schemes and can be integrated into full-field workflows for reservoir surveillance, history matching, or field development planning.
Figure 2: A typical workflow where surface production is decomposed and allocated to contributing reservoir zones using input data from well tests and petrophysical properties.
- Decline Curve Analysis – Implement common decline models (Exponential, Harmonic, Hyperbolic).
The prodpy.decline module provides analytical tools for fitting and forecasting production using classical decline curve models, including exponential, hyperbolic, and harmonic equations. These models are implemented with a consistent interface and allow estimation of key parameters such as decline rate, cumulative production, and well life. The module is ideal for rapid screening, reserves estimation, and performance diagnostics in conventional reservoirs.
Table 1: The mathematical forms of the implemented decline models, highlighting their differences in rate behavior and cumulative production estimates.
- Time Series Analysis – Utilize statistical methods and machine learning models for forecasting.
Installation
Clone the repository and install the required dependencies:
git clone https://github.com/jshiriyev/main-prodpy.git
cd main-prodpy
pip install -r requirements.txt
Usage
Example usage of the decline curve analysis module:
from prodpy import dca
# Load production data (assumed to be a Pandas DataFrame)
dca = dca(production_data)
# Fit a hyperbolic decline model
dca.fit(model="hyperbolic")
# Plot the forecasted production trend
dca.plot_forecast()
Dependencies
The following libraries are required:
- Python 3.x
pandasnumpymatplotlibscipy
Contributing
Contributions are welcome! If you find a bug or want to improve the tool, feel free to:
- Fork the repository
- Create a new branch (
feature-branch) - Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prodpy-0.0.29.tar.gz.
File metadata
- Download URL: prodpy-0.0.29.tar.gz
- Upload date:
- Size: 38.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
588d03eac5c316b68abedf5168cead510351d8001ce1894a1d06097beb142558
|
|
| MD5 |
36b8c97e3153e5af9c89d7c7bd42424a
|
|
| BLAKE2b-256 |
d8cd4cedb05c58f4860b8529e2f5ab979a63ccf7f5af784a77f2bf140dc17ded
|
File details
Details for the file prodpy-0.0.29-py3-none-any.whl.
File metadata
- Download URL: prodpy-0.0.29-py3-none-any.whl
- Upload date:
- Size: 50.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65ced8552769f379038c8edf55a4f9530865e5cb850049e5f3b1bc2971c4ed7a
|
|
| MD5 |
42e7824dafcc88050c4c98684ff9e207
|
|
| BLAKE2b-256 |
47d455a8872b3a5435fe8bd514ae14a807b586c4aea944b65a377ec5f6bc6c98
|