diff --git a/core/models.py b/core/models.py
index 6572cc2b5aaaa749d641fcbaa7cfa0564c0610fd..f4d8b26b65c618c1455daa3fd0bcae9b2a43bdbb 100644
--- a/core/models.py
+++ b/core/models.py
@@ -133,7 +133,7 @@ class SubmissionType(models.Model):
                     Case(
                         When(
                             Q(submissions__feedback__isnull=False) &
-                            Q(submissions__feedback__status=Feedback.ACCEPTED),
+                            Q(submissions__feedback__is_final=True),
                             then=Value(1)), output_field=IntegerField(),
                     )
                 )
diff --git a/core/urls.py b/core/urls.py
index 61a0cfc5b31bfacac77a471807941b036c96d095..d47a108598e09bac55de7ff7dd3dd9e1451cbd9f 100644
--- a/core/urls.py
+++ b/core/urls.py
@@ -17,6 +17,7 @@ router.register('tutor', views.TutorApiViewSet, base_name='tutor')
 router.register('subscription', views.SubscriptionApiViewSet,
                 base_name='subscription')
 router.register('assignment', views.AssignmentApiViewSet)
+router.register('statistics', views.StatisticsEndpoint, base_name='statistics')
 
 # regular views that are not viewsets
 regular_views_urlpatterns = [
diff --git a/core/views/common_views.py b/core/views/common_views.py
index 7c3535924d695d3266055d8b451171f95f620cfc..da6ab82c324ad4ba15d2f082fe5d8089217cf0e1 100644
--- a/core/views/common_views.py
+++ b/core/views/common_views.py
@@ -4,6 +4,7 @@ user to be authenticated and most are only accessible by one user group """
 import logging
 
 from django.conf import settings
+from django.db.models import Avg
 from rest_framework import generics, mixins, viewsets
 from rest_framework.decorators import api_view
 from rest_framework.response import Response
@@ -84,6 +85,25 @@ class SubmissionTypeApiView(viewsets.ReadOnlyModelViewSet):
     serializer_class = SubmissionTypeSerializer
 
 
+class StatisticsEndpoint(viewsets.ViewSet):
+
+    def list(self, request, *args, **kwargs):
+        return Response({
+            'submissions_per_type':
+            models.SubmissionType.objects.first().submissions.count(),
+
+            'submissions_per_student':
+            models.SubmissionType.objects.count(),
+
+            'current_mean_score':
+            models.Feedback.objects.aggregate(avg=Avg('score')).get('avg', 0),
+
+            'submission_type_progress':
+                models.SubmissionType.get_annotated_feedback_count().values(
+                    'feedback_count', 'pk', 'percentage')
+        })
+
+
 class SubmissionViewSet(viewsets.ReadOnlyModelViewSet):
     permission_classes = (IsTutorOrReviewer, )
     serializer_class = SubmissionNoTypeSerializer