diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py
index a9a6f5f707fe7dd3b0965b368b0b49c028cd0cdf..f2fada59fe71de2e53b3647302fcf1faae006664 100644
--- a/lms/djangoapps/ccx/tests/test_field_override_performance.py
+++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py
@@ -244,7 +244,7 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
     __test__ = True
 
     # TODO: decrease query count as part of REVO-28
-    QUERY_COUNT = 36
+    QUERY_COUNT = 32
     TEST_DATA = {
         # (providers, course_width, enable_ccx, view_as_ccx): (
         #     # of sql queries to default,
@@ -273,7 +273,7 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
     __test__ = True
 
     # TODO: decrease query count as part of REVO-28
-    QUERY_COUNT = 36
+    QUERY_COUNT = 32
 
     TEST_DATA = {
         ('no_overrides', 1, True, False): (QUERY_COUNT, 3),
diff --git a/lms/djangoapps/course_api/blocks/tests/test_api.py b/lms/djangoapps/course_api/blocks/tests/test_api.py
index cc7ba99694377d26644f35d4b1ef6b1aef4a2ae7..4abbbd3942a433d7eb5425b7c59be2b10d97d444 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_api.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_api.py
@@ -244,7 +244,7 @@ class TestGetBlocksQueryCounts(TestGetBlocksQueryCountsBase):
             self._get_blocks(
                 course,
                 expected_mongo_queries=0,
-                expected_sql_queries=14 if with_storage_backing else 13,
+                expected_sql_queries=13 if with_storage_backing else 12,
             )
 
     @ddt.data(
@@ -261,9 +261,9 @@ class TestGetBlocksQueryCounts(TestGetBlocksQueryCountsBase):
             clear_course_from_cache(course.id)
 
             if with_storage_backing:
-                num_sql_queries = 24
+                num_sql_queries = 23
             else:
-                num_sql_queries = 14
+                num_sql_queries = 13
 
             self._get_blocks(
                 course,
diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py
index 882578850829e4fbc04e3f29c9fa60be6566e9e6..99047b8a4c2a32069f55a9395782b2a17a1ad33f 100644
--- a/lms/djangoapps/courseware/tests/test_access.py
+++ b/lms/djangoapps/courseware/tests/test_access.py
@@ -849,7 +849,7 @@ class CourseOverviewAccessTestCase(ModuleStoreTestCase):
                 num_queries = 1
         elif user_attr_name == 'user_normal' and action == 'see_exists':
             if course_attr_name == 'course_started':
-                num_queries = 7
+                num_queries = 6
             else:
                 # checks staff role and enrollment data
                 num_queries = 2
diff --git a/lms/djangoapps/courseware/tests/test_course_info.py b/lms/djangoapps/courseware/tests/test_course_info.py
index 5702a03f3d9a4d8f38da7b171fe32355d5d2296c..d92afca16a2cdde94220948a60f89a77c0444d59 100644
--- a/lms/djangoapps/courseware/tests/test_course_info.py
+++ b/lms/djangoapps/courseware/tests/test_course_info.py
@@ -431,8 +431,8 @@ class SelfPacedCourseInfoTestCase(LoginEnrollmentTestCase, SharedModuleStoreTest
 
     def test_num_queries_instructor_paced(self):
         # TODO: decrease query count as part of REVO-28
-        self.fetch_course_info_with_queries(self.instructor_paced_course, 45, 3)
+        self.fetch_course_info_with_queries(self.instructor_paced_course, 43, 3)
 
     def test_num_queries_self_paced(self):
         # TODO: decrease query count as part of REVO-28
-        self.fetch_course_info_with_queries(self.self_paced_course, 45, 3)
+        self.fetch_course_info_with_queries(self.self_paced_course, 43, 3)
diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py
index 17cd089b58b2cca586ad9137a80d7edda5a57365..03702e996004b4c2595e32141fd17e19d4453f32 100644
--- a/lms/djangoapps/courseware/tests/test_views.py
+++ b/lms/djangoapps/courseware/tests/test_views.py
@@ -225,8 +225,8 @@ class IndexQueryTestCase(ModuleStoreTestCase):
     NUM_PROBLEMS = 20
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 10, 186),
-        (ModuleStoreEnum.Type.split, 4, 180),
+        (ModuleStoreEnum.Type.mongo, 10, 179),
+        (ModuleStoreEnum.Type.split, 4, 175),
     )
     @ddt.unpack
     def test_index_query_counts(self, store_type, expected_mongo_query_count, expected_mysql_query_count):
@@ -1459,8 +1459,8 @@ class ProgressPageTests(ProgressPageBaseTests):
             self.assertContains(resp, u"Download Your Certificate")
 
     @ddt.data(
-        (True, 56),
-        (False, 55)
+        (True, 52),
+        (False, 51)
     )
     @ddt.unpack
     def test_progress_queries_paced_courses(self, self_paced, query_count):
@@ -1473,8 +1473,8 @@ class ProgressPageTests(ProgressPageBaseTests):
 
     @patch.dict(settings.FEATURES, {'ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS': False})
     @ddt.data(
-        (False, 64, 44),
-        (True, 55, 39)
+        (False, 60, 40),
+        (True, 51, 35)
     )
     @ddt.unpack
     def test_progress_queries(self, enable_waffle, initial, subsequent):
diff --git a/lms/djangoapps/discussion/django_comment_client/base/tests.py b/lms/djangoapps/discussion/django_comment_client/base/tests.py
index a4f6737ceadf713f3e364891d74680ccd64bd2ed..3c9f502a4a407fa16a25387f9eba7b3eec2ca7c6 100644
--- a/lms/djangoapps/discussion/django_comment_client/base/tests.py
+++ b/lms/djangoapps/discussion/django_comment_client/base/tests.py
@@ -405,8 +405,8 @@ class ViewsQueryCountTestCase(
         return inner
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 3, 4, 41),
-        (ModuleStoreEnum.Type.split, 3, 13, 41),
+        (ModuleStoreEnum.Type.mongo, 3, 4, 40),
+        (ModuleStoreEnum.Type.split, 3, 13, 40),
     )
     @ddt.unpack
     @count_queries
@@ -414,8 +414,8 @@ class ViewsQueryCountTestCase(
         self.create_thread_helper(mock_request)
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 3, 3, 37),
-        (ModuleStoreEnum.Type.split, 3, 10, 37),
+        (ModuleStoreEnum.Type.mongo, 3, 3, 36),
+        (ModuleStoreEnum.Type.split, 3, 10, 36),
     )
     @ddt.unpack
     @count_queries
diff --git a/lms/djangoapps/discussion/tests/test_views.py b/lms/djangoapps/discussion/tests/test_views.py
index d477150742df0bf470719aa92d83ec0a581aad45..d1c3944b0c80598a094ead696e5c4e984f317c5d 100644
--- a/lms/djangoapps/discussion/tests/test_views.py
+++ b/lms/djangoapps/discussion/tests/test_views.py
@@ -464,18 +464,18 @@ class SingleThreadQueryCountTestCase(ForumsEnableMixin, ModuleStoreTestCase):
         # course is outside the context manager that is verifying the number of queries,
         # and with split mongo, that method ends up querying disabled_xblocks (which is then
         # cached and hence not queried as part of call_single_thread).
-        (ModuleStoreEnum.Type.mongo, False, 1, 5, 2, 24, 9),
-        (ModuleStoreEnum.Type.mongo, False, 50, 5, 2, 24, 9),
+        (ModuleStoreEnum.Type.mongo, False, 1, 5, 2, 23, 8),
+        (ModuleStoreEnum.Type.mongo, False, 50, 5, 2, 23, 8),
         # split mongo: 3 queries, regardless of thread response size.
-        (ModuleStoreEnum.Type.split, False, 1, 3, 3, 24, 9),
-        (ModuleStoreEnum.Type.split, False, 50, 3, 3, 24, 9),
+        (ModuleStoreEnum.Type.split, False, 1, 3, 3, 23, 8),
+        (ModuleStoreEnum.Type.split, False, 50, 3, 3, 23, 8),
 
         # Enabling Enterprise integration should have no effect on the number of mongo queries made.
-        (ModuleStoreEnum.Type.mongo, True, 1, 5, 2, 24, 9),
-        (ModuleStoreEnum.Type.mongo, True, 50, 5, 2, 24, 9),
+        (ModuleStoreEnum.Type.mongo, True, 1, 5, 2, 23, 8),
+        (ModuleStoreEnum.Type.mongo, True, 50, 5, 2, 23, 8),
         # split mongo: 3 queries, regardless of thread response size.
-        (ModuleStoreEnum.Type.split, True, 1, 3, 3, 24, 9),
-        (ModuleStoreEnum.Type.split, True, 50, 3, 3, 24, 9),
+        (ModuleStoreEnum.Type.split, True, 1, 3, 3, 23, 8),
+        (ModuleStoreEnum.Type.split, True, 50, 3, 3, 23, 8),
     )
     @ddt.unpack
     def test_number_of_mongo_queries(
diff --git a/lms/djangoapps/grades/tests/test_course_grade_factory.py b/lms/djangoapps/grades/tests/test_course_grade_factory.py
index b4d5ff87378d60002b1cd594ab98403bcde00ba9..e69577d209cb005c1b5350cdc2effc8e38366602 100644
--- a/lms/djangoapps/grades/tests/test_course_grade_factory.py
+++ b/lms/djangoapps/grades/tests/test_course_grade_factory.py
@@ -97,35 +97,35 @@ class TestCourseGradeFactory(GradeTestBase):
                 [self.sequence.display_name, self.sequence2.display_name]
             )
 
-        with self.assertNumQueries(4), mock_get_score(1, 2):
+        with self.assertNumQueries(3), mock_get_score(1, 2):
             _assert_read(expected_pass=False, expected_percent=0)  # start off with grade of 0
 
-        num_queries = 47
+        num_queries = 46
         with self.assertNumQueries(num_queries), mock_get_score(1, 2):
             grade_factory.update(self.request.user, self.course, force_update_subsections=True)
 
-        with self.assertNumQueries(5):
+        with self.assertNumQueries(4):
             _assert_read(expected_pass=True, expected_percent=0.5)  # updated to grade of .5
 
-        num_queries = 9
+        num_queries = 8
         with self.assertNumQueries(num_queries), mock_get_score(1, 4):
             grade_factory.update(self.request.user, self.course, force_update_subsections=False)
 
-        with self.assertNumQueries(5):
+        with self.assertNumQueries(4):
             _assert_read(expected_pass=True, expected_percent=0.5)  # NOT updated to grade of .25
 
-        num_queries = 26
+        num_queries = 25
         with self.assertNumQueries(num_queries), mock_get_score(2, 2):
             grade_factory.update(self.request.user, self.course, force_update_subsections=True)
 
-        with self.assertNumQueries(5):
+        with self.assertNumQueries(4):
             _assert_read(expected_pass=True, expected_percent=1.0)  # updated to grade of 1.0
 
-        num_queries = 30
+        num_queries = 29
         with self.assertNumQueries(num_queries), mock_get_score(0, 0):  # the subsection now is worth zero
             grade_factory.update(self.request.user, self.course, force_update_subsections=True)
 
-        with self.assertNumQueries(5):
+        with self.assertNumQueries(4):
             _assert_read(expected_pass=False, expected_percent=0.0)  # updated to grade of 0.0
 
     @patch.dict(settings.FEATURES, {'ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS': False})
diff --git a/lms/djangoapps/grades/tests/test_tasks.py b/lms/djangoapps/grades/tests/test_tasks.py
index 6d92d19b48796051b1799220f4390e110725cf07..f70441e1018704430425673ef8fc6657f373ef34 100644
--- a/lms/djangoapps/grades/tests/test_tasks.py
+++ b/lms/djangoapps/grades/tests/test_tasks.py
@@ -165,10 +165,10 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
             self.assertEquals(mock_block_structure_create.call_count, 1)
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 1, 38, True),
-        (ModuleStoreEnum.Type.mongo, 1, 38, False),
-        (ModuleStoreEnum.Type.split, 3, 38, True),
-        (ModuleStoreEnum.Type.split, 3, 38, False),
+        (ModuleStoreEnum.Type.mongo, 1, 37, True),
+        (ModuleStoreEnum.Type.mongo, 1, 37, False),
+        (ModuleStoreEnum.Type.split, 3, 37, True),
+        (ModuleStoreEnum.Type.split, 3, 37, False),
     )
     @ddt.unpack
     def test_query_counts(self, default_store, num_mongo_calls, num_sql_calls, create_multiple_subsections):
@@ -180,8 +180,8 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
                     self._apply_recalculate_subsection_grade()
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 1, 38),
-        (ModuleStoreEnum.Type.split, 3, 38),
+        (ModuleStoreEnum.Type.mongo, 1, 37),
+        (ModuleStoreEnum.Type.split, 3, 37),
     )
     @ddt.unpack
     def test_query_counts_dont_change_with_more_content(self, default_store, num_mongo_calls, num_sql_calls):
@@ -226,8 +226,8 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
         )
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 1, 21),
-        (ModuleStoreEnum.Type.split, 3, 21),
+        (ModuleStoreEnum.Type.mongo, 1, 20),
+        (ModuleStoreEnum.Type.split, 3, 20),
     )
     @ddt.unpack
     def test_persistent_grades_not_enabled_on_course(self, default_store, num_mongo_queries, num_sql_queries):
@@ -241,8 +241,8 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
             self.assertEqual(len(PersistentSubsectionGrade.bulk_read_grades(self.user.id, self.course.id)), 0)
 
     @ddt.data(
-        (ModuleStoreEnum.Type.mongo, 1, 39),
-        (ModuleStoreEnum.Type.split, 3, 39),
+        (ModuleStoreEnum.Type.mongo, 1, 38),
+        (ModuleStoreEnum.Type.split, 3, 38),
     )
     @ddt.unpack
     def test_persistent_grades_enabled_on_course(self, default_store, num_mongo_queries, num_sql_queries):
diff --git a/openedx/core/djangoapps/config_model_utils/utils.py b/openedx/core/djangoapps/config_model_utils/utils.py
index 50a986b1092ee3cfc5d0672a5960a80ce3e4c92e..56bbb0c1fadebfab50dd7cd0556d3205d476cb40 100644
--- a/openedx/core/djangoapps/config_model_utils/utils.py
+++ b/openedx/core/djangoapps/config_model_utils/utils.py
@@ -1,8 +1,6 @@
 """utils for feature-based enrollments"""
 from __future__ import absolute_import
 
-from experiments.models import ExperimentData
-from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
 from student.models import FBEEnrollmentExclusion
 
 
@@ -11,17 +9,6 @@ def is_in_holdback(user, enrollment):
     Return true if given user is in holdback expermiment
     """
     in_holdback = False
-    if user and user.is_authenticated:
-        try:
-            holdback_value = ExperimentData.objects.get(
-                user=user,
-                experiment_id=EXPERIMENT_ID,
-                key=EXPERIMENT_DATA_HOLDBACK_KEY,
-            ).value
-            in_holdback = holdback_value == 'True'
-        except ExperimentData.DoesNotExist:
-            pass
-
     if enrollment is not None:
         try:
             if enrollment.fbeenrollmentexclusion:
diff --git a/openedx/features/content_type_gating/tests/test_access.py b/openedx/features/content_type_gating/tests/test_access.py
index 79144fde808f40d6be4fb370bba530a0280312ad..e69230a92952ab8cdd7dfd20d1fb830078a4f996 100644
--- a/openedx/features/content_type_gating/tests/test_access.py
+++ b/openedx/features/content_type_gating/tests/test_access.py
@@ -48,8 +48,7 @@ from openedx.core.lib.url_utils import quote_slashes
 from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITION_ID, CONTENT_TYPE_GATE_GROUP_IDS
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import ContentTypeGatingPartition
-from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
-from student.models import CourseEnrollment
+from student.models import CourseEnrollment, FBEEnrollmentExclusion
 from student.roles import CourseInstructorRole
 from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
@@ -638,15 +637,9 @@ class TestProblemTypeAccess(SharedModuleStoreTestCase):
         Test that putting a user in the content gating holdback disables content gating.
         """
         user = UserFactory.create()
+        enrollment = CourseEnrollment.enroll(user, self.course.id)
         if put_user_in_holdback:
-            ExperimentData.objects.create(
-                user=user,
-                experiment_id=EXPERIMENT_ID,
-                key=EXPERIMENT_DATA_HOLDBACK_KEY,
-                value='True'
-            )
-
-        CourseEnrollment.enroll(user, self.course.id)
+            FBEEnrollmentExclusion.objects.create(enrollment=enrollment)
 
         graded, has_score, weight = True, True, 1
         block = self.graded_score_weight_blocks[(graded, has_score, weight)]
diff --git a/openedx/features/content_type_gating/tests/test_models.py b/openedx/features/content_type_gating/tests/test_models.py
index 902762aae02a865aea0fb42ac46e307191f1f41f..6951bc3f86aa18d079c6b7a0c1f52e3d85a84a24 100644
--- a/openedx/features/content_type_gating/tests/test_models.py
+++ b/openedx/features/content_type_gating/tests/test_models.py
@@ -70,7 +70,7 @@ class TestContentTypeGatingConfig(CacheIsolationTestCase):
         user = self.user
         course_key = self.course_overview.id
 
-        query_count = 8
+        query_count = 7
 
         with self.assertNumQueries(query_count):
             enabled = ContentTypeGatingConfig.enabled_for_enrollment(
diff --git a/openedx/features/course_duration_limits/tests/test_course_expiration.py b/openedx/features/course_duration_limits/tests/test_course_expiration.py
index ed67022b86c0df9c9b2682c8427dd01d0080f8c5..bff04bf91c6e8e7dcddae32458217f9459667df8 100644
--- a/openedx/features/course_duration_limits/tests/test_course_expiration.py
+++ b/openedx/features/course_duration_limits/tests/test_course_expiration.py
@@ -34,10 +34,9 @@ from openedx.core.djangoapps.django_comment_common.models import (
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITION_ID, CONTENT_TYPE_GATE_GROUP_IDS
 from openedx.features.course_duration_limits.access import MAX_DURATION, MIN_DURATION, get_user_course_expiration_date
-from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.course_experience.tests.views.helpers import add_course_mode
-from student.models import CourseEnrollment
+from student.models import CourseEnrollment, FBEEnrollmentExclusion
 from student.roles import CourseInstructorRole
 from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
@@ -250,17 +249,12 @@ class CourseExpirationTestCase(ModuleStoreTestCase):
     def test_masquerade_in_holdback(self, mock_get_course_run_details):
         mock_get_course_run_details.return_value = {'weeks_to_complete': 12}
         audit_student = UserFactory(username='audit')
-        CourseEnrollmentFactory.create(
+        enrollment = CourseEnrollmentFactory.create(
             user=audit_student,
             course_id=self.course.id,
             mode='audit'
         )
-        ExperimentData.objects.create(
-            user=audit_student,
-            experiment_id=EXPERIMENT_ID,
-            key=EXPERIMENT_DATA_HOLDBACK_KEY,
-            value='True'
-        )
+        FBEEnrollmentExclusion.objects.create(enrollment=enrollment)
         CourseDurationLimitConfig.objects.create(
             enabled=True,
             course=CourseOverview.get_from_id(self.course.id),
@@ -268,7 +262,7 @@ class CourseExpirationTestCase(ModuleStoreTestCase):
         )
 
         instructor = UserFactory.create(username='instructor')
-        CourseEnrollmentFactory.create(
+        enrollment = CourseEnrollmentFactory.create(
             user=instructor,
             course_id=self.course.id,
             mode='audit'
diff --git a/openedx/features/course_duration_limits/tests/test_models.py b/openedx/features/course_duration_limits/tests/test_models.py
index 18eaafb45e8cc43379b3cf04ff3114ddbbeccb9c..a842151e896c18808a2615ae5a3bf1c85c4a4057 100644
--- a/openedx/features/course_duration_limits/tests/test_models.py
+++ b/openedx/features/course_duration_limits/tests/test_models.py
@@ -75,7 +75,7 @@ class TestCourseDurationLimitConfig(CacheIsolationTestCase):
         user = self.user
         course_key = self.course_overview.id
 
-        query_count = 7
+        query_count = 6
 
         with self.assertNumQueries(query_count):
             enabled = CourseDurationLimitConfig.enabled_for_enrollment(
diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py
index 09aea9fa429015870a85a136ab65304e217d5671..df3e3d2f09194bf1146b7e66ed5e91fe8e467dc9 100644
--- a/openedx/features/course_experience/tests/views/test_course_home.py
+++ b/openedx/features/course_experience/tests/views/test_course_home.py
@@ -48,7 +48,6 @@ from openedx.core.djangoapps.django_comment_common.models import (
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES, override_waffle_flag
 from openedx.core.djangolib.markup import HTML
-from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.course_experience import (
     COURSE_ENABLE_UNENROLLED_ACCESS_FLAG,
@@ -56,7 +55,7 @@ from openedx.features.course_experience import (
     SHOW_UPGRADE_MSG_ON_COURSE_HOME,
     UNIFIED_COURSE_TAB_FLAG
 )
-from student.models import CourseEnrollment
+from student.models import CourseEnrollment, FBEEnrollmentExclusion
 from student.tests.factories import UserFactory
 from util.date_utils import strftime_localized
 from xmodule.course_module import COURSE_VISIBILITY_PRIVATE, COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
@@ -220,7 +219,7 @@ class TestCourseHomePage(CourseHomePageTestCase):
 
         # Fetch the view and verify the query counts
         # TODO: decrease query count as part of REVO-28
-        with self.assertNumQueries(97, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
+        with self.assertNumQueries(88, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
             with check_mongo_calls(4):
                 url = course_home_url(self.course)
                 self.client.get(url)
@@ -659,11 +658,8 @@ class TestCourseHomePageAccess(CourseHomePageTestCase):
         self.client.login(username=audit_user.username, password=self.TEST_PASSWORD)
         audit_enrollment = CourseEnrollment.enroll(audit_user, course.id, mode=CourseMode.AUDIT)
         ScheduleFactory(start=THREE_YEARS_AGO, enrollment=audit_enrollment)
-        ExperimentData.objects.create(
-            user=audit_user,
-            experiment_id=EXPERIMENT_ID,
-            key=EXPERIMENT_DATA_HOLDBACK_KEY,
-            value='True'
+        FBEEnrollmentExclusion.objects.create(
+            enrollment=audit_enrollment
         )
 
         response = self.client.get(url)
diff --git a/openedx/features/course_experience/tests/views/test_course_updates.py b/openedx/features/course_experience/tests/views/test_course_updates.py
index e56705cfa1871378a0ef33fd83aae17d23e22a5b..3f76daa366b88f86ba9b53ed114fd81dcbca42b6 100644
--- a/openedx/features/course_experience/tests/views/test_course_updates.py
+++ b/openedx/features/course_experience/tests/views/test_course_updates.py
@@ -134,7 +134,7 @@ class TestCourseUpdatesPage(SharedModuleStoreTestCase):
 
         # Fetch the view and verify that the query counts haven't changed
         # TODO: decrease query count as part of REVO-28
-        with self.assertNumQueries(56, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
+        with self.assertNumQueries(53, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
             with check_mongo_calls(4):
                 url = course_updates_url(self.course)
                 self.client.get(url)