FTTH Access Orders Forecast
I built a multi-dimensional forecasting solution that predicts fiber-to-the-home access orders across global, departmental, and offer-specific dimensions—overcoming severe data limitations through advanced decomposition techniques and ensemble modeling in R, then migrating the entire solution to Dataiku for production deployment.
The Problem
Fiber-to-the-home (FTTH) deployment is one of the largest capital expenditure programs in modern telecommunications. Every new fiber access order triggers a cascade of resource needs: technician scheduling, equipment procurement, subcontractor coordination, and capacity planning across dozens of departments. Getting the forecast wrong by even 10% means either idle resources burning budget or overwhelmed teams unable to meet installation deadlines—both of which directly impact customer satisfaction and revenue.
The forecasting challenge here was uniquely difficult because of its multi-dimensional nature. The business didn't just need a single "how many orders next month" prediction. They needed forecasts at three levels simultaneously: global (total orders across all regions), departmental (orders per geographic department, since each has different infrastructure readiness), and offer-specific (different commercial offers have different installation complexity and resource requirements). These dimensions are hierarchically related—departmental forecasts should sum to the global forecast—but they don't always behave consistently because each level has its own demand drivers.
The most painful constraint was data availability. FTTH deployment had only been tracked systematically for a limited period, meaning I had relatively short historical series to work with. Many traditional time series approaches assume years of history to estimate seasonal patterns—I didn't have that luxury. Additionally, the data at the departmental and offer-specific levels was even sparser, with some segments having only a few dozen observations. I needed techniques that could produce reliable forecasts from limited data while still capturing the real patterns in the signal.
The Approach
I chose R's feasts and fable ecosystem as the primary modeling framework because it offers the most sophisticated time series decomposition tools available, with a clean API for ensemble approaches. The strategy was to decompose the signal aggressively—extracting every identifiable pattern (trend, seasonality, calendar effects)—and then model the remainder with methods that perform well on short series.
With limited historical data, you can't rely on the model to implicitly learn seasonal patterns from raw signal. Instead, I decomposed each series using STL and extracted the components explicitly. This let me model the trend (which needs minimal history to estimate) separately from seasonality (where I could impose reasonable prior assumptions from domain knowledge) and the irregular component. The decomposition effectively multiplied my usable signal by separating structure from noise at each timescale.
The feature engineering pipeline was comprehensive despite the data limitations. I created calendar-based features (working days per period, holiday effects, commercial campaign periods), infrastructure-based features (fiber eligibility rollout curves per department), and derived features from the decomposition itself (trend acceleration, seasonal strength indices). Each feature was validated through leave-future-out cross-validation to ensure it genuinely improved out-of-sample accuracy rather than just fitting noise.
No single model dominated across all dimensions and horizons. ETS performed best for smooth series at the global level. ARIMA captured the departmental-level autocorrelation patterns better. Machine learning models handled the offer-specific level where external features mattered most. Rather than picking a winner, I built a weighted ensemble that combines all three—the weights optimized through cross-validation. This ensemble consistently achieved ~5% RMSE, outperforming any individual model by 2-3 percentage points.
Implementation Details
The R implementation leveraged the tidyverts ecosystem (tsibble, feasts, fable) for a clean, reproducible pipeline. Each series flows through decomposition, feature generation, model fitting, and combination in a standardized workflow. The fable framework's native support for model combinations made the ensemble step elegant—I could specify model combinations declaratively and let the framework handle the weight optimization and forecast reconciliation.
Hierarchical reconciliation was a critical technical challenge. Since departmental forecasts should theoretically sum to the global forecast, I implemented reconciliation using the MinT (Minimum Trace) approach. This adjusts individual forecasts at each level to ensure coherence while minimizing the total revision needed—respecting that some levels have better accuracy than others and should be adjusted less. The result is a set of forecasts that are internally consistent and can be used at any aggregation level without contradictions.
The migration to Dataiku for production deployment required converting my R research code into a structured flow that non-R-specialists could maintain and monitor. I designed the Dataiku flow as a series of zones: data ingestion, feature engineering, model training, forecast generation, and output publishing. Each zone has its own validation checks and can be re-run independently. I also validated the production results against my R implementation to ensure the migration didn't introduce accuracy degradation—Dataiku's native models performed within 0.5% of my custom ensemble, confirming the approach was robust to implementation details.
The production system runs on a weekly schedule, automatically generating updated forecasts as new actuals arrive. Alerts trigger when forecast errors exceed expected bounds, prompting human review. The weekly/monthly dual granularity is handled through separate flow branches that share the same feature engineering logic but apply different model configurations optimized for each temporal resolution.
Key Takeaway
When historical data is limited, the solution isn't to lower your expectations—it's to be smarter about extracting signal. Decomposition-first strategies effectively multiply your usable data by separating the problem into components that each require less history to estimate. Combined with ensemble approaches that leverage model diversity, you can achieve production-grade accuracy (~5% RMSE) even with series that would make traditional box-checking approaches ("do you have 5+ years of data?") reject the project outright.
Comments
FAQ
What is the key takeaway from "FTTH Access Orders Forecast"?
12-month multi-dimensional forecast for FTTH fiber access orders at global, departmental, and offer-specific levels, achieving ~5% RMSE through ensemble modeling and deployed on Dataiku.
Who wrote this and what is it about?
This was written by Mahmoud Trigui, Senior Data Scientist. 12-month multi-dimensional forecast for FTTH fiber access orders at global, departmental, and offer-specific levels, achieving ~5% RMSE through ensemble modeling and deployed on Dataiku.