From 9ac1d11960a8c696e43f169d7b0743078dfaecd3 Mon Sep 17 00:00:00 2001 From: Josh Puetz Date: Wed, 31 Aug 2022 09:28:27 -0500 Subject: [PATCH] Feed experiment for week of Aug 29, 2022 (#18395) --- config/feed-variants/20220830-variant-a.json | 127 +++++++++++ config/feed-variants/20220830-variant-b.json | 211 +++++++++++++++++++ config/feed-variants/20220830-variant-c.json | 131 ++++++++++++ config/field_test.yml | 30 ++- 4 files changed, 498 insertions(+), 1 deletion(-) create mode 100644 config/feed-variants/20220830-variant-a.json create mode 100644 config/feed-variants/20220830-variant-b.json create mode 100644 config/feed-variants/20220830-variant-c.json diff --git a/config/feed-variants/20220830-variant-a.json b/config/feed-variants/20220830-variant-a.json new file mode 100644 index 000000000..f2ecb549e --- /dev/null +++ b/config/feed-variants/20220830-variant-a.json @@ -0,0 +1,127 @@ +{ + "max_days_since_published": 15, + "description": "Copy of 20220619-variant-a with tweak to comments range", + "order_by": "final_order_by_random_weighted_to_score", + "reseed_randomizer_on_each_request": false, + "levers": { + "daily_decay": { + "cases": [ + [0, 1], + [1, 0.99], + [2, 0.985], + [3, 0.98], + [4, 0.975], + [5, 0.97], + [6, 0.965], + [7, 0.96], + [8, 0.955], + [9, 0.95], + [10, 0.945], + [11, 0.94], + [12, 0.935], + [13, 0.93], + [14, 0.925] + ], + "fallback": 0.9 + }, + "comments_count_by_those_followed": { + "cases": [ + [0, 0.95], + [1, 0.98], + [2, 0.99] + ], + "fallback": 0.93 + }, + "comments_count": { + "cases": [ + [0, 0.5], + [1, 0.6], + [2, 0.66], + [3, 0.7], + [4, 0.75], + [5, 0.8], + [6, 0.85], + [7, 0.88], + [8, 0.9], + [9, 0.92], + [12, 1.0], + [18, 1.0], + [22, 1.0], + [25, 1.0], + [30, 1.0], + [35, 1.0], + [40, 1.0], + [45, 1.0] + ], + "fallback": 0.98 + }, + "featured_article": { "cases": [[1, 1]], "fallback": 0.85 }, + "latest_comment": { + "cases": [ + [0, 1], + [1, 0.9988] + ], + "fallback": 0.988 + }, + "matching_negative_tags_intersection_count": { + "cases": [ + [0, 1], + [1, 0.5], + [2, 0.4], + [3, 0.3], + [4, 0.2] + ], + "fallback": 0 + }, + "matching_positive_tags_intersection_count": { + "cases": [ + [0, 0.5], + [1, 0.85], + [2, 0.9], + [3, 0.95], + [4, 1] + ], + "fallback": 1 + }, + "privileged_user_reaction": { + "cases": [ + [-1, 0.2], + [1, 1] + ], + "fallback": 0.95, + "negative_reaction_threshold": -9, + "positive_reaction_threshold": 4 + }, + "public_reactions_score": { + "cases": [ + [0, 0.65], + [1, 0.68], + [2, 0.71], + [3, 0.74], + [4, 0.77], + [5, 0.8], + [6, 0.83], + [7, 0.86], + [8, 0.89], + [9, 0.9], + [10, 0.91], + [11, 0.92], + [12, 0.93], + [13, 0.94], + [14, 0.95], + [15, 0.955], + [16, 0.96], + [17, 0.965], + [18, 0.97], + [19, 0.975], + [20, 0.98], + [21, 0.985], + [22, 0.99], + [23, 0.995], + [24, 0.998], + [25, 0.999] + ], + "fallback": 1 + } + } +} diff --git a/config/feed-variants/20220830-variant-b.json b/config/feed-variants/20220830-variant-b.json new file mode 100644 index 000000000..b90132d20 --- /dev/null +++ b/config/feed-variants/20220830-variant-b.json @@ -0,0 +1,211 @@ +{ + "max_days_since_published": 15, + "description": "Copy of 20220619-variant-a with tweak to comments range", + "order_by": "final_order_by_random_weighted_to_score", + "reseed_randomizer_on_each_request": false, + "levers": { + "daily_decay": { + "cases": [ + [0, 1], + [1, 0.99], + [2, 0.985], + [3, 0.98], + [4, 0.975], + [5, 0.97], + [6, 0.965], + [7, 0.96], + [8, 0.955], + [9, 0.95], + [10, 0.945], + [11, 0.94], + [12, 0.935], + [13, 0.93], + [14, 0.925] + ], + "fallback": 0.9 + }, + "comments_count_by_those_followed": { + "cases": [ + [0, 0.95], + [1, 0.98], + [2, 0.99] + ], + "fallback": 0.93 + }, + "comments_count": { + "cases": [ + [0, 0.5], + [1, 0.6], + [2, 0.66], + [3, 0.7], + [4, 0.75], + [5, 0.8], + [6, 0.85], + [7, 0.88], + [8, 0.9], + [9, 0.92], + [12, 1.0], + [18, 1.0], + [22, 1.0], + [25, 1.0], + [30, 1.0], + [35, 1.0], + [40, 1.0], + [45, 1.0] + ], + "fallback": 0.98 + }, + "featured_article": { "cases": [[1, 1]], "fallback": 0.85 }, + "latest_comment": { + "cases": [ + [0, 1], + [1, 0.9988] + ], + "fallback": 0.988 + }, + "matching_negative_tags_intersection_count": { + "cases": [ + [0, 1], + [1, 0.5], + [2, 0.4], + [3, 0.3], + [4, 0.2] + ], + "fallback": 0 + }, + "matching_positive_tags_intersection_count": { + "cases": [ + [0, 0.5], + [1, 0.85], + [2, 0.9], + [3, 0.95], + [4, 1] + ], + "fallback": 1 + }, + "privileged_user_reaction": { + "cases": [ + [-1, 0.2], + [1, 1] + ], + "fallback": 0.95, + "negative_reaction_threshold": -9, + "positive_reaction_threshold": 4 + }, + "public_reactions_score": { + "cases": [ + [0, 0.65], + [1, 0.68], + [2, 0.71], + [3, 0.74], + [4, 0.77], + [5, 0.8], + [6, 0.82], + [7, 0.84], + [8, 0.86], + [9, 0.88], + [10, 0.9], + [11, 0.901], + [12, 0.902], + [13, 0.903], + [14, 0.904], + [15, 0.905], + [16, 0.906], + [17, 0.907], + [18, 0.908], + [19, 0.909], + [20, 0.91], + [21, 0.911], + [22, 0.912], + [23, 0.913], + [24, 0.914], + [25, 0.915], + [26, 0.916], + [27, 0.917], + [28, 0.918], + [29, 0.919], + [30, 0.92], + [31, 0.921], + [32, 0.922], + [33, 0.923], + [34, 0.924], + [35, 0.925], + [36, 0.926], + [37, 0.927], + [38, 0.928], + [39, 0.929], + [40, 0.93], + [41, 0.931], + [42, 0.932], + [43, 0.933], + [44, 0.934], + [45, 0.935], + [46, 0.936], + [47, 0.937], + [48, 0.938], + [49, 0.939], + [50, 0.94], + [51, 0.941], + [52, 0.942], + [53, 0.943], + [54, 0.944], + [55, 0.945], + [56, 0.946], + [57, 0.947], + [58, 0.948], + [59, 0.949], + [60, 0.95], + [61, 0.951], + [62, 0.952], + [63, 0.953], + [64, 0.954], + [65, 0.955], + [66, 0.956], + [67, 0.957], + [68, 0.958], + [69, 0.959], + [70, 0.96], + [71, 0.961], + [72, 0.962], + [73, 0.963], + [74, 0.964], + [75, 0.965], + [76, 0.966], + [77, 0.967], + [78, 0.968], + [79, 0.969], + [80, 0.97], + [81, 0.971], + [82, 0.972], + [83, 0.973], + [84, 0.974], + [85, 0.975], + [86, 0.976], + [87, 0.977], + [88, 0.978], + [89, 0.979], + [90, 0.98], + [91, 0.981], + [92, 0.982], + [93, 0.983], + [94, 0.984], + [95, 0.985], + [96, 0.986], + [97, 0.987], + [98, 0.988], + [99, 0.989], + [100, 0.99], + [101, 0.991], + [102, 0.992], + [103, 0.993], + [104, 0.994], + [105, 0.995], + [106, 0.996], + [107, 0.997], + [108, 0.998], + [109, 0.999] + ], + "fallback": 1 + } + } +} diff --git a/config/feed-variants/20220830-variant-c.json b/config/feed-variants/20220830-variant-c.json new file mode 100644 index 000000000..3cb345827 --- /dev/null +++ b/config/feed-variants/20220830-variant-c.json @@ -0,0 +1,131 @@ +{ + "max_days_since_published": 15, + "description": "Copy of 20220619-variant-a with tweak to comments range", + "order_by": "final_order_by_random_weighted_to_score", + "reseed_randomizer_on_each_request": false, + "levers": { + "daily_decay": { + "cases": [ + [0, 1], + [1, 0.99], + [2, 0.985], + [3, 0.98], + [4, 0.975], + [5, 0.97], + [6, 0.965], + [7, 0.96], + [8, 0.955], + [9, 0.95], + [10, 0.945], + [11, 0.94], + [12, 0.935], + [13, 0.93], + [14, 0.925] + ], + "fallback": 0.9 + }, + "comments_count_by_those_followed": { + "cases": [ + [0, 0.95], + [1, 0.98], + [2, 0.99] + ], + "fallback": 0.93 + }, + "comments_count": { + "cases": [ + [0, 0.5], + [1, 0.6], + [2, 0.66], + [3, 0.7], + [4, 0.75], + [5, 0.8], + [6, 0.85], + [7, 0.88], + [8, 0.9], + [9, 0.92], + [12, 1.0], + [18, 1.0], + [22, 1.0], + [25, 1.0], + [30, 1.0], + [35, 1.0], + [40, 1.0], + [45, 1.0] + ], + "fallback": 0.98 + }, + "featured_article": { "cases": [[1, 1]], "fallback": 0.85 }, + "latest_comment": { + "cases": [ + [0, 1], + [1, 0.9988] + ], + "fallback": 0.988 + }, + "matching_negative_tags_intersection_count": { + "cases": [ + [0, 1], + [1, 0.5], + [2, 0.4], + [3, 0.3], + [4, 0.2] + ], + "fallback": 0 + }, + "matching_positive_tags_intersection_count": { + "cases": [ + [0, 0.5], + [1, 0.85], + [2, 0.9], + [3, 0.95], + [4, 1] + ], + "fallback": 1 + }, + "privileged_user_reaction": { + "cases": [ + [-1, 0.2], + [1, 1] + ], + "fallback": 0.95, + "negative_reaction_threshold": -9, + "positive_reaction_threshold": 4 + }, + "public_reactions_score": { + "cases": [ + [0, 0.4], + [1, 0.42], + [2, 0.44], + [3, 0.46], + [4, 0.48], + [5, 0.5], + [6, 0.52], + [7, 0.54], + [8, 0.56], + [9, 0.58], + [10, 0.6], + [11, 0.62], + [12, 0.64], + [13, 0.66], + [14, 0.68], + [15, 0.7], + [16, 0.72], + [17, 0.74], + [18, 0.76], + [19, 0.78], + [20, 0.8], + [21, 0.82], + [22, 0.84], + [23, 0.86], + [24, 0.88], + [25, 0.9], + [26, 0.92], + [27, 0.94], + [28, 0.96], + [29, 0.98] + ], + "fallback": 1 + } + } +} diff --git a/config/field_test.yml b/config/field_test.yml index dfdf681a2..f240bfa85 100644 --- a/config/field_test.yml +++ b/config/field_test.yml @@ -28,10 +28,38 @@ ################################################################################ experiments: # NOTE: Our feed strategy testing experiment must begin with "feed_strategy" - feed_strategy_starting_20220823: + feed_strategy_starting_20220830: # NOTE: Required as we want only want to consider for conversion events that # occurred on or after the given start_date. + started_at: 2022-08-30 + variants: + - 20220726-variant-b + - 20220830-variant-a + - 20220830-variant-b + - 20220830-variant-c + weights: + - 40 + - 20 + - 20 + - 20 + goals: + - user_creates_pageview + - user_creates_article_reaction + - user_creates_comment + - user_publishes_post + - user_views_pages_on_at_least_four_different_days_within_a_week + - user_creates_article_reaction_on_four_different_days_within_a_week + - user_creates_comment_on_at_least_four_different_days_within_a_week + - user_publishes_post_on_four_different_days_within_a_week + - user_views_pages_on_at_least_four_different_hours_within_a_day + - user_views_pages_on_at_least_twelve_different_hours_within_five_days + - user_views_pages_on_at_least_nine_different_days_within_two_weeks + - user_publishes_post_at_least_two_times_within_week + - user_publishes_post_at_least_two_times_within_two_weeks + feed_strategy_starting_20220823: started_at: 2022-08-23 + ended_at: 2022-08-30 + winner: 20220726-variant-b variants: - 20220726-variant-b - 20220823-variant