diff --git a/src/backoffice/templates/ticket_stats.html b/src/backoffice/templates/ticket_stats.html
index ba890026..a4c2ad20 100644
--- a/src/backoffice/templates/ticket_stats.html
+++ b/src/backoffice/templates/ticket_stats.html
@@ -20,6 +20,7 @@
Total Income |
Total Cost |
Total Profit |
+ Avg. Ticket Price |
@@ -32,6 +33,7 @@
{{ tt.total_income|floatformat:"2" }} DKK |
{{ tt.total_cost|floatformat:"2" }} DKK |
{{ tt.total_profit|floatformat:"2" }} DKK |
+ {{ tt.avg_ticket_price|floatformat:"2" }} DKK |
{% endfor %}
diff --git a/src/tickets/models.py b/src/tickets/models.py
index eb2a0450..6caf201c 100644
--- a/src/tickets/models.py
+++ b/src/tickets/models.py
@@ -53,12 +53,22 @@ class TicketTypeQuerySet(models.QuerySet):
.values("total_profit")[:1]
)
+ avg_ticket_price = Subquery(
+ TicketType.objects.annotate(units=Sum(quantity))
+ .annotate(income=Sum(income))
+ .annotate(avg_ticket_price=F("income") / F("units"))
+ .filter(pk=OuterRef("pk"))
+ .values("avg_ticket_price")[:1],
+ output_field=models.DecimalField(),
+ )
+
return self.annotate(
shopticket_count=shopticket_count,
total_units_sold=total_units_sold,
total_income=total_income,
total_cost=total_cost,
total_profit=total_profit,
+ avg_ticket_price=avg_ticket_price,
).distinct()