diff --git a/src/gui_realtime_shock_decomposition.m b/src/gui_realtime_shock_decomposition.m
index 413a3138748c85085459f0d010b7d379c7dbb576..d7cd78d1355b33bb7ab6076c0ac178668668d948 100644
--- a/src/gui_realtime_shock_decomposition.m
+++ b/src/gui_realtime_shock_decomposition.m
@@ -250,6 +250,25 @@ handles.pushbuttonClose = uicontrol( ...
             'Units', 'normalized', ...
             'Position', [spc+dwidth*1.6 top-num*dheight dwidth dheight/1.5], ...
             'FontWeight', 'normal');
+        
+        num = num + 1;
+        uicontrol( ...
+            'Parent', handles.uipanelResults, ...
+            'Tag', 'text8', ...
+            'Style', 'text', ...
+            'Units', 'normalized', ...
+            'Position', [spc*3 top-num*dheight dwidth*1.5 dheight/2], ...
+            'String', 'type:', ...
+            'HorizontalAlignment', 'left');
+
+        handles.type = uicontrol( ...
+            'Parent', handles.uipanelResults, ...
+            'Tag', 'type', ...
+            'Style', 'popupmenu', ...
+            'Units', 'normalized', ...
+            'Position', [spc*3+dwidth*1.5 top-num*dheight dwidth*2 dheight/2], ...
+            'String', {'qoq','yoy','aoa'}, ...
+            'Value', 1);
     end
 
     function pushbuttonShockDecomposition_Callback(hObject, ~)
@@ -280,6 +299,7 @@ handles.pushbuttonClose = uicontrol( ...
         options_.presample = str2double(handles.PresamplePeriod.String);
         options_.nodisplay = 0;
         options_.plot_priors = 0;
+        options_.type = handles.type.String;
         gui_tools.project_log_entry('Running shock decomposition','...');
         [jObj, guiObj] = gui_tools.create_animated_screen('Running shock decomposition, please wait...', tabId);
         var_list_ = handles.endoTable.Data([handles.endoTable.Data{:,1}], 2);
@@ -373,6 +393,7 @@ handles.pushbuttonClose = uicontrol( ...
         handles.lastPeriodQuarter.Value = handles.lastPeriodQuarterDefault;
         handles.lastPeriodYear.Value = handles.lastPeriodYearDefault;
         handles.useShockGrouping.Value = 0;
+        handles.type.Value = 1;
     end
 
     function close_tab(~, ~, hTab)
diff --git a/src/gui_shock_decomposition.m b/src/gui_shock_decomposition.m
index 3ac323c31b59988e3e7e83ebd976a01fd423a833..a75c7e9cf43ad6752f4187c28cb18f8e84745904 100644
--- a/src/gui_shock_decomposition.m
+++ b/src/gui_shock_decomposition.m
@@ -228,6 +228,25 @@ handles.pushbuttonClose = uicontrol( ...
             'Position', [spc top-num*dheight 1-spc*4 dheight/2], ...
             'String', 'init_state (condition on smoothed states in period 1)',...
             'FontWeight', 'bold');
+        
+        num = num + 1;
+        uicontrol( ...
+            'Parent', handles.uipanelResults, ...
+            'Tag', 'text8', ...
+            'Style', 'text', ...
+            'Units', 'normalized', ...
+            'Position', [spc*3 top-num*dheight dwidth*1.5 dheight/2], ...
+            'String', 'type:', ...
+            'HorizontalAlignment', 'left');
+
+        handles.type = uicontrol( ...
+            'Parent', handles.uipanelResults, ...
+            'Tag', 'type', ...
+            'Style', 'popupmenu', ...
+            'Units', 'normalized', ...
+            'Position', [spc*3+dwidth*1.5 top-num*dheight dwidth*2 dheight/2], ...
+            'String', {'qoq','yoy','aoa'}, ...
+            'Value', 1);
     end
 
     function pushbuttonShockDecomposition_Callback(hObject, ~)
@@ -254,6 +273,7 @@ handles.pushbuttonClose = uicontrol( ...
         options_.datafile = project_info.data_file;
         options_.nodisplay = 0;
         options_.plot_priors = 0;
+        options_.type = handles.type.String;
         gui_tools.project_log_entry('Running shock decomposition', '...');
         [jObj, guiObj] = gui_tools.create_animated_screen('Running shock decomposition, please wait...', tabId);
         var_list_ = handles.endoTable.Data([handles.endoTable.Data{:,1}], 2);
@@ -349,6 +369,7 @@ handles.pushbuttonClose = uicontrol( ...
         handles.lastPeriodYear.Value = handles.lastPeriodYearDefault;
         handles.useShockGrouping.Value = 0;
         handles.useInitState.Value = 0;
+        handles.type.Value = 1;
     end
 
     function close_tab(~, ~, hTab)