Commit graph

87 commits

Author SHA1 Message Date
Ben Halpern
09705dab68
Declare winner in digest count test (#20810) 2024-03-28 14:41:55 -04:00
Ben Halpern
c01964b03a
Ensure string in field test (#20777) 2024-03-19 17:44:57 -04:00
Ben Halpern
3b62ff1945
Finish Digest subject test and start count test (#20773)
* Finish Digest subject test and start count test

* Proper user

* Style tweak
2024-03-19 16:10:41 -04:00
Ben Halpern
0d4f7c7e19
Add new simple a/b test for Digest subject and adjust config and design details (#20754)
* Adjust Digest Email design and configuration

* Adjust some tests

* Update tests

* More adjustments to markup and tests

* More adjustments to markup and tests

* Digest email feature flag

* Test title variants
2024-03-11 13:02:19 -04:00
Ben Halpern
4015b346e2
Finalize 'commnts to display' a/b test (#20679) 2024-02-26 11:06:17 -05:00
Ben Halpern
223fb9cbfb
Add a/b test for feed style on new users (#20664)
* Add a/b test for feed style on new users

* Add current_user check

* Adjust to not look for current_user right away

* Move field test to the right place
2024-02-20 15:43:28 -08:00
Ben Halpern
e386a7ec15
Tweak field test weights (#20643) 2024-02-16 08:51:16 -08:00
Ben Halpern
097057a8dc
New a/b tests for Feb 14 (#20632) 2024-02-14 15:57:41 -05:00
Ben Halpern
585be9931c
Fix fieldtest date typo (#20591)
* Fix fieldtest typo

* Fix fieldtest typo

* Fix formatting
2024-02-05 11:40:27 -05:00
Ben Halpern
e26b27c7fa
New a/b test for Feb 5 (and add a variable too a hardcoded value) (#20588)
* Fix AudienceSegmentRefreshAllWorker args issue

* New a/b test for Feb 5 (and add a variable too a hardcoded value)
2024-02-05 15:46:03 +00:00
Ben Halpern
ee29318126
Add a/b test for which comments to show in feed (#20332)
* Add a/b test for which comments to show in feed

* Adjust figure

* Started at

* Move scope placement around

* Add tests for different comments_variants passed

* Fix typo
2024-01-29 12:18:50 -05:00
Ben Halpern
6d669c8a5c
Add new feed experiment for Jan 26 (#20563)
* Add a/b tests for Jan 26

* Fix feed lever

* Update config/field_test.yml

* Update config/field_test.yml

* Update app/models/articles/feeds.rb
2024-01-26 16:53:26 -05:00
Ben Halpern
5c69c9fa2b
Promote 20240104-variant-b test (#20528) 2024-01-15 13:54:22 -05:00
Ben Halpern
108d753d68
Add articles clickbait_score as factor in final feed ordering (#20493)
* Add articles clickbait_score

* Add attributes

* Fix field test config
2024-01-05 09:37:53 -05:00
Ben Halpern
8a299c88a6
Feed experiment for Dec 5 (#20427) 2023-12-06 16:05:50 -05:00
Ben Halpern
67c2fe11d4
Fix start date for field test (#20406) 2023-11-29 14:03:05 -05:00
Ben Halpern
6c45945b11
Add recommended articles to feed experiment (Nov 27 experiment) (#20399)
* Add recommended articles to feed experiment

* remove changes to initial copy

* Adjust query to account for null
2023-11-29 18:22:18 +00:00
Ben Halpern
da59622c29
New Feed experiment for Nov 8 (#20328) 2023-11-08 13:33:26 -05:00
Ben Halpern
549a7bd9d0
New AB test for October 23 (#20274) 2023-10-23 10:30:12 -04:00
Ben Halpern
ade6bf5f1f
Add feed test for oct 17 (#20252) 2023-10-17 11:33:49 -04:00
Ben Halpern
b67d5c4358
Add new feed experiment for 10-1 (#20194)
* Add new feed experiment for 10-1

* Fix field test config

* Adjust field test config
2023-10-01 13:52:33 +07:00
Ben Halpern
f753df3226
Add new feed experiments (#20171) 2023-09-27 08:21:21 -04:00
Ben Halpern
4f8f828a44
New feed experiments for 9/18 (#20130) 2023-09-18 14:40:09 -07:00
Ben Halpern
5c92f886ce
Add feed experiment for Aug 14 (#19937)
* New feed variant for Aug 14

* Update config/field_test.yml

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

---------

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2023-08-15 10:01:08 -04:00
Ben Halpern
f853b95ccd
Add feed experiment for 5/11 (#19458)
* Add feed experiment for 5/11

* Change number of articles
2023-05-12 12:17:25 -04:00
Ben Halpern
59d6816c47
Add feed experiment for 4/30 (#19406) 2023-05-02 07:05:12 -04:00
Ben Halpern
dda0e1d41d
Add feed experiment for 04/24 (#19388) 2023-04-25 07:49:06 -04:00
Ben Halpern
17db5988cd
Feed experiment for 01-11-2023 (#18949)
* Feed experiment for 01-11-2023

* Add winner to yml file
2023-01-11 17:03:29 -05:00
Ben Halpern
38d95857c5
Feed experiment for 12-15-2022 (#18866) 2022-12-16 10:15:01 -05:00
Ben Halpern
a3564a9d67
Feed experiment for 11-22-2022 (#18769)
* Feed experiment for 11-22-2022

* Fix typo

* Update config/field_test.yml

Co-authored-by: Fernando Valverde <fernando@fdo.cr>

Co-authored-by: Fernando Valverde <fernando@fdo.cr>
2022-11-23 14:18:26 -05:00
Ben Halpern
43c522b58a
Feed experiment for 11-07-2022 (#18702) 2022-11-08 13:06:58 -05:00
Ben Halpern
14797bf4e3
Small field test fix (#18678) 2022-11-02 11:24:50 -06:00
Ben Halpern
f72f6bb1c7
Feed experiment for 10-31-2022 (#18670) 2022-11-02 09:00:59 -04:00
Ben Halpern
d66dbe5e72
Feed experiment for 10-25-2022 (#18628)
* Feed experiment for 10-25-2022

* Add winner to field_test config
2022-10-25 16:16:28 -04:00
Ben Halpern
950a090c22
Feed experiment for 10-18-2022 (#18600) 2022-10-19 10:43:52 -04:00
Ben Halpern
ef63738454
Feed experiment for 10-11-2022 (#18566) 2022-10-11 08:56:49 -06:00
Ben Halpern
42efb86dca
Feed experiment for 10-04-2022 (#18533) 2022-10-05 06:41:51 -04:00
Ben Halpern
cd5c86c760
Feed experiment for 09-26-2022 (#18501)
* Feed experiment for 09-26-2022

* Fix variant

* Add proper tests
2022-09-27 08:48:15 -06:00
Ben Halpern
828d568443
Feed experiment for 09-20-2022 (#18475)
* Feed experiment for 09-20-2022

* Fix yaml indentation

* Fix typo in config
2022-09-21 12:19:38 -04:00
Josh Puetz
55c716da6e
Feed experiment for 09-15-2022 (#18463) 2022-09-16 11:27:42 -05:00
Josh Puetz
abbb4d2015
Feed experiment for 09-07-2022 (#18437) 2022-09-09 08:17:00 -05:00
Josh Puetz
9ac1d11960
Feed experiment for week of Aug 29, 2022 (#18395) 2022-08-31 09:28:27 -05:00
Josh Puetz
6bb523f480
Feed experiment for 08-23-2022 (#18371) 2022-08-26 10:30:01 -05:00
Joshua Wehner
cf11b020e5
Feed experiment for 2022-08-01 (#18269)
Co-authored-by: Josh Puetz <hi@joshpuetz.com>
2022-08-04 11:06:58 -04:00
Josh Puetz
76bb397137
Feed experiment for 2022-07-26 (#18227) 2022-07-27 08:19:32 -05:00
Jeremy Friesen
510d85dc74
Adding 2022-07-19 variant (#18156)
Diff between `20220617-variant-a` and `20220719-variant-a` (e.g. the new
incumbent with minor tweaks):

```
3c3
<   "description": "Blend of 20220603-variant-b and 20220603-variant-a",
---
>   "description": "Copy of 20220617-variant-a with tweak to negative privileged user",
84,85c84,85
<       "negative_reaction_threshold": -10,
<       "positive_reaction_threshold": 10
---
>       "negative_reaction_threshold": -9,
>       "positive_reaction_threshold": 4
```

**Note**: In the above I'm adjusting the `negative_reaction_threshold`
and `positive_reaction_threshold` to reflect the value of the privileged
user reaction points:

```ruby
class Reaction < ApplicationRecord
  BASE_POINTS = {
    "vomit" => -50.0,
    "thumbsup" => 5.0,
    "thumbsdown" => -10.0
  }.freeze
```

See the [current state of app/models/reaction.rb](817db3e6f8/app/models/reaction.rb (L1-L6))

Further, the thresholds are exclusive (e.g. `<` or `>` not `<=` or `>=`).

Diff between `20220719-variant-a` (e.g. the new incumbent) and
`20220719-variant-b` (e.g. the challenger)

```
3c3
<   "description": "Copy of 20220617-variant-a with tweak to negative privileged user",
---
>   "description": "Copy of 20220619-variant-a with tweak to comments range",
37,46c37,54
<         [0, 0.8],
<         [1, 0.82],
<         [2, 0.84],
<         [3, 0.86],
<         [4, 0.88],
<         [5, 0.9],
<         [6, 0.92],
<         [7, 0.94],
<         [8, 0.96],
<         [9, 0.98]
---
>         [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]
48c56
<       "fallback": 1
---
>       "fallback": 0.98
```

Closes forem/forem#18155
Related to forem/forem-internal-eng#453
2022-07-19 14:59:53 -04:00
Jeremy Friesen
8fa5c31cb8
Starting 2022-07-12 Experiment (#18083)
This involves declaring the 20220603-variant-a the winner of the past
experiment; note in the past experiment there was not a statistically
significant winner.

This new experiment adds a variant that deviates from the new
incumbentby way of reintroducing the follows an author and adjusting the
tag follow weights.

Closes forem/forem#18082

```shell
$ diff config/feed-variants/20220617-variant-a.json \
  config/feed-variants/20220712-variant.json
```

Results in:

```shell
3c3
<   "description": "Blend of 20220603-variant-b and 20220603-variant-a",
---
>   "description": "Builds from 20220617-variant-a (see https://github.com/forem/forem/issues/18082)",
50a51,57
>     "following_author": {
>       "cases": [
>         [0, 0.8],
>         [1, 1]
>       ],
>       "fallback": 0.8
>     },
70,73c77,80
<         [0, 0.5],
<         [1, 0.85],
<         [2, 0.9],
<         [3, 0.95],
---
>         [0, 0.3],
>         [1, 0.9],
>         [2, 0.95],
>         [3, 0.98],
```
2022-07-12 14:51:47 -04:00
Jeremy Friesen
8b7d724012
Adding 2022-06-17 feed variant (#17950)
Dependent on forem/forem#17942
Closes forem/forem#17949
2022-06-16 15:32:38 -04:00
Jeremy Friesen
234fd8b08d
Adjusting field_test index and show page (#17895)
This change introduces several things things:

1. Fixes the performance of the `/admin/abtests` page; instead of
   rendering all of the experiment results, just render the overview.
2. Adjust the show page for an experiment to show the summary of
   results.
3. Favor the existing "started_at" and "ended_at" attributes of
   FieldTest (see https://github.com/ankane/field_test#config)
4. Update the field test experiments to include the `started_at` and
   `ended_at` attributes.
5. Skip processing all non-active experiments in our conversion handler.

Why are there no tests?  This is a page that is Admin only and is only
visible for reporting purposes.  So, it's not quite worth writing tests
as you'd need lots of data.  So we'll assume the logic from the upstream
[field_test gem][1] is adequate.

Closes forem/forem#17869

[1]:https://github.com/ankane/field_test
2022-06-13 12:22:36 -04:00
Jeremy Friesen
3118f27197
Adding feed experiment for 2022-06-03 (#17824)
This commit contains two separate but related changes:

1. A check-list for creating a new experiment.
2. A new experiment along with declaring a winner for the previous experiment.

Below are the diffs of the two new variants versus the incumbent for the
experiment:

```
❯ diff config/feed-variants/20220603-variant-b.json config/feed-variants/20220518-variant.json
3,4c3
<   "description": "As 202205518-variant but with modificiation to `order_by` lever.",
<   "order_by": "final_order_by_random_weighted_to_score",
---
>   "order_by": "relevancy_score_and_publication_date",
```

```
❯ diff config/feed-variants/20220603-variant-a.json config/feed-variants/20220518-variant.json
3d2
<   "description": "As 202205518-variant but with modificiation to `matching_positive_tags_intersection_count`.",
69c68
<         [0, 0.5],
---
>         [0, 0.7],
```

Closes forem/forem#17822
2022-06-03 13:45:10 -04:00