experimenter: Experiment end date can be incorrect if overridden in external config
External configuration files allow to change the end_date
of the experiment. For example, for 1-click-pin-experiment
see https://github.com/mozilla/jetstream-config/blob/cbf385c231ce8d830ccf22153a753c580047ff2e/1-click-pin-experiment.toml#L6
Experimenter still shows the end date that was configured when the experiment was initially created:
I’ve had a couple of cases where stakeholders/people looking at the result were confused and thought results were missing or experiments should have already completed.
This is related to an issue we found with configs overriding the reference_branch
: https://github.com/mozilla/experimenter/issues/6129
One way of solving this is adding the end_date
to the experiment metadata that Jetstream produces and use it as the source of truth.
┆Issue is synchronized with this Jira Task
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 15 (14 by maintainers)
Commits related to this issue
- fix #6200 feat(nimbus): Display all analysis external config overrides on Results page Because: * Experiment analysis can be ran with overrides on the Jetstream side. As of Jetstream metadata schema ... — committed to mozilla/experimenter by LZoog 3 years ago
- fix #6200 feat(nimbus): Display all analysis external config overrides on Results page Because: * Experiment analysis can be ran with overrides on the Jetstream side. As of Jetstream metadata schema ... — committed to mozilla/experimenter by LZoog 3 years ago
- fix #6200 feat(nimbus): Display all analysis external config overrides on Results page Because: * Experiment analysis can be ran with overrides on the Jetstream side. As of Jetstream metadata schema ... — committed to mozilla/experimenter by LZoog 3 years ago
- fix #6200 feat(nimbus): Display all analysis external config overrides on Results page Because: * Experiment analysis can be ran with overrides on the Jetstream side. As of Jetstream metadata schema ... — committed to mozilla/experimenter by LZoog 3 years ago
- fix #6200 feat(nimbus): Display all analysis external config overrides on Results page (#6302) Because: * Experiment analysis can be ran with overrides on the Jetstream side. As of Jetstream metadat... — committed to mozilla/experimenter by LZoog 3 years ago
Ah interesting, we could potentially use that to display “Experiment analysis was skipped” in the sidebar instead of “Experiment results not yet ready”. Could that be helpful at all?
If an analysis is skipped, then there won’t be any analysis result data. So GCS won’t have any JSON files for overall, weekly, daily, … results. This is the case for the following experiment which has
skip=true
: https://experimenter.services.mozilla.com/nimbus/set-default-as-first-screen-100-roll-outhttps://github.com/mozilla/jetstream/pull/860 adds an
external_config
JSON object to the metadata jetstream exports for each experiment.external_config
isnull
if no external config exists or if the external config does not override any of the parameters:The experiment parameters that have not been changed and are the same as in Experimenter will be
null
. I also addedskip
which indicates that analysis is skipped for an experiment andurl
which links to the config in Github. Does this look reasonable?Yeah, that’s what I was thinking with my “I wonder if we should or if it’s plausible to pull in that metadata and change the experiment data from within Experimenter” comment. But… if the changes only impact the analysis data, updating the DB might be more trouble than it’s worth IMO, if we can simply display the overrides in a nice way at the top of the Results page, like with “Analysis date range: X - X” and probably also mention if there was a control branch/proposed enrollment override when one exists.
Probably should get @jaredlockhart’s opinion.
Yes, that sounds right 👍
I think that would be ideal. Not sure how much work that would be on the Experimenter side. It might also be good enough to just show the parameters the analysis is based in some section on the Results page for now.
This is probably a function of me not yet being familiar with this part of Nimbus, but: Does this point to a general problem with source of truth for an experiment?
Should the end date of an experiment be overridden in external config? What’s the use case & rationale for that?
Not asserting that this shouldn’t happen, so much as trying to understand when & why it would happen. e.g. Is it expected that Experimenter Console should poll external configs to update its database and published DTOs? Do changes need to be pushed to Remote Settings based on external configs?
The config can override
reference_branch
,end_date
,start_date
, andproposed_enrollment
. I think more properties could be added to that list in the future, but nothing is planned at the moment. Yeah, updating the experiment settings in Experimenter would probably be ideal.