THE RESULT
What the data shows
Gradient boosting reduces mean absolute error by 11.5% versus the previous-week baseline, from 68.09 to 60.26 rentals per hour.
The final holdout contains 2,888 observed hours from September–December 2012. The model still underpredicts by 28.18 rentals per hour on average.

| model | rows | mae | rmse | wape | bias |
|---|---|---|---|---|---|
| Calendar average | 2,888 | 92.8 | 137.3 | 0.3863 | -58.61 |
| Previous day | 2,888 | 79.63 | 133.1 | 0.3315 | 1.628 |
| Previous week | 2,888 | 68.09 | 115.8 | 0.2834 | 10.9 |
| Gradient boosting | 2,888 | 60.26 | 96.36 | 0.2508 | -28.18 |
Improvement is only part of the story
Lower average error does not remove the cost of underprediction. The exploratory daily bootstrap interval for the MAE reduction is 0.16–15.46 rentals per hour; it does not preserve dependence between consecutive days.

THE METHOD
From source to answer
Calendar-aware lag features, three expanding-window validation blocks, and a fixed gradient-boosting model evaluated on later dates.
- Reindex 17,379 observations to a complete 17,544-hour calendar. Preserve 165 absent targets as unknown.
- Build lags at 24, 48, 168, and 336 hours, plus historical means and calendar features.
- Exclude realized target-hour weather and the casual/registered counts that reveal the target.
- Select a model and the strongest baseline in three expanding-window validation blocks.
- Fit on 14,167 pre-September observations and score once on later dates. Earlier test-day observations become available only to subsequent forecast days.
The Python source exposes this study’s transformations. The complete project download includes shared preparation and evaluation routines.
EVALUATION
How the result was checked
At midnight, predict the coming day’s 24 hours using finalized prior-day counts. The fixed model is evaluated over successive forecast days; this is not a single four-month forecast. MAE and RMSE are rentals per observed hour. WAPE is total absolute error divided by rentals.
THE NEXT DECISION
What follows from the finding
Compare against an operator’s current forecast, measure data latency, and define the relative cost of underprediction before an operational pilot.
Where the conclusion stops
The data measure realized system rentals, not unmet demand. Missing target hours are excluded from scoring. Historical data from 2011–2012 cannot establish current performance, station rebalancing benefits, or cost savings.
Related studies may reuse observations or holdouts. These are historical analyses; associations and backtests do not demonstrate commercial impact. Further model tuning needs new, untouched evaluation data.