This project aims to predict the number of furniture items sold based on product attributes such as pricing, discounts, and shipping cost. The analysis focuses on understanding sales patterns, handling skewed target variables, and evaluating regression model performance.
Predict the sold quantity using the following features:
priceoriginalPricediscount_amountdiscount_pctshipping_cost
- Source: E-commerce Furniture Dataset (CSV)
- Rows: 1,792 products (after removing duplicates from an initial 2,000 records)
- Target Variable:
sold— number of units sold per product - Data Quality: No missing values detected in the target variable
- Data cleaning and validation
- Exploratory Data Analysis (EDA)
- Feature selection and engineering
- Baseline Linear Regression
- Log transformation of skewed target
- Model evaluation using MAE and R²
- Decision Tree model for feature importance
- Sales data is highly right-skewed
- Log transformation improved model stability
- Linear regression showed limited performance on raw sales
- Decision Tree captured non-linear effects better than linear models
- Discount amount was the most influential feature
- External factors likely drive sales beyond pricing variables
- Higher absolute discounts drive sales volume more than discount percentage
- Shipping cost has limited direct impact once discounts are considered
- Predictive performance is constrained by missing demand-side features (ratings, reviews, traffic)
- MAE: ~0.95
- R²: ~0.16
Results indicate limited predictive power due to missing behavioral and demand-side features.
- Python
- Pandas, NumPy
- Matplotlib
- Scikit-learn
- Google Colab
- Excel
ecommerce_project.ipynb— full analysis and modelingecommerce_furniture_dataset.csv— datasetREADME.md— project documentation
- Add product category encoding
- Include time-based and demand features
- Try ensemble models (Random Forest, XGBoost)
Rahul
GitHub: rk-analytics