E-commerce Sales Prediction Dataset
Synthetic E-commerce Dataset for Sales Forecasting and Trend Analysis
@kaggle.nevildhinoja_e_commerce_sales_prediction_dataset
Synthetic E-commerce Dataset for Sales Forecasting and Trend Analysis
@kaggle.nevildhinoja_e_commerce_sales_prediction_dataset
This repository contains a comprehensive and clean dataset for predicting e-commerce sales, tailored for data scientists, machine learning enthusiasts, and researchers. The dataset is crafted to analyze sales trends, optimize pricing strategies, and develop predictive models for sales forecasting.
The dataset includes 1,000 records across the following features:
Column Name | Description |
---|---|
Date | The date of the sale (01-01-2023 onward). |
Product_Category | Category of the product (e.g., Electronics, Sports, Other). |
Price | Price of the product (numerical). |
Discount | Discount applied to the product (numerical). |
Customer_Segment | Buyer segment (e.g., Regular, Occasional, Other). |
Marketing_Spend | Marketing budget allocated for sales (numerical). |
Units_Sold | Number of units sold per transaction (numerical). |
Date:
Product_Category:
Price:
Discount:
Customer_Segment:
Marketing_Spend:
Units_Sold:
The dataset is suitable for creating the following visualizations:
The dataset is synthetically generated to mimic realistic e-commerce sales trends. Below are the steps taken for data generation:
Feature Engineering:
Data Simulation:
Validation:
Note: The dataset is synthetic and not sourced from any real-world e-commerce platform.
Hereβs an example of building a predictive model using Linear Regression:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# Load the dataset
df = pd.read_csv('ecommerce_sales.csv')
# Feature selection
X = df[['Price', 'Discount', 'Marketing_Spend']]
y = df['Units_Sold']
# Train-test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Model training
model = LinearRegression()
model.fit(X_train, y_train)
# Predictions
y_pred = model.predict(X_test)
# Evaluation
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f'Mean Squared Error: {mse:.2f}')
print(f'R-squared: {r2:.2f}')
Anyone who has the link will be able to view this.