A comprehensive Inventory Management System built with Streamlit, designed for enterprise-level supply chain optimization. The system provides advanced demand forecasting, inventory optimization, and supply chain analytics through an intuitive web interface.
graph TD
A[Excel Data Input] --> B[Data Processing]
B --> C[Forecast Engine]
B --> D[Inventory Engine]
C --> E[Analysis Engine]
D --> E
E --> F[Visualization Layer]
F --> G[Reports & Downloads]
subgraph "Data Flow"
direction LR
B --> |Clean Data| C
C --> |Forecasts| E
D --> |Inventory Policies| E
E --> |Results| F
end
sequenceDiagram
participant User
participant UI
participant Forecast
participant Inventory
participant Storage
User->>UI: Upload Excel
UI->>Forecast: Process Data
Forecast->>Inventory: Send Forecasts
Inventory->>UI: Return Policies
UI->>Storage: Save Results
Storage->>UI: Load Results
UI->>User: Display Analysis
- Data Upload: Easy Excel file upload for SKU data
- Demand Forecasting: Multiple forecasting models including Exponential Smoothing, ARIMA, and Normal Distribution
- Inventory Policy Calculation: Various inventory models including Periodic Review, Continuous Review, Base Stock, and Newsvendor
- Interactive Visualizations: Detailed plots for inventory levels, demand, and various performance metrics
- Sensitivity Analysis: Tools to understand how different parameters affect inventory performance
- Performance Metrics: Comprehensive set of KPIs including service level, profit, and inventory turnover
- Supply and Demand Planning: Visualization and analysis of supply plans and demand forecasts
- Customizable Parameters: Adjustable lead times, service levels, costs, and more
git clone https://github.com/yourusername/inventory-management-system
cd inventory-management-system
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
FROM python:3.8-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "Home.py", "--server.port=8501", "--server.address=0.0.0.0"]
To run the Streamlit app, use the following command in your terminal:
streamlit run app.py
The application will open in your default web browser.
-
Upload Data: Start by uploading your SKU data in Excel format. The file should contain columns for SKU, Date, and Quantity.
-
Select SKU: Choose the specific SKU you want to analyze from the dropdown menu.
-
Set Parameters: Adjust various parameters such as lead time, service level, and costs according to your business needs.
-
Choose Models: Select your preferred forecasting and inventory models.
-
Run Simulation: Click the "Run Simulation" button to generate forecasts and inventory policies.
-
Analyze Results: Navigate through different tabs to view forecasts, inventory levels, performance metrics, and more.
-
Sensitivity Analysis: Use the sensitivity analysis tool to understand how changes in parameters affect your inventory performance.
-
Download Results: Export your results and updated policies for further analysis or implementation.
app.py
: Main Streamlit application fileapp_utils.py
: Utility functions for the applicationforecast.py
: Forecasting modelsinventory.py
: Inventory policy modelssku.py
: SKU class definition and related functionsrequirements.txt
: List of Python dependencieslogo.svg
: Company logo file
Main dependencies include:
- Streamlit
- Pandas
- NumPy
- Plotly
- Statsmodels
For a complete list, see requirements.txt
.
- Documentation Enhancement
- README.md improvements
- ✅ System architecture diagrams
- ✅ Deployment instructions
- ✅ Code formatting
- ✅ Security considerations
- ✅ Enterprise features
- None
- N/A (Documentation only)
- Added all major sections
- Enhanced with visual diagrams
- Included code examples
- Added enterprise deployment instructions