1
📊
Ambil data promosiSejarah promosi — belanjawan, diskaun, hasil
2
🧮
Kira ROINisbah hasil pulangan setiap promosi
3
🔍
Optimasi diskaunCadangan peratus diskaun optimum
4
📅
Jana kalendarJadual pelaksanaan promosi
import json, pandas as pd
from datetime import datetime, timedelta
PROMO_HISTORY = [
{"name":"Hari Merdeka","budget":5000,"revenue":17500,"discount":15},
{"name":"Back to School","budget":3500,"revenue":9800,"discount":20},
{"name":"Clearance Sale","budget":8000,"revenue":12000,"discount":50},
{"name":"Hari Raya","budget":12000,"revenue":50400,"discount":10}
]
def analyze_promos(promos):
df = pd.DataFrame(promos)
df["roi"] = (df["revenue"] - df["budget"]) / df["budget"]
avg_roi = df["roi"].mean()
opt_discount = df.loc[df["roi"].idxmax(), "discount"]
calendar = []
for _, r in df.iterrows():
start = (datetime.now() + timedelta(days=len(calendar)*14)).strftime("%d-%m-%Y")
calendar.append({"name":r["name"],"start":start,"discount":f"{r['discount']}%","expected_roi":round(r["roi"],2)})
return {"avg_roi":round(avg_roi,2),"opt_discount":f"{opt_discount}%","total_budget":int(df["budget"].sum()),"calendar":calendar}
result = analyze_promos(PROMO_HISTORY)
print(json.dumps(result, indent=2))