def unenroll(events, experiment): return agg_any( all_([ events.event_category == 'normandy', events.event_method == 'unenroll', events.event_string_value == experiment.experiment_slug, ]))
def test_agg_any(spark): df = register_fixture(spark) res = df.groupBy('client_id').agg( mm.agg_any(df.bool_col).alias('metric_value')).toPandas().set_index( 'client_id').metric_value assert res['aaaa'] == 1 assert res['bb'] == 0 assert res['ccc'] == 1 assert res['dd'] == 0
def view_about_protections(events): return agg_any( all_([ events.event_object == 'protection_report', events.event_method == 'show', ]))
def view_about_logins(events): return agg_any( all_([ events.event_method == 'open_management', events.event_category == 'pwmgr', ]))
def unenroll_addon_expt(tssp): return agg_any(tssp.payload.data.study_state == 'exit')
through a Firefox SAP and which are not monetizable. Learn more in the [search data documentation](https://docs.telemetry.mozilla.org/datasets/search.html). """ # noqa:E501 ), ) #: Metric: ... unenroll = Metric( name="unenroll", data_source=normandy_events, select_expr=agg_any(""" event_category = 'normandy' AND event_method = 'unenroll' AND event_string_value = '{experiment_slug}' """), friendly_name="Unenrollments", description=dedent("""\ Counts the number of clients with an experiment unenrollment event. """), bigger_is_better=False, ) #: Metric: ... view_about_logins = Metric( name="view_about_logins", data_source=events, select_expr=agg_any(""" event_method = 'open_management'
from textwrap import dedent from mozanalysis.metrics import agg_any from mozanalysis.segments import Segment, SegmentDataSource clients_last_seen = SegmentDataSource( name="clients_last_seen", from_expr="`moz-fx-data-shared-prod.telemetry.clients_last_seen`", window_start=0, window_end=0, ) regular_users_v3 = Segment( name="regular_users_v3", data_source=clients_last_seen, select_expr=agg_any("is_regular_user_v3"), friendly_name="Regular users (v3)", description=dedent("""\ Clients who used Firefox on at least 14 of the 27 days prior to enrolling. This segment is characterized by high retention. """), ) new_or_resurrected_v3 = Segment( name="new_or_resurrected_v3", data_source=clients_last_seen, select_expr="LOGICAL_OR(COALESCE(is_new_or_resurrected_v3, TRUE))", friendly_name="New or resurrected users (v3)", description=dedent("""\ Clients who used Firefox on none of the 27 days prior to enrolling. """),
# file, You can obtain one at http://mozilla.org/MPL/2.0/. from mozanalysis.metrics import agg_any from mozanalysis.segments import Segment, SegmentDataSource clients_last_seen = SegmentDataSource( name='clients_last_seen', from_expr="`moz-fx-data-shared-prod.telemetry.clients_last_seen`", window_start=0, window_end=0, ) regular_users_v3 = Segment( name='regular_users_v3', data_source=clients_last_seen, select_expr=agg_any('is_regular_user_v3'), ) new_or_resurrected_v3 = Segment( name='new_or_resurrected_v3', data_source=clients_last_seen, select_expr="LOGICAL_OR(COALESCE(is_new_or_resurrected_v3, TRUE))", ) weekday_regular_v1 = Segment( name='weekday_regular_v1', data_source=clients_last_seen, select_expr=agg_any('is_weekday_regular_v1'), ) allweek_regular_v1 = Segment(