Spaces:
Runtime error
Runtime error
| #KPIs | |
| class PerformanceTracker: | |
| def __init__(self): | |
| self.total_demand = 0 | |
| self.total_fulfilled_demand = 0 | |
| self.fill_rate = 0 | |
| self.write_offs = 0 | |
| self.stock_out_count = 0 | |
| self.total_lost_sales = 0 | |
| # ADD INVENTORY KPI | |
| def daily_performance(self, demand_quantity, fulfilled_demand, daily_writeoff): | |
| self.total_demand += demand_quantity | |
| self.total_fulfilled_demand += fulfilled_demand | |
| self.fill_rate = 1 - (self.total_demand - self.total_fulfilled_demand ) / self.total_demand if self.total_demand > 0 else 0 | |
| self.write_offs += daily_writeoff | |
| self.total_lost_sales += (demand_quantity - fulfilled_demand) if demand_quantity > fulfilled_demand else 0 | |
| if fulfilled_demand < demand_quantity: | |
| self.stock_out_counter() | |
| def stock_out_counter(self) -> int: | |
| self.stock_out_count += 1 | |
| return self.stock_out_count | |
| def performance_summary(self): | |
| return { | |
| "total_demand": self.total_demand, | |
| "fulfilled_demand": self.total_fulfilled_demand, | |
| "fill_rate": self.fill_rate, | |
| "write_offs": self.write_offs, | |
| "stock_out_count": self.stock_out_count, | |
| "total_lost_sales": self.total_lost_sales | |
| } | |