Last quarter a K-beauty retailer in Seoul wrote off unsold stock on some SKUs and stocked out of others. You build a demand forecasting model from sales history and social media signals so the buying team can order the right quantities.
The discipline skills: engineering time-lagged features from social media data, enforcing temporal train/test splits, evaluating forecast accuracy with MAE and RMSE, and separating seasonal products from trend-driven products that need fundamentally different forecasting approaches.
The AI-direction lesson: until now, the data you received was ready to analyze or needed cleaning you could see. This time, the preparation decisions are where the analysis lives or dies. AI treats data preparation as generic cleaning -- random train/test splits on time-dependent data, same-day social media mentions as features, one-hot encoding everything. Each of those defaults produces a model that looks excellent and predicts nothing. The skill is questioning AI's preparation choices before you ever see a model result.
Your Role
You build the forecasting model, but the model is not the hard part. The hard part is preparing the data correctly. The analysis specification is less detailed this time. You decide what preparation steps are needed, what features to engineer, and how to split the data.
What's New
Last time, you built a classification model on imbalanced data, discovered that accuracy is meaningless when one class dominates, and learned to evaluate with precision, recall, and ROC curves. You caught a proxy feature and tuned a threshold to match the client's priorities.
This time, the data has a different kind of problem. The preparation decisions — which features to include, how to time them, how to split the data — are where the analysis lives or dies. A model trained on data that leaks future information will look excellent and predict nothing. This is not about building a better model. It is about preparing data that makes any model trustworthy.
The hard part is recognizing what is wrong with the data before you see it in the results.
Tools
- Python 3.11+ via your conda "ds" environment
- Jupyter Notebook for the analysis
- pandas for data handling
- scikit-learn for regression models, feature importance, MAE/RMSE
- scipy for statistical checks
- matplotlib / seaborn for visualization
- Claude Code as the AI you direct
- Git / GitHub for version control
Materials
You receive:
- Two datasets: daily sales data (~145,000 rows, 200 SKUs over 24 months) and daily social media mention counts
- A data dictionary explaining both datasets
- A methodology memo template with a new "Preparation Decisions" section for documenting feature engineering, temporal splitting, leakage assessment, and data quality decisions
- A project governance file (CLAUDE.md) for Claude Code
- Eunji's Slack message explaining what she needs