Skip to content

msoftware/aso-sherlock

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sherlock - The ASO inspector

Sherlock is a program I wrote as a companion to my presentation at the ASO Conference in NYC in 2019.

It's based on top of a library I wrote called pm-prophet

It can produce curated reports about your app and it's traffic, including:

  • Updates impact (both visual and textual updates)
  • Seasonality
  • Uplift

Sample output: is demostrated in the file examples/report.html (which is a fit of sherlock on some fake data contained in examples/example.csv).

Installation

  1. Install python 3
  2. Install pipenv
  3. Open your terminal and run pipenv install from the folder in which you have cloned this repository

Et Voilà. You should be all set.

Preparing your data

Sherlock takes in input a csv file of different time-series. The naming convention is strict and it's case-sensitive.

Required columns:

  1. date the date of the events (expressed in dd/mm/yyyy format, e.g. 12/30/2019).
  2. search_downloads downloads data coming from iTunes connect filtered by App Store Search source
  3. search_impressions impressions data coming from iTunes connect filtered by App Store Search source

Optional columns (if you do Apple Search Ads):

  1. asa_impressions impressions coming from Apple Search Ads
  2. asa downloads coming from Apple Search Ads

Extra columns: Any other time series you like (e.g. Facebook, Google, Snapchat..) for which to compute uplift.

Usage

Usage is very simple, from the terminal run:

pipenv shell

to activate the virtual environment and:

python sherlock.py -i example.csv

To run the script. There are some options available:

Options:
  -h, --help            show this help message and exit
  -a APP_NAME, --app-name=APP_NAME
                        Specify the app name if you want a more personalized
                        report
  -i FILE, --input-file=FILE
                        Input CSV file
  -o FILE, --output-file=FILE
                        Output report file (in html format)
  -s SAMPLER, --sampler=SAMPLER
                        Sampler to use ("nuts" is slower but more precise and
                        suggested, otherwise "metropolis")
  -n, --no-asa          Do not use ASA as an additional regressor (better
                        seasonality fits)
  -w, --weekly          Run the analysis on a weekly resampling
  -r SIGMA, --remove-outliers-sigma=SIGMA
                        Remove outliers at more than X sigma from the mean
                        (suggested values range between 1.5-3.5). Default
                        value is: 0 that means that Sherlock will not remove
                        outliers
  -l ALPHA, --significance-level=ALPHA
                        The significance level for the analysis (default is
                        0.05)
  -k SEASONALITY_SCALE, --seasonality-scale=SEASONALITY_SCALE
                        The scale of the seasonality, if seasonality fits poorly
                        because you have great variance due to other factors, you can
                        increase this (default is 2.5, good values are between that and 10)

Output

Open the report.html file generated by Sherlock.

License

CC BY-SA 4.0

About

ASO Inspector

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 72.7%
  • HTML 27.3%