Prophetverse
Prophetverse is an open-source library for Bayesian time series forecasting and Marketing Mix Modeling.
Prophetverse is an open-source Python library for Bayesian time series forecasting and Marketing Mix Modeling (MMM). It builds on the theoretical foundations of the original Prophet model and extends them into a more flexible and expressive framework with custom priors, non-linear effects, and multiple likelihoods.
Built on top of sktime and numpyro, Prophetverse focuses on interpretability, customizability, and modern Bayesian modeling practices.
Purpose
Many forecasting tools are either too rigid or difficult to adapt to domain-specific knowledge. Prophetverse addresses this gap by enabling:
Explicit Bayesian modeling with interpretable parameters
Integration of expert knowledge through custom priors
Flexible model structures for complex real-world time series
A particular emphasis is placed on Marketing Mix Modeling, where understanding the causal contribution of different marketing channels is critical.
Core Features
Flexible Bayesian time series models
Native compatibility with the sktime ecosystem
Support for multiple likelihood functions
Customizable trends, seasonalities, and priors
Non-linear effects for exogenous variables
Strong focus on model transparency and interpretability
Modeling and Forecasting
Prophet-Compatible Interface
Prophetverse provides an interface compatible with sktime, making it easy to adopt for users familiar with traditional forecasting workflows while offering significantly more modeling flexibility under the hood.
Advanced Trend Modeling
Compared to the original Prophet model, Prophetverse supports:
Logistic trends with capacity modeled as a random variable
Fully customizable trend functions
More stable changepoint handling over long time horizons
Probabilistic Modeling
Supported Likelihoods
To better model real-world business data, Prophetverse supports several likelihood functions:
Gaussian
Gamma
Negative Binomial
Beta
This enables robust forecasting for positive-only data, count data, and other non-Gaussian distributions.
Custom Priors
Users can define custom prior distributions to:
Encode domain knowledge directly into the model
Enforce constraints such as positive coefficients
Improve model stability and interpretability
Exogenous Variables and Marketing Mix Modeling
Non-Linear Exogenous Effects
Prophetverse allows fully customizable, non-linear effects for exogenous variables, enabling sophisticated modeling of relationships between external drivers and the target time series.
Shared Coefficients and Hierarchies
Hierarchical and multivariate models with shared coefficients allow global information to improve individual forecasts, which is especially valuable in Marketing Mix Modeling scenarios.
Seasonality and Scaling
Flexible Seasonality
Seasonal patterns are modeled using Fourier terms passed as exogenous variables. This approach enables:
Easy creation of custom seasonalities
Multiple overlapping seasonal components
Domain-specific periodic patterns without hardcoded assumptions
Scaling Strategy
Target variables are scaled internally for numerical stability
Exogenous variables remain under user control
Seamless integration with sktime transformers
Multivariate Models
Prophetverse supports hierarchical multivariate models with:
Multivariate normal likelihoods
LKJ priors for correlation structures
Bottom-up forecasting across related time series
Use Cases
Interpretable time series forecasting
Marketing Mix Modeling
Sales and demand forecasting
Scenario analysis and simulation
Research and applied Bayesian modeling
Open Source
Prophetverse is released as open-source software and actively developed within the Python time series ecosystem. It leverages modern probabilistic programming via numpyro and integrates tightly with sktime.
GC.OS supports Prophetverse as an open-source project enabling transparent, flexible, and scientifically grounded forecasting and marketing analytics.