|
|
import streamlit as st |
|
|
import pandas as pd |
|
|
import requests |
|
|
|
|
|
|
|
|
st.title("SuperKart Sales Predictor App") |
|
|
st.write("This tool predicts store sales revenue based on store and product details. Enter the required information below.") |
|
|
|
|
|
|
|
|
ProductWeight = st.number_input("Product_Weight", min_value= 0.5, max_value= 100.0), |
|
|
ProductSugarContent = st.selectbox("Product_Sugar_Content",["No Sugar", "Low Sugar", "Regular"]) |
|
|
ProductAllocatedArea = st.number_input("Product_Allocated_Area", min_value=0.001, max_value=0.5), |
|
|
ProductType = st.selectbox("Product_Type",["Baking Goods", "Breads", "Breakfast", "Canned", "Dairy", "Frozen Foods", "Fruits and Vegetables", "Hard Drinks", "Health and Hygiene", "Household", "Meat", "Seafood", "Snack Foods", "Soft Drinks", "Starchy Foods"]), |
|
|
ProductMRP = st.number_input("Product_MRP", min_value=5, max_value=500), |
|
|
StoreID = st.selectbox("Store_Id",["OUT001", "OUT002", "OUT003","OUT004"]), |
|
|
StoreSize = st.selectbox("Store_Size", ["Small", "Medium", "High"]), |
|
|
StoreLocationCityType = st.selectbox("Store_Location_City_Type",["Tier 1", "Tier 2", "Tier 3"]), |
|
|
StoreType = st.selectbox("Store_Type",["Supermarket Type1", "Supermarket Type2", "Grocery Store"]), |
|
|
StoreEstablishmentYear = st.number_input("Store_Age", min_value=2023, max_value=2027) |
|
|
|
|
|
|
|
|
store_data = { |
|
|
'Product_Weight' : ProductWeight, |
|
|
'Product_Sugar_Content' : ProductSugarContent, |
|
|
'Product_Allocated_Area' : ProductAllocatedArea, |
|
|
'Product_Type' : ProductType, |
|
|
'Product_MRP' : ProductMRP, |
|
|
'Store_Id' : StoreID, |
|
|
'Store_Size' : StoreSize, |
|
|
'Store_Location_City_Type' : StoreLocationCityType, |
|
|
'Store_Type' : StoreType, |
|
|
'Store_Age' : StoreEstablishmentYear |
|
|
} |
|
|
|
|
|
if st.button("Predict", type='primary'): |
|
|
response = requests.post("https://rojasnath/Backend.hf.space/predict", json=store_data) |
|
|
if response.status_code == 200: |
|
|
result = response.json() |
|
|
sales_prediction = result['prediction'] |
|
|
st.write(f"Based on the information provided, the forecasted sales revenue for the store is ${sales_prediction:.2f}.") |
|
|
else: |
|
|
st.error("Error in API Request") |
|
|
|
|
|
|
|
|
|
|
|
st.subheader("Batch Prediction") |
|
|
|
|
|
file = st.file_uploader("Upload a CSV file", type=["csv"]) |
|
|
if file is not None: |
|
|
if st.button("Predict"): |
|
|
response = requests.post("https://rojasnath/Backend.hf.space/predict_batch", files={"file": file}) |
|
|
if response.status_code == 200: |
|
|
result = response.json() |
|
|
st.header("Bacth Prediction Results") |
|
|
st.write(result) |
|
|
else: |
|
|
st.error("Error in API Request") |
|
|
|