TEMPLE ANALYTICS MERCK CHALLENGE By Team Jeffrey Diana
CONTENTS Introduction Roles and Technologies Data Acquisition & Analysis Visualization Organization Strategy
INTRODUCTION Merck is moving How will this move affect the employees? How will commute times change? Which location would be the best? Approach Organize data by zip code and organization Weight each zip code based off of employee numbers Acquire data using APIs and research Use visualization libraries in JavaScript to create a compelling narrative
ROLES & TECHNOLOGIES
TEAM ROLES Zack Smith Backend Development Steve Bergey Data Acquisition Jeff Diana Data Analysis Jihun Song Imagineer
TECHNOLOGIES Backend Python, Javascript, Bash, Nginx, NodeJS, Flask Frontend HTML, CSS, Javascript, Bootstrap Acquisition and Analysis Python, Bokeh, Javascript, GMapsJS, Excel Management Github Everything Else Emacs
DATA ACQUISITION & ANALYSIS
THE BING API How can we get useful, pertinent data on commute times and locations? Bing API! Application programming interface Web-based interface which allows you to work directly with all of Bing’s data Super simple
COMMUTE TIME ACQUISITION Primary Objective: Get a good data set for average commute times based off of zip codes Solution: Use python! Break data in to different zip codes Query Bing API for commute times per zip code Do the same for organization
WHAT ELSE CAN BING GET US? Commute times are fantastic! How about we get some graphical data? Methodology: Let’s break down the data the same way as before Instead of querying the API for time, let’s query it for the route a commuter takes A ton of points!
A TON OF POINTS ANALYSIS We’ve acquired our data, now what do we do with it? Gmaps Javascript Library Map Generation Draw polylines
VISUALIZATION
JAVASCRIPT IS NIFTY! JavaScript is a scripting language similar to Python which is designed to be used with websites Executes client-side Allows neat user interactions On every website, ever
THE DREAM
LET’S MAKE A WEBSERVER JavaScript has server-side applications too NodeJS Python is easier Flask We can host our website on a Virtual Private Server (VPS), and anyone in the world can access it Access to all that beautiful JavaScript Custom UI Unique Experience
PORTRAIT OF A SIMPLE WEBSITE Python-Based Web Server Client (Web Browser) Request (HTTP) Response (HTML, CSS, JS)
SERVER-SIDE REQUEST HANDLING
HTML: THE IMPORTANT PARTS
JAVASCRIPT: THE IMPORTANT PARTS
END RESULTS
MORE RESULTS
SCROLLING!
ORGANIZATION
GITHUB REPOSITORIES We used GitHub to manage all our code Easy collaboration Revision Control Independent branches Commit Messages
CONCLUSION Project Management is hard Bring together a lot of conflicting ideas from a lot of different people Split up tasks effectively Using time effectively We suck at JavaScript It’s hard to learn a new technology Expectation Vs. Reality Cleanairfor.me
QUESTIONS? Go ahead, ask me anything.