diff --git a/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java b/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
index a2d574a9dbddcda28315ee1bea68983665874354..b1131ab44ae66a96376242584d05401222befc2e 100644
--- a/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
+++ b/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
@@ -36,6 +36,8 @@ public class PointBasedLearningProgress extends VariantLearningProgress {
 		lpv.setCourseProgress(coursePercentage());
 		lpv.setNumQuestions(courseScore.getQuestionCount());
 		lpv.setNumUsers(courseScore.getTotalUserCount());
+		lpv.setNumerator(courseScore.getTotalUserScore());
+		lpv.setDenominator(courseScore.getMaximumScore() * courseScore.getTotalUserCount());
 		return lpv;
 	}
 
@@ -58,6 +60,8 @@ public class PointBasedLearningProgress extends VariantLearningProgress {
 		lpv.setNumQuestions(courseScore.getQuestionCount());
 		lpv.setNumUsers(courseScore.getTotalUserCount());
 		lpv.setMyProgress(myPercentage(user));
+		lpv.setNumerator((int) courseScore.getTotalUserScore(user));
+		lpv.setDenominator(courseScore.getMaximumScore());
 		return lpv;
 	}
 
diff --git a/src/main/java/de/thm/arsnova/domain/QuestionBasedLearningProgress.java b/src/main/java/de/thm/arsnova/domain/QuestionBasedLearningProgress.java
index f9284eaebfa2029309cfb64fc3e88161cec8e643..66f7ea2e746ec056ffc9d9d3392c887a8db724b2 100644
--- a/src/main/java/de/thm/arsnova/domain/QuestionBasedLearningProgress.java
+++ b/src/main/java/de/thm/arsnova/domain/QuestionBasedLearningProgress.java
@@ -37,6 +37,8 @@ public class QuestionBasedLearningProgress extends VariantLearningProgress {
 		lpv.setCourseProgress(calculateCourseProgress());
 		lpv.setNumQuestions(courseScore.getQuestionCount());
 		lpv.setNumUsers(courseScore.getTotalUserCount());
+		lpv.setNumerator(countCorrectAnswers());
+		lpv.setDenominator(courseScore.getTotalUserCount() * courseScore.getQuestionCount());
 		return lpv;
 	}
 
@@ -65,6 +67,17 @@ public class QuestionBasedLearningProgress extends VariantLearningProgress {
 		return numAnswersCorrect;
 	}
 
+	private int countCorrectAnswers() {
+		int answers = 0;
+		for (QuestionScore questionScore : courseScore) {
+			if (!questionScore.hasScores()) {
+				continue;
+			}
+			answers += countCorrectAnswers(questionScore);
+		}
+		return answers;
+	}
+
 	@Override
 	protected LearningProgressValues createMyProgress(User user) {
 		LearningProgressValues lpv = new LearningProgressValues();
@@ -72,6 +85,8 @@ public class QuestionBasedLearningProgress extends VariantLearningProgress {
 		lpv.setMyProgress(myPercentage(numQuestionsCorrectForUser(user), courseScore.getQuestionCount()));
 		lpv.setNumQuestions(courseScore.getQuestionCount());
 		lpv.setNumUsers(courseScore.getTotalUserCount());
+		lpv.setNumerator(numQuestionsCorrectForUser(user));
+		lpv.setDenominator(courseScore.getQuestionCount());
 		return lpv;
 	}
 
diff --git a/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java b/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
index 22dc4ac87b187b530f5a1436a653ab9c6bc0671d..f7245143ddc06a500e1b61ded31d3d2a5755d974 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
@@ -28,6 +28,10 @@ public class LearningProgressValues {
 
 	private int numQuestions;
 
+	private int numerator;
+
+	private int denominator;
+
 	private int numUsers;
 
 	public int getCourseProgress() {
@@ -54,6 +58,22 @@ public class LearningProgressValues {
 		this.numQuestions = numQuestions;
 	}
 
+	public int getNumerator() {
+		return numerator;
+	}
+
+	public void setNumerator(int numerator) {
+		this.numerator = numerator;
+	}
+
+	public int getDenominator() {
+		return denominator;
+	}
+
+	public void setDenominator(int denominator) {
+		this.denominator = denominator;
+	}
+
 	public int getNumUsers() {
 		return numUsers;
 	}
diff --git a/src/test/java/de/thm/arsnova/domain/PointBasedLearningProgressTest.java b/src/test/java/de/thm/arsnova/domain/PointBasedLearningProgressTest.java
index 06348c1399f75e6d4d65f67b3350a85b9f47a28d..1ba9be1c647cb2dc3e990988afb5f6d2eec822f6 100644
--- a/src/test/java/de/thm/arsnova/domain/PointBasedLearningProgressTest.java
+++ b/src/test/java/de/thm/arsnova/domain/PointBasedLearningProgressTest.java
@@ -126,4 +126,24 @@ public class PointBasedLearningProgressTest {
 		assertEquals(50, u2Progress.getCourseProgress());
 		assertEquals(25, u2Progress.getMyProgress());
 	}
+
+	@Test
+	public void shouldIncludeNominatorAndDenominatorOfResult() {
+		// two questions
+		String q1 = this.addQuestion("lecture", 10);
+		String q2 = this.addQuestion("lecture", 10);
+		// one user
+		User u1 = new TestUser("user1");
+		// two answers, last one is wrong
+		this.addAnswer(q1, u1, 10);
+		this.addAnswer(q2, u1, 0);
+
+		int numerator = lp.getCourseProgress(null).getNumerator();
+		int denominator = lp.getCourseProgress(null).getDenominator();
+
+		// If the percentage is wrong, then we need to adapt this test case!
+		assertEquals("Precondition failed -- The underlying calculation has changed", 50, lp.getCourseProgress(null).getCourseProgress());
+		assertEquals(10, numerator);
+		assertEquals(20, denominator);
+	}
 }
diff --git a/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java b/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java
index ba530363753c6f90ab4d7234a80d36122ad35f74..d4652e8d7cb8a6566afb7553ed9be182135ee015 100644
--- a/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java
+++ b/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java
@@ -200,4 +200,24 @@ public class QuestionBasedLearningProgressTest {
 		assertEquals(0, u2Progress.getMyProgress());
 	}
 
+	@Test
+	public void shouldIncludeNominatorAndDenominatorOfResult() {
+		// two questions
+		String q1 = this.addQuestion("lecture", 10);
+		String q2 = this.addQuestion("lecture", 10);
+		// one user
+		User u1 = new TestUser("user1");
+		// two answers, last one is wrong
+		this.addAnswer(q1, u1, 10);
+		this.addAnswer(q2, u1, 0);
+
+		int numerator = lp.getCourseProgress(null).getNumerator();
+		int denominator = lp.getCourseProgress(null).getDenominator();
+
+		// If the percentage is wrong, then we need to adapt this test case!
+		assertEquals("Precondition failed -- The underlying calculation has changed", 50, lp.getCourseProgress(null).getCourseProgress());
+		assertEquals(1, numerator);
+		assertEquals(2, denominator);
+	}
+
 }