diff --git a/app/assets/javascripts/projects/pipelines/charts/components/pipeline_charts_new.vue b/app/assets/javascripts/projects/pipelines/charts/components/pipeline_charts_new.vue
index c0219ab9ff2a756f10595167f8d39a4fbca2466a..0730b3225b8ab452100d71f37dd95a208961528d 100644
--- a/app/assets/javascripts/projects/pipelines/charts/components/pipeline_charts_new.vue
+++ b/app/assets/javascripts/projects/pipelines/charts/components/pipeline_charts_new.vue
@@ -75,7 +75,7 @@ export default {
         this.pipelineAnalytics.aggregate;
       return {
         total: count === null ? '-' : count,
-        meanDuration: durationStatistics.p50,
+        medianDuration: durationStatistics.p50,
         successRatio: Number(count) ? (successCount / count) * 100 : 0,
         failureRatio: Number(count) ? (failedCount / count) * 100 : 0,
       };
diff --git a/app/assets/javascripts/projects/pipelines/charts/components/pipeline_duration_chart.vue b/app/assets/javascripts/projects/pipelines/charts/components/pipeline_duration_chart.vue
index 2bb50cc9432e16d29872aa708f1ade3bfe6e2a16..4213246584d74553b2de34ba8bc5c0bd69c47565 100644
--- a/app/assets/javascripts/projects/pipelines/charts/components/pipeline_duration_chart.vue
+++ b/app/assets/javascripts/projects/pipelines/charts/components/pipeline_duration_chart.vue
@@ -25,7 +25,7 @@ export default {
   computed: {
     data() {
       const durationSeries = [
-        { name: s__('Pipeline|Mean (50th percentile)'), data: [] },
+        { name: s__('Pipeline|Median (50th percentile)'), data: [] },
         { name: s__('Pipeline|95th percentile'), data: [] },
       ];
 
diff --git a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
index 1b2cc998bdff8acb3c23f2745174e5c94e5e11e5..200b6c3385ef8d38cecc09af8a3f05cbbe9852a3 100644
--- a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
+++ b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
@@ -52,11 +52,11 @@ export default {
         },
       ];
 
-      if (this.counts.meanDuration) {
+      if (this.counts.medianDuration) {
         statistics.splice(1, 0, {
-          label: s__('PipelineCharts|Mean duration'),
-          identifier: 'mean-duration',
-          value: formatTimeSpent(this.counts.meanDuration),
+          label: s__('PipelineCharts|Median duration'),
+          identifier: 'median-duration',
+          value: formatTimeSpent(this.counts.medianDuration),
         });
       }
 
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index e298cbeb8a5568d78386d511d35b798e45df595e..ea3adec272aeea2553edfd61a61ea71e8a69c5b5 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -42477,7 +42477,7 @@ msgstr ""
 msgid "PipelineCharts|Last week"
 msgstr ""
 
-msgid "PipelineCharts|Mean duration"
+msgid "PipelineCharts|Median duration"
 msgstr ""
 
 msgid "PipelineCharts|Pipelines"
@@ -43389,7 +43389,7 @@ msgstr ""
 msgid "Pipeline|Manual"
 msgstr ""
 
-msgid "Pipeline|Mean (50th percentile)"
+msgid "Pipeline|Median (50th percentile)"
 msgstr ""
 
 msgid "Pipeline|Merge request pipeline"
diff --git a/spec/frontend/projects/pipelines/charts/components/pipeline_charts_new_spec.js b/spec/frontend/projects/pipelines/charts/components/pipeline_charts_new_spec.js
index 65a7973a3c1178b690dbdd4f33cccf5cca59bf4f..f318546a54b46573a9b8733cf0b27479cd084591 100644
--- a/spec/frontend/projects/pipelines/charts/components/pipeline_charts_new_spec.js
+++ b/spec/frontend/projects/pipelines/charts/components/pipeline_charts_new_spec.js
@@ -104,7 +104,7 @@ describe('~/projects/pipelines/charts/components/pipeline_charts_new.vue', () =>
 
       expect(findStatisticsList().props('counts')).toEqual({
         failureRatio: 0,
-        meanDuration: 0,
+        medianDuration: 0,
         successRatio: 0,
         total: '0',
       });
@@ -123,13 +123,13 @@ describe('~/projects/pipelines/charts/components/pipeline_charts_new.vue', () =>
 
       expect(findStatisticsList().props('counts')).toEqual({
         failureRatio: 25,
-        meanDuration: 1800,
+        medianDuration: 1800,
         successRatio: 25,
         total: '8',
       });
 
       expect(findAllSingleStats().at(0).text()).toBe('Total pipeline runs 8');
-      expect(findAllSingleStats().at(1).text()).toBe('Mean duration 30m');
+      expect(findAllSingleStats().at(1).text()).toBe('Median duration 30m');
       expect(findAllSingleStats().at(2).text()).toBe('Failure rate 25%');
       expect(findAllSingleStats().at(3).text()).toBe('Success rate 25%');
     });
diff --git a/spec/frontend/projects/pipelines/charts/components/pipeline_duration_chart_spec.js b/spec/frontend/projects/pipelines/charts/components/pipeline_duration_chart_spec.js
index ba556c6f4585e0bd2b0289c517ce8e9da1a8b981..a69e292f02b53d8b5d54368563ff6587b1cd9a04 100644
--- a/spec/frontend/projects/pipelines/charts/components/pipeline_duration_chart_spec.js
+++ b/spec/frontend/projects/pipelines/charts/components/pipeline_duration_chart_spec.js
@@ -44,7 +44,7 @@ describe('PipelineDurationChart', () => {
         },
       },
       data: [
-        { data: [], name: 'Mean (50th percentile)' },
+        { data: [], name: 'Median (50th percentile)' },
         { data: [], name: '95th percentile' },
       ],
     });
@@ -66,7 +66,7 @@ describe('PipelineDurationChart', () => {
           ['2021-12-01', 100],
           ['2021-12-02', 101],
         ],
-        name: 'Mean (50th percentile)',
+        name: 'Median (50th percentile)',
       },
       {
         data: [