diff --git a/tests/chunks/discover-version-fixture.hpp b/tests/chunks/discover-version-fixture.hpp
index ed18235..d42429a 100644
--- a/tests/chunks/discover-version-fixture.hpp
+++ b/tests/chunks/discover-version-fixture.hpp
@@ -75,7 +75,7 @@
     Options options;
     options.isVerbose = false;
     options.interestLifetime = time::seconds(1);
-    options.maxRetriesOnTimeoutOrNack = 3;
+    options.maxRetriesOnTimeoutOrNack = 15;
     return options;
   }
 
diff --git a/tests/chunks/discover-version-realtime.t.cpp b/tests/chunks/discover-version-realtime.t.cpp
index 630594b..5bfcfce 100644
--- a/tests/chunks/discover-version-realtime.t.cpp
+++ b/tests/chunks/discover-version-realtime.t.cpp
@@ -58,7 +58,7 @@
   {
     Options options;
     options.isVerbose = false;
-    options.maxRetriesOnTimeoutOrNack = 3;
+    options.maxRetriesOnTimeoutOrNack = 15;
     return options;
   }
 };
diff --git a/tests/chunks/pipeline-interests-aimd.t.cpp b/tests/chunks/pipeline-interests-aimd.t.cpp
index 0e6341e..77dc1f0 100644
--- a/tests/chunks/pipeline-interests-aimd.t.cpp
+++ b/tests/chunks/pipeline-interests-aimd.t.cpp
@@ -179,8 +179,19 @@
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 4.5, MARGIN);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), nDataSegments); // all the segment requests have been sent
 
-  // timeout segment 3
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nLossDecr, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nMarkDecr, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nSkippedRetx, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nCongMarks, 0);
+
+  // timeout segment 3 & 6
   advanceClocks(io, time::milliseconds(150));
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 1);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nLossDecr, 1);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nSkippedRetx, 0);
 
   BOOST_CHECK_EQUAL(pipeline->m_nReceived, 5);
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 2.25, MARGIN); // window size drop to 1/2 of previous size
@@ -194,6 +205,12 @@
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 2.75, MARGIN); // congestion avoidance
   BOOST_CHECK_EQUAL(aimdPipeline->m_retxQueue.size(), 0);
   BOOST_CHECK_EQUAL(aimdPipeline->m_retxCount[3], 1);
+
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts,
+      aimdPipeline->m_nRetransmitted + aimdPipeline->m_nSkippedRetx);
+
 }
 
 BOOST_AUTO_TEST_CASE(CongestionMarksWithCwa)
diff --git a/tools/chunks/catchunks/options.hpp b/tools/chunks/catchunks/options.hpp
index b078277..d3a564e 100644
--- a/tools/chunks/catchunks/options.hpp
+++ b/tools/chunks/catchunks/options.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2016-2018, Regents of the University of California,
+ * Copyright (c) 2016-2019, Regents of the University of California,
  *                          Colorado State University,
  *                          University Pierre & Marie Curie, Sorbonne University.
  *
@@ -36,7 +36,7 @@
 struct Options
 {
   time::milliseconds interestLifetime = ndn::DEFAULT_INTEREST_LIFETIME;
-  int maxRetriesOnTimeoutOrNack = 3;
+  int maxRetriesOnTimeoutOrNack = 15;
   bool mustBeFresh = false;
   bool isQuiet = false;
   bool isVerbose = false;
diff --git a/tools/chunks/catchunks/pipeline-interests-aimd.cpp b/tools/chunks/catchunks/pipeline-interests-aimd.cpp
index eea122e..b802e34 100644
--- a/tools/chunks/catchunks/pipeline-interests-aimd.cpp
+++ b/tools/chunks/catchunks/pipeline-interests-aimd.cpp
@@ -47,7 +47,10 @@
   , m_highInterest(0)
   , m_recPoint(0)
   , m_nInFlight(0)
-  , m_nLossEvents(0)
+  , m_nLossDecr(0)
+  , m_nMarkDecr(0)
+  , m_nTimeouts(0)
+  , m_nSkippedRetx(0)
   , m_nRetransmitted(0)
   , m_nCongMarks(0)
   , m_nSent(0)
@@ -103,6 +106,7 @@
     if (segInfo.state != SegmentState::InRetxQueue) { // skip segments already in the retx queue
       Milliseconds timeElapsed = time::steady_clock::now() - segInfo.timeSent;
       if (timeElapsed.count() > segInfo.rto.count()) { // timer expired?
+        m_nTimeouts++;
         hasTimeout = true;
         enqueueForRetransmission(entry.first);
       }
@@ -191,6 +195,7 @@
       uint64_t retxSegNo = m_retxQueue.front();
       m_retxQueue.pop();
       if (m_segmentInfo.count(retxSegNo) == 0) {
+        m_nSkippedRetx++;
         continue;
       }
       // the segment is still in the map, that means it needs to be retransmitted
@@ -257,6 +262,7 @@
       if (m_options.disableCwa || m_highData > m_recPoint) {
         m_recPoint = m_highInterest;  // react to only one congestion event (timeout or congestion mark)
                                       // per RTT (conservative window adaptation)
+        m_nMarkDecr++;
         decreaseWindow();
 
         if (m_options.isVerbose) {
@@ -333,6 +339,7 @@
   if (isStopping())
     return;
 
+  m_nTimeouts++;
   enqueueForRetransmission(getSegmentFromPacket(interest));
   recordTimeout();
   schedulePackets();
@@ -347,7 +354,7 @@
 
     decreaseWindow();
     m_rttEstimator.backoffRto();
-    m_nLossEvents++;
+    m_nLossDecr++;
 
     if (m_options.isVerbose) {
       std::cerr << "Packet loss event, new cwnd = " << m_cwnd
@@ -433,11 +440,11 @@
 PipelineInterestsAimd::printSummary() const
 {
   PipelineInterests::printSummary();
-  std::cerr << "Total # of lost/retransmitted segments: " << m_nRetransmitted
-            << " (caused " << m_nLossEvents << " window decreases)\n"
-            << "Packet loss rate: "
-            << (m_nSent == 0 ? 0 : (static_cast<double>(m_nRetransmitted) / static_cast<double>(m_nSent) * 100))  << "%\n"
-            << "Total # of received congestion marks: " << m_nCongMarks << "\n"
+  std::cerr << "Congestion marks: " << m_nCongMarks << " (caused " << m_nMarkDecr << " window decreases)\n"
+            << "Timeouts: " << m_nTimeouts << " (caused " << m_nLossDecr << " window decreases)\n"
+            << "Retransmitted segments: " << m_nRetransmitted
+            << " (" << (m_nSent == 0 ? 0 : (static_cast<double>(m_nRetransmitted) / m_nSent * 100.0))  << "%)"
+            << ", skipped: " << m_nSkippedRetx << "\n"
             << "RTT ";
 
   if (m_rttEstimator.getMinRtt() == std::numeric_limits<double>::max() ||
diff --git a/tools/chunks/catchunks/pipeline-interests-aimd.hpp b/tools/chunks/catchunks/pipeline-interests-aimd.hpp
index 12edb95..4ef21ac 100644
--- a/tools/chunks/catchunks/pipeline-interests-aimd.hpp
+++ b/tools/chunks/catchunks/pipeline-interests-aimd.hpp
@@ -200,8 +200,12 @@
                        ///< it remains fixed until the next packet loss event happens
 
   int64_t m_nInFlight; ///< # of segments in flight
-  int64_t m_nLossEvents; ///< # of loss events occurred
-  int64_t m_nRetransmitted; ///< # of segments retransmitted
+  int64_t m_nLossDecr; ///< # of window decreases caused by packet loss
+  int64_t m_nMarkDecr; ///< # of window decreases caused by congestion marks
+  int64_t m_nTimeouts; ///< # of timed out segments
+  int64_t m_nSkippedRetx; ///< # of segments queued for retransmission but received before the
+                          ///< retransmission occurred
+  int64_t m_nRetransmitted; ///< # of retransmitted segments
   int64_t m_nCongMarks; ///< # of data packets with congestion mark
   int64_t m_nSent; ///< # of interest packets sent out (including retransmissions)
 
diff --git a/tools/chunks/catchunks/pipeline-interests.cpp b/tools/chunks/catchunks/pipeline-interests.cpp
index a6c7c21..3b0bff9 100644
--- a/tools/chunks/catchunks/pipeline-interests.cpp
+++ b/tools/chunks/catchunks/pipeline-interests.cpp
@@ -136,9 +136,9 @@
   duration<double, milliseconds::period> timeElapsed = steady_clock::now() - getStartTime();
   double throughput = (8 * m_receivedSize * 1000) / timeElapsed.count();
 
-  std::cerr << "\nAll segments have been received.\n"
+  std::cerr << "\n\nAll segments have been received.\n"
             << "Time elapsed: " << timeElapsed << "\n"
-            << "Total # of segments received: " << m_nReceived << "\n"
+            << "Segments received: " << m_nReceived << "\n"
             << "Total size: " << static_cast<double>(m_receivedSize) / 1000 << "kB" << "\n"
             << "Goodput: " << formatThroughput(throughput) << "\n";
 }
