datascopeanalytics / a-model

A quick 'n dirty model of how Datascope makes money
4 stars 2 forks source link

There are a lot of levels at which we can try to better understand Datascope's profitability and ability to grow. For as simple of a concept as "profitability" is, it is inextricably linked to factors like personal take-home pay, type of work we do (poke my eyes out tasks are less fun), and amount of time we work. To get a better sense of this, the goal of this model is to make it easier for everyone to understand how their personal goals are tied to Datascope's.

quickstart

  1. brew install geckodriver or brew upgrade geckodriver. Make sure you are on geckodriver 0.16.1 or newer.

  2. Create a virtualenv and install the requirements

    mkvirtualenv a-model
    pip install -r requirements/python-dev
    brew install geckodriver
  3. Update some environment variables to be able to run the scripts in the bin directory using the a_model python package

    echo 'export PYTHONPATH=`pwd`'     >> ~/.virtualenvs/a-model/bin/postactivate
    echo '__AMODEL_PATH=$PATH'         >> ~/.virtualenvs/a-model/bin/postactivate
    echo 'export PATH=$PATH:`pwd`/bin' >> ~/.virtualenvs/a-model/bin/postactivate
    echo 'unset PYTHONPATH'            >> ~/.virtualenvs/a-model/bin/predeactivate
    echo 'export PATH=$__AMODEL_PATH'  >> ~/.virtualenvs/a-model/bin/predeactivate

    NOTE: The first time you do this, you will also need to source ~/.virtualenvs/a-model/bin/postactivate for these changes to take effect within your new virtualenv. From here on out though, these bash environment variables will be started by default

  4. Some of the scripts use selenium to download various things. Make sure you have the most recent version of Firefox installed. Upgrade instructions here.

  5. Create a soft link to the a-model shared Dropbox folder, which has various credentials you'll need for downloading things.

    ln -s ~/Dropbox/Library/a-model Dropbox
  6. Run the sync_quickbooks_gdrive.py to download the most up-to-date information from quickbooks. You can also sync the data by running make csvs

  7. Play with the models on an individual basis (see below) or by running make to generate a bunch of figures at once.

  8. Build
Status See .travis.yml for details on the test suite