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)