SAS Institute (IDeaS)

Demand Forecasting & Special Event Detection

R&D Intern · Jan 2024 - May 2025

🏢 Proprietary R&D, IDeaS, a SAS Company

Hotel demand can spike dramatically around concerts, conferences, or sporting events, but traditional forecasting systems often miss these patterns until it's too late to adjust pricing. During my R&D internship at IDeaS (a SAS company), I built two systems to tackle this: a Sparse Hierarchical GP model that forecasts room demand by learning shared patterns across hotel chains while respecting each property's individuality, and a Dynamic Mode Decomposition pipeline that automatically detects unusual demand events from occupancy time series.

Research Projects

Demand Forecasting with SHGP

The core idea: hotels within the same chain share certain demand patterns (seasonality, day-of-week effects), but each property also has its own quirks (local events, proximity to airports, business vs. leisure mix). The Sparse Hierarchical GP captures both levels through a kernel structure that separates group-level from individual-level variation.

  • Designed a custom SHGP model in GPflow with a group kernel shared across the chain and individual kernels per hotel
  • Predicted occupancy, booking-choice probability, and whole-group demand metrics across Accor, Choice, and Wyndham chains
  • Built booking curve analysis tools to incorporate real-time reservation patterns as features
  • Measured forecast accuracy using days-to-arrival metrics, comparing head-to-head against the IDeaS production system
  • Used ARIMA and naïve baselines to establish a lower bound for meaningful comparison

Special Event Detection

Concerts, marathons, and trade shows can send demand through the roof, but these events don't follow regular seasonal patterns and are easy to miss with standard time-series methods. I built a multi-stage pipeline that first decomposes the signal, then flags anomalies, then classifies them.

  • Used Dynamic Mode Decomposition (DMD) to separate occupancy into trend, seasonal, and residual components
  • Applied Z-Score anomaly detection on residuals using same-day-of-week moving windows for context-aware thresholds
  • Built a GP regression model with ordinal likelihood for event classification (high-impact vs. low-impact events)
  • Integrated an event calendar API to match detected anomalies with known events (conferences, concerts, sports, holidays)
  • Explored Gaussian Mixture Models for unsupervised event clustering when no calendar data was available

Methods

Hierarchical GP kernel

The SHGP model separates group-level patterns (shared across a hotel chain) from individual hotel behavior through a composite kernel:

\[ k(x_i, x_j) = k_{\text{group}}(x_i, x_j) + k_{\text{hotel}}(x_i, x_j) + \sigma^2_n \delta_{ij} \]

The group kernel captures seasonality and day-of-week effects common to the chain. The individual kernel captures property-specific variation (location, business mix). Both use squared-exponential ARD kernels.

DMD decomposition

Dynamic Mode Decomposition fits a best-fit linear operator to the time-series data:

\[ \mathbf{X}' \approx \mathbf{A}\mathbf{X}, \quad \text{where } \mathbf{A} = \mathbf{X}'\mathbf{X}^{\dagger} \]

The eigenvalues of \(\mathbf{A}\) give frequencies and growth/decay rates. We use the DMD modes to separate trend, seasonal, and residual components, then detect anomalies in the residual.

Synthetic hotel occupancy decomposition into trend, weekly pattern, and residual with event spikes
Illustrative demand decomposition. A synthetic hotel occupancy series decomposed into trend, weekly seasonality, and residual components. Event spikes (red dots) in the residual correspond to demand-driving events like conferences or sporting events that fall outside normal seasonal patterns.

Code Availability

Demand Forecasting

SHGP model implementation in GPflow with EDA utilities, booking curve analysis, SGPR/SVGP experiments, ARIMA baselines, and system forecast comparison notebooks for Accor, Choice, and Wyndham chains.

Code availability: proprietary, not publicly available.

Special Event Detection

DMD tutorial and implementation, predictive models (v1-v3), event calendar matching, GMM-based clustering, Z-Score anomaly detection scripts, and hotel revenue analysis demos.

Code availability: proprietary, not publicly available.