from pathlib import Path

import datetime
import matplotlib.pyplot as plt
import pandas as pd

csv_path = Path(__file__).resolve().parents[2] / "retail_raw_reduced.csv"
df = pd.read_csv(csv_path)

df["order_month"] = pd.to_datetime(df["order_date"]).dt.month
df["order_date"] = pd.to_datetime(df["order_date"])
df["gmv"] = df["item_price"] * df["quantity"]

df_dec = df[df["order_month"] == 12]

daily_customers = df_dec.groupby(["order_date"])["customer_id"].nunique()

# Reindex agar sumbu-x mencakup semua tanggal 1-31 Desember 2019
full_dates = pd.date_range("2019-12-01", "2019-12-31", freq="D")
daily_customers = daily_customers.reindex(full_dates, fill_value=0)

plt.figure(figsize=(10, 5))
plt.plot(daily_customers.index, daily_customers.values, marker=".", linestyle="-", color="b")
plt.title("Daily Customers December 2019", loc="center", pad=20, fontsize=15, color="blue")
plt.xlabel("Order Date", fontsize=12)
plt.ylabel("Number of Customers", fontsize=12)
plt.grid(color="darkgray", linestyle=":", linewidth=0.5)
plt.ylim(bottom=0)
plt.xticks(daily_customers.index, [d.strftime("%d") for d in daily_customers.index], rotation=45)
plt.tight_layout()
plt.show()
