etsycalculator / app.py
yunuseduran's picture
Update app.py
4d42c94 verified
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
# Sayfa başlığı ve açıklama
st.title("Etsy Kar Marjı Hesaplama Aracı")
st.subheader("Etsy'de Kar Marjınızı Hesaplayın, ZARAR ETMEYİN")
# Girdi alanları
st.sidebar.header("Mağaza Bilgileri")
currency = st.sidebar.selectbox("Mağaza Para Birimi", ["USD", "EUR", "TRY"])
location = st.sidebar.selectbox("Mağaza Lokasyonu", ["Türkiye", "ABD", "Avrupa"])
tax_id = st.sidebar.radio("Vergi Numarası", ("Var", "Yok"))
offsite_ads_rate = st.sidebar.radio("Offsite Ads Kesinti Oranı", [0, 0.12, 0.15])
st.header("Gelir")
satis_fiyati = st.number_input("Satış Fiyatı ($)", min_value=0.0)
kargo_fiyati = st.number_input("Kargo Fiyatı ($)", min_value=0.0)
hediye_paketi = st.number_input("Hediye Paketi ($)", min_value=0.0)
satis_vergisi = st.number_input("Satış Vergisi ($)", min_value=0.0)
st.header("Maliyet")
urun_maliyeti = st.number_input("Ürün Maliyeti ($)", min_value=0.0)
iscilik_maliyeti = st.number_input("İşçilik Maliyeti ($)", min_value=0.01)
paketleme_maliyeti = st.number_input("Paketleme Maliyeti ($)", min_value=0.0)
kargo_maliyeti = st.number_input("Kargo Maliyeti ($)", min_value=0.0)
reklam_maliyeti = st.number_input("Reklam Maliyeti ($)", min_value=0.0)
if st.button("Hesapla"):
# Hesaplamalar
toplam_gelir = satis_fiyati + kargo_fiyati + hediye_paketi - satis_vergisi
toplam_maliyet = urun_maliyeti + iscilik_maliyeti + paketleme_maliyeti + kargo_maliyeti + reklam_maliyeti
etsy_kesinti = toplam_gelir * 0.2
kar = toplam_gelir - toplam_maliyet - etsy_kesinti
kar_marji = (kar / toplam_gelir) * 100 if toplam_gelir > 0 else 0
# Sonuçları göster
st.metric("Gelir ($)", f"${toplam_gelir:.2f}")
st.metric("Maliyet ($)", f"${toplam_maliyet:.2f}")
st.metric("Etsy Kesinti ($)", f"${etsy_kesinti:.2f}")
st.metric("Kar ($)", f"${kar:.2f}")
st.metric("Kar Marjı %", f"{kar_marji:.2f}%")
# Pasta grafiği
fig, ax = plt.subplots()
labels = ["Kar", "Maliyet", "Etsy Kesinti"]
values = [kar, toplam_maliyet, etsy_kesinti]
colors = ["#FF6384", "#36A2EB", "#FFCE56"]
ax.pie(values, labels=labels, autopct='%1.1f%%', colors=colors, startangle=140)
ax.axis("equal")
st.pyplot(fig)