# Weekly Forecasting Configuration for LiveNation Proposal
# Use this config to test weekly vs. daily forecasting

# Dataset Configuration
dataset:
  name: "hotel_bookings"
  path: "data/raw/hotel_bookings.csv"
  hotel_type: "City Hotel"
  target: "weekly_bookings"  # Changed from daily_bookings
  date_col: "arrival_date"
  granularity: "weekly"  # NEW: weekly aggregation

# Data Split Configuration
split:
  test_size_days: 56  # Still 8 weeks, but will be ~8 data points
  validation_size_days: 28

# Forecast Horizons to Test (in weeks now)
forecast_horizons: [1, 2, 4]  # 1 week, 2 weeks, 4 weeks ahead

# Model Configurations

models:
  xgboost_baseline:
    enabled: true
    lags: [1, 2, 4]  # 1 week ago, 2 weeks ago, 4 weeks ago
    rolling_windows: [2, 4]  # 2-week and 4-week rolling stats
    minimal_covariates:
      - week_of_year
      - is_holiday
      - month
    xgb_params:
      n_estimators: 300  # Fewer samples in weekly, use fewer trees
      learning_rate: 0.05
      max_depth: 4
      subsample: 0.8
      colsample_bytree: 0.8

  chronos_zero_shot:
    enabled: true
    model_name: "amazon/chronos-2"
    device: "cuda"
    quantile_levels: [0.1, 0.25, 0.5, 0.75, 0.9]
    num_samples: 20

  chronos_covariates:
    enabled: true
    model_name: "amazon/chronos-2"
    device: "cuda"
    expanded_covariates:
      # Calendar features
      - week_of_year
      - month
      - quarter
      - is_holiday
      # Aggregate booking characteristics
      - lead_time
      - total_guests
      - previous_cancellations
      - previous_bookings_not_canceled
    quantile_levels: [0.1, 0.25, 0.5, 0.75, 0.9]
    num_samples: 20

  chronos_icl:
    enabled: true
    model_name: "amazon/chronos-2"
    device: "cuda"
    icl_window_sizes: [2, 4, 8]  # 2, 4, 8 weeks of history
    covariates:
      - week_of_year
      - month
      - is_holiday
    quantile_levels: [0.1, 0.25, 0.5, 0.75, 0.9]
    num_samples: 20
    use_sliding_window: true

# Evaluation Configuration
evaluation:
  metrics:
    - RMSE
    - MAE
    - MAPE
    - SMAPE
  probabilistic_metrics: true
  statistical_tests: true
  save_predictions: true

# Output Configuration
output:
  results_dir: "results/weekly"
  plots_dir: "results/weekly/plots"
  save_models: false
  verbose: true

# Reproducibility
random_seed: 42

# Comparison with daily
# Run both configs and compare:
# - Daily: More granular, noisier
# - Weekly: Smoother, better for strategic planning
