diff --git a/BUILD.gn b/BUILD.gn
index 7b07ebe..d3e8f36 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -532,6 +532,7 @@
       "api:rtc_api_unittests",
       "api/audio/test:audio_api_unittests",
       "api/audio_codecs/test:audio_codecs_api_unittests",
+      "api/numerics:numerics_unittests",
       "api/transport:stun_unittest",
       "api/video/test:rtc_api_video_unittests",
       "api/video_codecs/test:video_codecs_api_unittests",
diff --git a/api/numerics/BUILD.gn b/api/numerics/BUILD.gn
new file mode 100644
index 0000000..408dc5b
--- /dev/null
+++ b/api/numerics/BUILD.gn
@@ -0,0 +1,41 @@
+# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS.  All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+import("../../webrtc.gni")
+
+rtc_library("numerics") {
+  visibility = [ "*" ]
+
+  sources = [
+    "samples_stats_counter.cc",
+    "samples_stats_counter.h",
+  ]
+  deps = [
+    "..:array_view",
+    "../../rtc_base:checks",
+    "../../rtc_base:rtc_numerics",
+    "../../rtc_base:timeutils",
+    "../units:timestamp",
+  ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
+}
+
+if (rtc_include_tests) {
+  rtc_library("numerics_unittests") {
+    visibility = [ "*" ]
+    testonly = true
+
+    sources = [ "samples_stats_counter_unittest.cc" ]
+
+    deps = [
+      ":numerics",
+      "../../test:test_support",
+    ]
+    absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
+  }
+}
diff --git a/api/numerics/DEPS b/api/numerics/DEPS
new file mode 100644
index 0000000..2d89d57
--- /dev/null
+++ b/api/numerics/DEPS
@@ -0,0 +1,6 @@
+specific_include_rules = {
+  # Some internal headers are allowed even in API headers:
+  "samples_stats_counter\.h": [
+    "+rtc_base/numerics/running_statistics.h",
+  ]
+}
diff --git a/rtc_base/numerics/samples_stats_counter.cc b/api/numerics/samples_stats_counter.cc
similarity index 97%
rename from rtc_base/numerics/samples_stats_counter.cc
rename to api/numerics/samples_stats_counter.cc
index 9b98a31..36871a6 100644
--- a/rtc_base/numerics/samples_stats_counter.cc
+++ b/api/numerics/samples_stats_counter.cc
@@ -8,8 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "rtc_base/numerics/samples_stats_counter.h"
+#include "api/numerics/samples_stats_counter.h"
 
+#include <algorithm>
 #include <cmath>
 
 #include "absl/algorithm/container.h"
diff --git a/rtc_base/numerics/samples_stats_counter.h b/api/numerics/samples_stats_counter.h
similarity index 95%
rename from rtc_base/numerics/samples_stats_counter.h
rename to api/numerics/samples_stats_counter.h
index a4ec443..9387e6b 100644
--- a/rtc_base/numerics/samples_stats_counter.h
+++ b/api/numerics/samples_stats_counter.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef RTC_BASE_NUMERICS_SAMPLES_STATS_COUNTER_H_
-#define RTC_BASE_NUMERICS_SAMPLES_STATS_COUNTER_H_
+#ifndef API_NUMERICS_SAMPLES_STATS_COUNTER_H_
+#define API_NUMERICS_SAMPLES_STATS_COUNTER_H_
 
 #include <vector>
 
@@ -98,7 +98,7 @@
   }
 
  private:
-  RunningStatistics<double> stats_;
+  webrtc_impl::RunningStatistics<double> stats_;
   std::vector<StatsSample> samples_;
   bool sorted_ = false;
 };
@@ -116,4 +116,4 @@
 
 }  // namespace webrtc
 
-#endif  // RTC_BASE_NUMERICS_SAMPLES_STATS_COUNTER_H_
+#endif  // API_NUMERICS_SAMPLES_STATS_COUNTER_H_
diff --git a/rtc_base/numerics/samples_stats_counter_unittest.cc b/api/numerics/samples_stats_counter_unittest.cc
similarity index 98%
rename from rtc_base/numerics/samples_stats_counter_unittest.cc
rename to api/numerics/samples_stats_counter_unittest.cc
index 1221e9b..1f9cabf 100644
--- a/rtc_base/numerics/samples_stats_counter_unittest.cc
+++ b/api/numerics/samples_stats_counter_unittest.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "rtc_base/numerics/samples_stats_counter.h"
+#include "api/numerics/samples_stats_counter.h"
 
 #include <math.h>
 
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index e98200a..a4c2f08 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -789,6 +789,7 @@
     ]
     deps = [
       "../../api:videocodec_test_fixture_api",
+      "../../api/numerics",
       "../../rtc_base:checks",
       "../../rtc_base:rtc_numerics",
       "../../rtc_base:stringutils",
diff --git a/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc b/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
index e5d6d2a..7290d29 100644
--- a/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_stats_impl.cc
@@ -179,20 +179,20 @@
   VideoStatistics video_stat;
 
   float buffer_level_bits = 0.0f;
-  RunningStatistics<float> buffer_level_sec;
+  webrtc_impl::RunningStatistics<float> buffer_level_sec;
 
-  RunningStatistics<size_t> key_frame_size_bytes;
-  RunningStatistics<size_t> delta_frame_size_bytes;
+  webrtc_impl::RunningStatistics<size_t> key_frame_size_bytes;
+  webrtc_impl::RunningStatistics<size_t> delta_frame_size_bytes;
 
-  RunningStatistics<size_t> frame_encoding_time_us;
-  RunningStatistics<size_t> frame_decoding_time_us;
+  webrtc_impl::RunningStatistics<size_t> frame_encoding_time_us;
+  webrtc_impl::RunningStatistics<size_t> frame_decoding_time_us;
 
-  RunningStatistics<float> psnr_y;
-  RunningStatistics<float> psnr_u;
-  RunningStatistics<float> psnr_v;
-  RunningStatistics<float> psnr;
-  RunningStatistics<float> ssim;
-  RunningStatistics<int> qp;
+  webrtc_impl::RunningStatistics<float> psnr_y;
+  webrtc_impl::RunningStatistics<float> psnr_u;
+  webrtc_impl::RunningStatistics<float> psnr_v;
+  webrtc_impl::RunningStatistics<float> psnr;
+  webrtc_impl::RunningStatistics<float> ssim;
+  webrtc_impl::RunningStatistics<int> qp;
 
   size_t rtp_timestamp_first_frame = 0;
   size_t rtp_timestamp_prev_frame = 0;
@@ -329,10 +329,10 @@
                                  ? 1000000.0f / mean_decode_time_us
                                  : std::numeric_limits<float>::max();
 
-  auto MaxDelaySec =
-      [target_bitrate_kbps](const RunningStatistics<size_t>& stats) {
-        return 8 * stats.GetMax().value_or(0) / 1000 / target_bitrate_kbps;
-      };
+  auto MaxDelaySec = [target_bitrate_kbps](
+                         const webrtc_impl::RunningStatistics<size_t>& stats) {
+    return 8 * stats.GetMax().value_or(0) / 1000 / target_bitrate_kbps;
+  };
 
   video_stat.avg_delay_sec = buffer_level_sec.GetMean().value_or(0);
   video_stat.max_key_frame_delay_sec = MaxDelaySec(key_frame_size_bytes);
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 7347e0d..d72bca3 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -204,8 +204,8 @@
   visibility = [
     ":rtc_base_approved",
     ":rtc_task_queue_libevent",
-    ":rtc_task_queue_win",
     ":rtc_task_queue_stdlib",
+    ":rtc_task_queue_win",
     "synchronization:mutex",
     "synchronization:sequence_checker",
   ]
@@ -587,8 +587,6 @@
   sources = [
     "numerics/event_based_exponential_moving_average.cc",
     "numerics/event_based_exponential_moving_average.h",
-    "numerics/event_rate_counter.cc",
-    "numerics/event_rate_counter.h",
     "numerics/exp_filter.cc",
     "numerics/exp_filter.h",
     "numerics/math_utils.h",
@@ -597,25 +595,30 @@
     "numerics/moving_median_filter.h",
     "numerics/percentile_filter.h",
     "numerics/running_statistics.h",
-    "numerics/sample_stats.cc",
-    "numerics/sample_stats.h",
-    "numerics/samples_stats_counter.cc",
-    "numerics/samples_stats_counter.h",
     "numerics/sequence_number_util.h",
   ]
   deps = [
     ":checks",
+    ":macromagic",
     ":rtc_base_approved",
-    ":safe_compare",
-    "../api:array_view",
+  ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
+}
+
+rtc_library("rtc_stats_counters") {
+  sources = [
+    "numerics/event_rate_counter.cc",
+    "numerics/event_rate_counter.h",
+    "numerics/sample_stats.cc",
+    "numerics/sample_stats.h",
+  ]
+  deps = [
+    "../api/numerics",
     "../api/units:data_rate",
     "../api/units:time_delta",
     "../api/units:timestamp",
   ]
-  absl_deps = [
-    "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/types:optional",
-  ]
+  absl_deps = []
 }
 
 config("rtc_json_suppressions") {
@@ -804,6 +807,7 @@
     "../api:array_view",
     "../api:function_view",
     "../api:scoped_refptr",
+    "../api/numerics",
     "../api/task_queue",
     "../system_wrappers:field_trial",
     "network:sent_packet",
@@ -942,7 +946,6 @@
       "callback.h",
       "log_sinks.cc",
       "log_sinks.h",
-      "numerics/math_utils.h",
       "rolling_accumulator.h",
       "ssl_roots.h",
     ]
@@ -1270,6 +1273,7 @@
       ":rtc_base",
       ":rtc_base_approved",
       ":rtc_base_tests_utils",
+      ":rtc_numerics",
       ":rtc_task_queue",
       ":safe_compare",
       ":safe_minmax",
@@ -1278,6 +1282,7 @@
       ":testclient",
       "../api:array_view",
       "../api:scoped_refptr",
+      "../api/numerics",
       "../api/units:time_delta",
       "../system_wrappers",
       "../test:fileutils",
@@ -1351,7 +1356,6 @@
       "numerics/moving_median_filter_unittest.cc",
       "numerics/percentile_filter_unittest.cc",
       "numerics/running_statistics_unittest.cc",
-      "numerics/samples_stats_counter_unittest.cc",
       "numerics/sequence_number_util_unittest.cc",
     ]
     deps = [
diff --git a/rtc_base/numerics/math_utils.h b/rtc_base/numerics/math_utils.h
index 4bf48e22..0f1d51b 100644
--- a/rtc_base/numerics/math_utils.h
+++ b/rtc_base/numerics/math_utils.h
@@ -8,14 +8,16 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef RTC_BASE_NUMERICS_MATH_UTILS_H_
-#define RTC_BASE_NUMERICS_MATH_UTILS_H_
+#ifndef API_NUMERICS_MATH_UTILS_H_
+#define API_NUMERICS_MATH_UTILS_H_
 
 #include <limits>
 #include <type_traits>
 
 #include "rtc_base/checks.h"
 
+namespace webrtc {
+namespace webrtc_impl {
 // Given two numbers |x| and |y| such that x >= y, computes the difference
 // x - y without causing undefined behavior due to signed overflow.
 template <typename T>
@@ -67,4 +69,7 @@
   return std::numeric_limits<T>::min();
 }
 
-#endif  // RTC_BASE_NUMERICS_MATH_UTILS_H_
+}  // namespace webrtc_impl
+}  // namespace webrtc
+
+#endif  // API_NUMERICS_MATH_UTILS_H_
diff --git a/rtc_base/numerics/running_statistics.h b/rtc_base/numerics/running_statistics.h
index 4a3516d3..bbcc7e2 100644
--- a/rtc_base/numerics/running_statistics.h
+++ b/rtc_base/numerics/running_statistics.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef RTC_BASE_NUMERICS_RUNNING_STATISTICS_H_
-#define RTC_BASE_NUMERICS_RUNNING_STATISTICS_H_
+#ifndef API_NUMERICS_RUNNING_STATISTICS_H_
+#define API_NUMERICS_RUNNING_STATISTICS_H_
 
 #include <algorithm>
 #include <cmath>
@@ -20,6 +20,7 @@
 #include "rtc_base/numerics/math_utils.h"
 
 namespace webrtc {
+namespace webrtc_impl {
 
 // tl;dr: Robust and efficient online computation of statistics,
 //        using Welford's method for variance. [1]
@@ -154,6 +155,7 @@
   double cumul_ = 0;  // Variance * size_, sometimes noted m2.
 };
 
+}  // namespace webrtc_impl
 }  // namespace webrtc
 
-#endif  // RTC_BASE_NUMERICS_RUNNING_STATISTICS_H_
+#endif  // API_NUMERICS_RUNNING_STATISTICS_H_
diff --git a/rtc_base/numerics/running_statistics_unittest.cc b/rtc_base/numerics/running_statistics_unittest.cc
index 26dc713..d593f3f 100644
--- a/rtc_base/numerics/running_statistics_unittest.cc
+++ b/rtc_base/numerics/running_statistics_unittest.cc
@@ -21,6 +21,7 @@
 // Tests were copied from samples_stats_counter_unittest.cc.
 
 namespace webrtc {
+namespace webrtc_impl {
 namespace {
 
 RunningStatistics<double> CreateStatsFilledWithIntsFrom1ToN(int n) {
@@ -55,8 +56,6 @@
 
 constexpr int SIZE_FOR_MERGE = 5;
 
-}  // namespace
-
 TEST(RunningStatistics, FullSimpleTest) {
   auto stats = CreateStatsFilledWithIntsFrom1ToN(100);
 
@@ -192,4 +191,6 @@
                          RunningStatisticsTest,
                          ::testing::Range(0, SIZE_FOR_MERGE + 1));
 
+}  // namespace
+}  // namespace webrtc_impl
 }  // namespace webrtc
diff --git a/rtc_base/numerics/sample_stats.h b/rtc_base/numerics/sample_stats.h
index f634741..39af1c6 100644
--- a/rtc_base/numerics/sample_stats.h
+++ b/rtc_base/numerics/sample_stats.h
@@ -10,10 +10,10 @@
 #ifndef RTC_BASE_NUMERICS_SAMPLE_STATS_H_
 #define RTC_BASE_NUMERICS_SAMPLE_STATS_H_
 
+#include "api/numerics/samples_stats_counter.h"
 #include "api/units/data_rate.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
 
 namespace webrtc {
 template <typename T>
diff --git a/rtc_base/random_unittest.cc b/rtc_base/random_unittest.cc
index f94b0c1..4eb6f75 100644
--- a/rtc_base/random_unittest.cc
+++ b/rtc_base/random_unittest.cc
@@ -120,7 +120,7 @@
 
   ASSERT_GE(high, low);
   ASSERT_GE(bucket_count, 2u);
-  uint32_t interval = unsigned_difference<int32_t>(high, low) + 1;
+  uint32_t interval = webrtc_impl::unsigned_difference<int32_t>(high, low) + 1;
   uint32_t numbers_per_bucket;
   if (interval == 0) {
     // The computation high - low + 1 should be 2^32 but overflowed
@@ -136,7 +136,8 @@
     int32_t sample = prng->Rand(low, high);
     EXPECT_LE(low, sample);
     EXPECT_GE(high, sample);
-    buckets[unsigned_difference<int32_t>(sample, low) / numbers_per_bucket]++;
+    buckets[webrtc_impl::unsigned_difference<int32_t>(sample, low) /
+            numbers_per_bucket]++;
   }
 
   for (unsigned int i = 0; i < bucket_count; i++) {
diff --git a/rtc_base/rolling_accumulator.h b/rtc_base/rolling_accumulator.h
index 015229b..241bd72 100644
--- a/rtc_base/rolling_accumulator.h
+++ b/rtc_base/rolling_accumulator.h
@@ -40,7 +40,7 @@
   size_t count() const { return static_cast<size_t>(stats_.Size()); }
 
   void Reset() {
-    stats_ = webrtc::RunningStatistics<T>();
+    stats_ = webrtc::webrtc_impl::RunningStatistics<T>();
     next_index_ = 0U;
     max_ = T();
     max_stale_ = false;
@@ -129,7 +129,7 @@
   double ComputeVariance() const { return stats_.GetVariance().value_or(0); }
 
  private:
-  webrtc::RunningStatistics<T> stats_;
+  webrtc::webrtc_impl::RunningStatistics<T> stats_;
   size_t next_index_;
   mutable T max_;
   mutable bool max_stale_;
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 549596f..9cf5422 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -35,8 +35,8 @@
 
 rtc_library("frame_generator_impl") {
   visibility = [
-    "../api:create_frame_generator",
     ":*",
+    "../api:create_frame_generator",
   ]
   testonly = true
   sources = [
@@ -246,6 +246,7 @@
   ]
   deps = [
     "../api:array_view",
+    "../api/numerics",
     "../rtc_base:checks",
     "../rtc_base:criticalsection",
     "../rtc_base:logging",
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index fbcaa35..83f7ac6 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -567,6 +567,7 @@
       "../../../api:rtc_stats_api",
       "../../../api:stats_observer_interface",
       "../../../api:track_id_stream_info_map",
+      "../../../api/numerics",
       "../../../api/units:time_delta",
       "../../../api/units:timestamp",
       "../../../rtc_base:criticalsection",
@@ -610,6 +611,7 @@
       "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:rtc_stats_api",
       "../../../api:track_id_stream_info_map",
+      "../../../api/numerics",
       "../../../api/units:data_rate",
       "../../../api/units:data_size",
       "../../../api/units:time_delta",
@@ -635,6 +637,7 @@
       "../..:perf_test",
       "../../../api:array_view",
       "../../../api:video_quality_analyzer_api",
+      "../../../api/numerics",
       "../../../api/units:time_delta",
       "../../../api/units:timestamp",
       "../../../api/video:encoded_image",
@@ -717,6 +720,7 @@
       "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:rtc_stats_api",
       "../../../api:track_id_stream_info_map",
+      "../../../api/numerics",
       "../../../api/units:timestamp",
       "../../../rtc_base:criticalsection",
       "../../../rtc_base:rtc_event",
diff --git a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
index dd6280e..4ad0dd3 100644
--- a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
+++ b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
@@ -15,10 +15,10 @@
 #include <string>
 
 #include "absl/strings/string_view.h"
+#include "api/numerics/samples_stats_counter.h"
 #include "api/test/audio_quality_analyzer_interface.h"
 #include "api/test/track_id_stream_info_map.h"
 #include "api/units/time_delta.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "test/testsupport/perf_test.h"
 
diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
index db17ced..08fc466 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
@@ -20,12 +20,12 @@
 #include <vector>
 
 #include "api/array_view.h"
+#include "api/numerics/samples_stats_counter.h"
 #include "api/test/video_quality_analyzer_interface.h"
 #include "api/units/timestamp.h"
 #include "api/video/encoded_image.h"
 #include "api/video/video_frame.h"
 #include "rtc_base/event.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
 #include "rtc_base/platform_thread.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "system_wrappers/include/clock.h"
diff --git a/test/pc/e2e/analyzer/video/video_quality_metrics_reporter.h b/test/pc/e2e/analyzer/video/video_quality_metrics_reporter.h
index 188aa42..ff195a4 100644
--- a/test/pc/e2e/analyzer/video/video_quality_metrics_reporter.h
+++ b/test/pc/e2e/analyzer/video/video_quality_metrics_reporter.h
@@ -15,11 +15,11 @@
 #include <string>
 
 #include "absl/strings/string_view.h"
+#include "api/numerics/samples_stats_counter.h"
 #include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/test/track_id_stream_info_map.h"
 #include "api/units/data_size.h"
 #include "api/units/timestamp.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "test/testsupport/perf_test.h"
 
diff --git a/test/pc/e2e/cross_media_metrics_reporter.h b/test/pc/e2e/cross_media_metrics_reporter.h
index af2a62e..6ddc994 100644
--- a/test/pc/e2e/cross_media_metrics_reporter.h
+++ b/test/pc/e2e/cross_media_metrics_reporter.h
@@ -16,10 +16,10 @@
 
 #include "absl/strings/string_view.h"
 #include "absl/types/optional.h"
+#include "api/numerics/samples_stats_counter.h"
 #include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/test/track_id_stream_info_map.h"
 #include "api/units/timestamp.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "test/testsupport/perf_test.h"
 
diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index 3ae1336..32ce394 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -130,6 +130,7 @@
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_base_tests_utils",
       "../../rtc_base:rtc_numerics",
+      "../../rtc_base:rtc_stats_counters",
       "../../rtc_base:rtc_task_queue",
       "../../rtc_base:safe_minmax",
       "../../rtc_base:task_queue_for_test",
diff --git a/test/testsupport/perf_test.h b/test/testsupport/perf_test.h
index 4bb6773..25535bc 100644
--- a/test/testsupport/perf_test.h
+++ b/test/testsupport/perf_test.h
@@ -16,7 +16,7 @@
 #include <vector>
 
 #include "api/array_view.h"
-#include "rtc_base/numerics/samples_stats_counter.h"
+#include "api/numerics/samples_stats_counter.h"
 
 namespace webrtc {
 namespace test {
diff --git a/video/BUILD.gn b/video/BUILD.gn
index 039429d..bcec102 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -298,6 +298,7 @@
       "../api:rtc_event_log_output_file",
       "../api:test_dependency_factory",
       "../api:video_quality_test_fixture_api",
+      "../api/numerics",
       "../api/rtc_event_log:rtc_event_log_factory",
       "../api/task_queue",
       "../api/task_queue:default_task_queue_factory",
diff --git a/video/video_analyzer.h b/video/video_analyzer.h
index c2401d2..18bacc1 100644
--- a/video/video_analyzer.h
+++ b/video/video_analyzer.h
@@ -35,7 +35,7 @@
                       public Transport,
                       public rtc::VideoSinkInterface<VideoFrame> {
  public:
-  using Statistics = RunningStatistics<double>;
+  using Statistics = webrtc_impl::RunningStatistics<double>;
 
   VideoAnalyzer(test::LayerFilteringTransport* transport,
                 const std::string& test_label,
