diff --git a/knowledge/survey/browser.py b/knowledge/survey/browser.py
index ec580e6..03adf71 100644
--- a/knowledge/survey/browser.py
+++ b/knowledge/survey/browser.py
@@ -23,6 +23,7 @@ surveys and self-assessments.
import csv
from cStringIO import StringIO
+import math
from zope.app.pagetemplate import ViewPageTemplateFile
from zope.cachedescriptors.property import Lazy
from zope.i18n import translate
@@ -269,8 +270,12 @@ class SurveyView(InstitutionMixin, ConceptView):
average = float(sum(values)) / len(values)
if question.revertAnswerOptions:
average = question.answerRange - average - 1
+ devs = [(average - v) for v in values]
+ stddev = math.sqrt(sum(d * d for d in devs) / len(values))
average = average * 100 / (question.answerRange - 1)
+ stddev = stddev * 100 / (question.answerRange - 1)
result['average'] = int(round(average))
+ result['stddev'] = int(round(stddev))
texts = [r.texts.get(question) for r in self.teamData]
result['texts'] = '
'.join([unicode(t) for t in texts if t])
return result
diff --git a/knowledge/survey/view_macros.pt b/knowledge/survey/view_macros.pt
index 1ae3702..3565e33 100644
--- a/knowledge/survey/view_macros.pt
+++ b/knowledge/survey/view_macros.pt
@@ -178,10 +178,12 @@