Rossmann, a chain of over 3,000 drug stores across 7 European countries, faces the challenge of predicting daily sales up to six weeks in advance.
This project focuses on forecasting store sales, taking into account various influencing factors, such as promotions, competition, holidays, seasonality, and locality.
- Language:
Python
- Cloud:
Google Cloud Platform (GCP)
- UI:
Flask
- Libraries:
scikit-learn
,pandas
,numpy
- Code Management:
Git
,Github
We deploy the model created using Google Cloud Platform (GCP). We explore two deployment approaches:
- Traditional Approach
- Dockerized Approach
In the traditional approach, we rent a cloud server, set up the necessary environment, deploy the model interface (Flask/Streamlit), and expose the required components for model deployment.
The Dockerized approach involves packaging the model code and configurations into a Docker image, simplifying deployment and ensuring consistency across environments.
To deploy the model using GCP, follow these steps:
-
Create a source repository in GCP.
-
Set up a cloud build trigger for the GCP repository.
-
Create a Virtual Machine (VM) in GCP under "VM Instances."
-
Clone the repository in the VM.
-
Install Docker on the VM.
-
Choose one of the following deployment methods:
-
Setting up a Server Inside the VM:
- Execute the provided commands to create and set up the server environment within the VM.
-
Setting up a Server Using Docker:
- Pull the Docker image from GCP Container Registry.
- Run the Docker image to deploy the model.
-
The necessary shell scripts are included for convenience:
install-docker.sh
: Installs Docker on the VM.setup-new-vm.sh
: Sets up a new server inside the VM or deploys the model using Docker.