diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 4eeb2c0..a416b6c 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2660,8 +2660,10 @@
       rc->projected_frame_size = (int)(*size) << 3;
 
 #if CONFIG_BITRATE_ACCURACY
-      printf("\nframe: %d, projected frame size: %d\n", cpi->gf_frame_index,
-             rc->projected_frame_size);
+      cpi->ppi->tpl_data.actual_gop_bitrate += rc->projected_frame_size;
+      printf("\nframe: %d, projected frame size: %d, total: %f\n",
+             cpi->gf_frame_index, rc->projected_frame_size,
+             cpi->ppi->tpl_data.actual_gop_bitrate);
 #endif
     }
 
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 2729949..f8889a4 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -1502,6 +1502,10 @@
     TplDepFrame *tpl_frame = &tpl_data->tpl_stats_buffer[frame_idx];
     av1_tpl_stats_init_txfm_stats(tpl_frame, tpl_data->tpl_bsize_1d);
   }
+#if CONFIG_BITRATE_ACCURACY
+  tpl_data->estimated_gop_bitrate = 0;
+  tpl_data->actual_gop_bitrate = 0;
+#endif
 }
 
 static AOM_INLINE int eval_gop_length(double *beta, int gop_eval) {
@@ -1631,9 +1635,12 @@
   }
 
 #if CONFIG_BITRATE_ACCURACY
-  double gop_bitrate = av1_estimate_gop_bitrate(gf_group->q_val, gf_group->size,
-                                                tpl_data->txfm_stats_list);
-  printf("\nestimated bitrate: %f\n", gop_bitrate);
+  tpl_data->estimated_gop_bitrate = av1_estimate_gop_bitrate(
+      gf_group->q_val, gf_group->size, tpl_data->txfm_stats_list);
+  if (gf_group->update_type[cpi->gf_frame_index] == ARF_UPDATE &&
+      gop_eval == 0) {
+    printf("\nestimated bitrate: %f\n", tpl_data->estimated_gop_bitrate);
+  }
 #endif
 
   for (int frame_idx = tpl_gf_group_frames - 1;
diff --git a/av1/encoder/tpl_model.h b/av1/encoder/tpl_model.h
index 1d3b310..64a765d 100644
--- a/av1/encoder/tpl_model.h
+++ b/av1/encoder/tpl_model.h
@@ -215,6 +215,14 @@
    * Frame border for tpl frame.
    */
   int border_in_pixels;
+
+#if CONFIG_BITRATE_ACCURACY
+  /*
+   * Estimated and actual GOP bitrate.
+   */
+  double estimated_gop_bitrate;
+  double actual_gop_bitrate;
+#endif
 } TplParams;
 
 /*!\brief Allocate buffers used by tpl model
