diff --git a/src/sakia/core/money/quant_zerosum.py b/src/sakia/core/money/quant_zerosum.py
index a27bdbf937bcc173653dbfa9b2d4b55f699f4e90..c8fb532f27dcbb69f201215ec6dde3ecff570d3d 100644
--- a/src/sakia/core/money/quant_zerosum.py
+++ b/src/sakia/core/money/quant_zerosum.py
@@ -2,6 +2,7 @@ from PyQt5.QtCore import QCoreApplication, QT_TRANSLATE_NOOP, QLocale
 from . import Quantitative
 import asyncio
 
+
 class QuantitativeZSum:
     _NAME_STR_ = QT_TRANSLATE_NOOP('QuantitativeZSum', 'Quant Z-sum')
     _REF_STR_ = QT_TRANSLATE_NOOP('QuantitativeZSum', "{0} Q0 {1}")
@@ -22,24 +23,31 @@ class QuantitativeZSum:
 
     @classmethod
     def diff_units(cls, currency):
-        return QuantitativeZSum.units(currency)
+        return Quantitative.units(currency)
 
     @asyncio.coroutine
     def value(self):
         """
         Return quantitative value of amount minus the average value
 
+        t = last UD block
+        t-1 = penultimate UD block
+        M = Monetary mass
+        N = Members count
+
+        zsum value = value - ( M(t-1) / N(t) )
+
         :param int amount:   Value
         :param sakia.core.community.Community community: Community instance
         :return: int
         """
-        current = yield from self.community.get_block()
-        if current and current['membersCount'] > 0:
-            monetary_mass = yield from self.community.monetary_mass()
-            average = monetary_mass / current['membersCount']
+        ud_block = yield from self.community.get_ud_block()
+        ud_block_minus_1 = yield from self.community.get_ud_block(1)
+        if ud_block_minus_1 and ud_block['membersCount'] > 0:
+            average = ud_block_minus_1['monetaryMass'] / ud_block['membersCount']
         else:
             average = 0
-        return self.amount - monetary_mass
+        return self.amount - average
 
     @asyncio.coroutine
     def differential(self):
@@ -67,4 +75,4 @@ class QuantitativeZSum:
     @asyncio.coroutine
     def diff_localized(self, units=False, international_system=False):
         localized = yield from Quantitative(self.amount, self.community, self.app).localized(units, international_system)
-        return localized
\ No newline at end of file
+        return localized
diff --git a/src/sakia/core/money/quantitative.py b/src/sakia/core/money/quantitative.py
index 4ac9024f329d17ce3bf813dd41358612dac0d8d5..809ce5fe470f43b93d6cb682e9257fd119ea23ab 100644
--- a/src/sakia/core/money/quantitative.py
+++ b/src/sakia/core/money/quantitative.py
@@ -1,6 +1,7 @@
 from PyQt5.QtCore import QCoreApplication, QT_TRANSLATE_NOOP, QObject, QLocale
 import asyncio
 
+
 class Quantitative():
     _NAME_STR_ = QT_TRANSLATE_NOOP('Quantitative', 'Units')
     _REF_STR_ = QT_TRANSLATE_NOOP('Quantitative', "{0} {1}{2}")
diff --git a/src/sakia/core/money/relative.py b/src/sakia/core/money/relative.py
index 171a09fe15c7a54272456348cdcf2b832caaedc8..a524e468468f9e61265ea52fd0e1155c57473e30 100644
--- a/src/sakia/core/money/relative.py
+++ b/src/sakia/core/money/relative.py
@@ -1,7 +1,8 @@
 from PyQt5.QtCore import QObject, QCoreApplication, QT_TRANSLATE_NOOP, QLocale
 import asyncio
 
-class Relative():
+
+class Relative:
     _NAME_STR_ = QT_TRANSLATE_NOOP('Relative', 'UD')
     _REF_STR_ = QT_TRANSLATE_NOOP('Relative',  "{0} {1}UD {2}")
     _UNITS_STR_ = QT_TRANSLATE_NOOP('Relative',  "UD {0}")
diff --git a/src/sakia/core/money/relative_zerosum.py b/src/sakia/core/money/relative_zerosum.py
index a98ae864052ca758e99e91317c430b99d415088b..79629e88f829311c32c2583556f15c9d8c98ed69 100644
--- a/src/sakia/core/money/relative_zerosum.py
+++ b/src/sakia/core/money/relative_zerosum.py
@@ -23,26 +23,34 @@ class RelativeZSum:
 
     @classmethod
     def diff_units(cls, currency):
-        return RelativeZSum.units(currency)
+        return Relative.units(currency)
 
     @asyncio.coroutine
     def value(self):
         """
         Return relative value of amount minus the average value
 
+        t = last UD block
+        t-1 = penultimate UD block
+        M = Monetary mass
+        N = Members count
+
+        zsum value = (value / UD(t)) - (( M(t-1) / N(t) ) / UD(t))
+
         :param int amount:   Value
         :param sakia.core.community.Community community: Community instance
         :return: float
         """
-        current = yield from self.community.get_block()
-        if current and current['membersCount'] > 0:
-            monetary_mass = yield from self.community.monetary_mass()
-            dividend = yield from self.community.dividend()
-            average = monetary_mass / current['membersCount']
-            rz_value = (self.amount - average) / float(dividend)
+        ud_block = yield from self.community.get_ud_block()
+        ud_block_minus_1 = yield from self.community.get_ud_block(1)
+        if ud_block_minus_1 and ud_block['membersCount'] > 0:
+            median = ud_block_minus_1['monetaryMass'] / ud_block['membersCount']
+            relative_value = self.amount / float(ud_block['dividend'])
+            relative_median = median / ud_block['dividend']
         else:
-            rz_value = self.amount
-        return rz_value
+            relative_value = self.amount
+            relative_median = 0
+        return relative_value - relative_median
 
     @asyncio.coroutine
     def differential(self):
diff --git a/src/sakia/gui/informations_tab.py b/src/sakia/gui/informations_tab.py
index a2184503ea6ca3346a7b4589dab7402db40cf213..9a4fa7a8a200b77c394b7a4bfff0d1447cac1d31 100644
--- a/src/sakia/gui/informations_tab.py
+++ b/src/sakia/gui/informations_tab.py
@@ -6,7 +6,6 @@ Created on 31 janv. 2015
 
 import logging
 import asyncio
-import math
 from PyQt5.QtCore import QLocale, QDateTime, QEvent
 from PyQt5.QtWidgets import QWidget
 from ..gen_resources.informations_tab_uic import Ui_InformationsTabWidget
@@ -14,6 +13,7 @@ from ..tools.decorators import asyncify, once_at_a_time, cancel_once_task
 from ..tools.exceptions import NoPeerAvailable
 from .widgets import Busy
 
+
 class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
     """
     classdocs
@@ -23,8 +23,8 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
         """
         Constructor of the InformationsTabWidget
 
-        :param app: sakia.core.Application
-        :param community: sakia.core.Community
+        :param sakia.core.app.Application app: Application instance
+
         :return:
         """
         super().__init__()
@@ -36,6 +36,10 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
         self.busy.hide()
 
     def change_account(self, account):
+        """
+
+        :param sakia.core.app.Account account: Account instance selected
+        """
         cancel_once_task(self, self.refresh_labels)
         self.account = account
 
@@ -110,6 +114,7 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
                 <tr><td align="right"><b>{:2.2%} / {:} days</b></td><td>{:}</td></tr>
                 <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
                 <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
+                <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
                 </table>
                 """).format(
                     localized_ud,
@@ -128,6 +133,12 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
 
                     params['dt'] / 86400,
                     self.tr('Actual growth c = UD(t)/[M(t-1)/N(t)]'),
+                    QLocale.toString(
+                        QLocale(),
+                        QDateTime.fromTime_t(block_ud_minus_1['medianTime']),
+                        QLocale.dateTimeFormat(QLocale(), QLocale.ShortFormat)
+                    ),
+                    self.tr('Penultimate UD date and time (t-1)'),
                     QLocale.toString(
                         QLocale(),
                         QDateTime.fromTime_t(block_ud['medianTime']),