| import streamlit as st |
| import pandas as pd |
| import requests |
| |
|
|
| |
| st.set_page_config(page_title="Sales Dashboard", layout="wide") |
| |
| st.title("Super kart Sales Prediction") |
| st.markdown("#### A streamlined view of sales performance by store and product category.") |
|
|
|
|
| |
| st.subheader("Sales Prediction") |
|
|
| col1, col2 = st.columns(2) |
| with col1: |
| |
| Product_Id = st.text_input("Product ID") |
| Product_Weight = st.number_input("Product Weight ", min_value=0.0, value=100.00,step=0.01,format="%.2f") |
| Product_Sugar_Content = st.selectbox("Product Sugar Content", ["No Sugar", "Low Sugar", "Regular", "reg"]) |
| Product_Allocated_Area = st.number_input("Product Allocated area ", min_value=0.0, value=1.00,step=0.01,format="%.3f") |
| Product_Type = st.selectbox("Product Type", ["Fruits and Vegetables","Snack Foods","Frozen Foods", |
| "Dairy","Household", |
| "Baking Goods", |
| "Canned", |
| "Health and Hygiene", |
| "Meat", |
| "Soft Drinks", |
| "Breads", |
| "Hard Drinks", |
| "Starchy Foods", |
| "Breakfast", |
| "Seafood", |
| "Household", |
| "Baking Goods", |
| "Canned", |
| "Health and Hygiene", |
| "Meat", |
| "Soft Drinks", |
| "Breads", |
| "Hard Drinks", |
| "Starchy Foods", |
| "Breakfast", |
| "Seafood", |
| "Others"]) |
| with col2: |
| Product_MRP = st.number_input("Product MRP ", min_value=0.0, value=1000.00,step=0.01,format="%.2f") |
| Store_Id = st.selectbox ("Store ID", ["OUT001","OUT002","OUT003","OUT004"]) |
| Store_Establishment_Year = st.number_input("Store Establishement year ", min_value=1980, max_value=2025) |
| Store_Size = st.selectbox ("Store Size", ["Small","Medium","High"]) |
| Store_Location_City_Type = st.selectbox ("Store Location city", ["Tier 1","Tier 2","Tier 3"]) |
| Store_Type = st.selectbox ("Store Type", ["Departmental Store","Food Mart","Supermarket Type1","Supermarket Type2"]) |
|
|
| |
| input_data = pd.DataFrame([{ |
| 'Product_Id': Product_Id, |
| 'Product_Weight':Product_Weight, |
| 'Product_Sugar_Content':Product_Sugar_Content, |
| 'Product_Allocated_Area':Product_Allocated_Area, |
| 'Product_Type':Product_Type, |
| 'Product_MRP':Product_MRP, |
| 'Store_Id':Store_Id, |
| 'Store_Establishment_Year':Store_Establishment_Year, |
| 'Store_Size':Store_Size, |
| 'Store_Location_City_Type':Store_Location_City_Type, |
| 'Store_Type':Store_Type |
| }]) |
|
|
| |
| if st.button("Predict"): |
| response = requests.post("https://Shanmuganathan75-SuperKartPredictionBackend.hf.space/v1/sales", json=input_data.to_dict(orient='records')[0]) |
| if response.status_code == 200: |
| prediction = response.json()['Predicted Price (in dollars)'] |
| st.success(f"Predicted sales Price (in dollars): {prediction}") |
| else: |
| st.error("Error making prediction.") |
|
|
| |
| st.subheader("Sales Batch Prediction") |
|
|
| |
| uploaded_file = st.file_uploader("Upload CSV file for batch prediction", type=["csv"]) |
|
|
| |
| if uploaded_file is not None: |
| if st.button("Predict Batch"): |
| response = requests.post("https://Shanmuganathan75-SuperKartPredictionBackend.hf.space/v1/salesbatch", files={"file": uploaded_file}) |
| if response.status_code == 200: |
| predictions = response.json() |
| st.success("Batch predictions completed!") |
| st.write(predictions) |
| else: |
| st.error("Error making batch prediction.") |
|
|