Ejemplo n.º 1
0
def unique_widget_views():
    """ Number of unique widget views over time. """
    reader = get_ga_reader()
    account_id = app.config.get('GA_ACCOUNT_ID')
    property_id = app.config.get('GA_WIDGET_PROPERTY_ID')
    metrics = ['uniquePageviews']
    dimensions = ['date']
    start_date = '2015-01-01'
    end_date = date.today()
    df = reader.get_data(metrics=metrics, dimensions=dimensions,
                         start_date=start_date, end_date=end_date,
                         account_id=account_id, property_id=property_id,
                         index_col=0)
    widget_counts = df.uniquePageviews.resample('w', how='sum')
    dates = ['{}'.format(d.date()) for d in widget_counts.index]
    return {'series': [{'data': widget_counts.values.tolist()[:-1],
                        'name': 'Widget Views'}],
            'x_axis': {'labels': dates[:-1], 'type': 'datetime'}}
Ejemplo n.º 2
0
def most_visited_app_urls():
    """ List of most visited app views and the average time spent on each.

    """
    reader = get_ga_reader()
    account_id = app.config.get('GA_ACCOUNT_ID')
    property_id = app.config.get('GA_APP_PROPERY_ID')
    metrics = ['pageviews', 'avgTimeOnSite']
    dimensions = ['pagePathLevel2', 'pagePathLevel3']
    start_date = '2015-01-01'
    end_date = date.today()
    df = reader.get_data(metrics=metrics, dimensions=dimensions,
                         start_date=start_date, end_date=end_date,
                         account_id=account_id, property_id=property_id,
                         index_col=0)
    sorted_df = df.sort('pageviews', ascending=False)
    paths = map(lambda p1, p2: p1[:-1] + p2, sorted_df.index,
                sorted_df.pagePathLevel3)
    labels = map(lambda p, v: '{} (views: {})'.format(
        p.encode('ascii', 'ignore'), v), paths, sorted_df.pageviews)
    return labels[:10], sorted_df.avgTimeOnSite.values[:10]