diff --git a/lib/workers/repository/stats.spec.ts b/lib/workers/repository/stats.spec.ts
index ff321b4206f91d79b90afc34fc650a2fcf29537b..0e313453314cbbf40320ef03bba3b239128fdff9 100644
--- a/lib/workers/repository/stats.spec.ts
+++ b/lib/workers/repository/stats.spec.ts
@@ -133,11 +133,13 @@ describe('workers/repository/stats', () => {
             "avgMs": 40,
             "count": 4,
             "maxMs": 100,
+            "medianMs": 20,
           },
           "set": {
             "avgMs": 70,
             "count": 3,
             "maxMs": 110,
+            "medianMs": 80,
           },
         }
       `);
diff --git a/lib/workers/repository/stats.ts b/lib/workers/repository/stats.ts
index f6d2a584d4d8f2e267cc40f2e19f00d2e450c52c..dd95bb0b333993a92f8d7b593991a4998192dcdd 100644
--- a/lib/workers/repository/stats.ts
+++ b/lib/workers/repository/stats.ts
@@ -7,6 +7,7 @@ import type { RequestStats } from '../../util/http/types';
 interface CacheStats {
   count: number;
   avgMs?: number;
+  medianMs?: number;
   maxMs?: number;
 }
 
@@ -29,13 +30,23 @@ export function printRequestStats(): void {
     packageCacheStats.get.avgMs = Math.round(
       packageCacheGets.reduce((a, b) => a + b, 0) / packageCacheGets.length
     );
-    packageCacheStats.get.maxMs = packageCacheGets[packageCacheGets.length - 1];
+    if (packageCacheGets.length > 1) {
+      packageCacheStats.get.medianMs =
+        packageCacheGets[Math.round(packageCacheGets.length / 2) - 1];
+      packageCacheStats.get.maxMs =
+        packageCacheGets[packageCacheGets.length - 1];
+    }
   }
   if (packageCacheSets.length) {
     packageCacheStats.set.avgMs = Math.round(
       packageCacheSets.reduce((a, b) => a + b, 0) / packageCacheSets.length
     );
-    packageCacheStats.set.maxMs = packageCacheSets[packageCacheSets.length - 1];
+    if (packageCacheSets.length > 1) {
+      packageCacheStats.set.medianMs =
+        packageCacheSets[Math.round(packageCacheSets.length / 2) - 1];
+      packageCacheStats.set.maxMs =
+        packageCacheSets[packageCacheSets.length - 1];
+    }
   }
   logger.debug(packageCacheStats, 'Package cache statistics');
   const httpRequests = memCache.get<RequestStats[]>('http-requests');