Built a raw-material price forecasting model and market analysis dashboard to support purchasing decisions, as a PoC within the AI master plan engagement.
01Context
- As a PoC within the AI master plan for LOTTE Fine Chemical, built a price forecasting model and dashboard for a key purchased raw material.
02Problem
- Purchase quotes were reviewed on experts' experience, with no objective benchmark for a fair price.
- The existing forecast used a few fixed variables and missed external drivers, trends, and seasonality.
- Without a forecast, inventory could not flex with the market, such as buying ahead of price rises, which raised purchasing costs.
03My role
- In a team of three, led the work end to end, framing the business need as an ML problem, designing the experiments, and building the models, pipeline, and dashboard.
04Approach
- Set baselines first and agreed with the client on what counts as improvement — a MAPE target of 10% or less against the rule-based benchmark, forecasting 1–4 weeks and 1–3 months ahead.
- Reframed the time series as supervised regression with lag features, screening about 150 candidate attributes from sources with different update cycles.
- Ran independent experiments along seven axes, including feature selection, lags, direct vs. recursive forecasting, price vs. price-change targets, and models.
- Built a four-page dashboard where business users upload data, retrain models, and see SHAP-based drivers and Bollinger bands.
Key decisions
| Decision | Why | Trade-off |
|---|
| Supervised regression over deep sequence models | With a short history, tree ensembles on lag features were more stable than deep learning. | Long-range dependencies depend on the lag design. |
| Benchmark before models | Persistence and exponential smoothing baselines fixed the bar for improvement, agreed with the client up front. | Modeling started about two weeks later. |
| Seven independent experiment axes | Comparing one axis at a time instead of every combination made each modeling choice explainable. | Interactions between axes were not explored. |
05Architecture
| Layer | Components | Flows |
|---|
| 01 Data sources | - About 150 external attributes
- Manual uploads
| →to 02 Data pipeline |
| 02 Data pipeline | - Resampling and interpolation
- Lag features (time series to supervised)
| →to 03 Models |
| 03 Models | - Linear Regression
- Random Forest
- XGBoost
- LSTM
| →to 04 Evaluation |
| 04 Evaluation | - MAE, RMSE, and MAPE
- Deploy or retrain
| →to 05 Dashboard |
| 05 Dashboard | - Upload
- EDA
- Training
- Forecasts with SHAP drivers
| ↩back to 02 Data pipeline · New data and retraining |
06Outcome
- Cut forecast error (MAPE) from 5.9% with the rule-based method to 1.3%, well under the 10% target.
- Moved from a single-point estimate to multi-horizon forecasts, 1–4 weeks and 1–3 months ahead.
- Shifted retraining and deployment from data scientists to business users, and brought the forecast into the quote review process.