This is a simple programming task to gauge your Python coding skills. It is a simplified version of what a programmer would do in a typical day at Webrepublic.
Estimated effort: 4 hours
Test data: https://www.kaggle.com/satian/exported-google-analytics-data
Test file: Test_external_data.csv
Write a tool that parses the sample dataset and produces data points to address the following:
- Are all client ids unique?
- Show the 10 most profitable client ids
- Calculate the total revenue generated by all clients with less than 10 sessions
- Who generates the most transactions: the half of the clients with longer sessions or the other half?
- Calculate the revenue generated by the 100 client ids with the most transactions. Is it possible to generate the aggregated average session duration for those same client ids with the given dataset? Why? How about bounce rate?
You have 7 days to send your solution to cesar.desales[at]webrepublic.ch
You'll need ππ½ thumbs up in the following criteria to pass to the next round:
- ππ½ The problem is solved in time
- ππ½ Basic programming and design principles are followed, think of modularity, encapsulation, separation of concerns and so on
- ππ½ The code is pythonic at least to a certain degree. This shows us how familiar you are with Python.
On top of that, your project will help us get a glance of how you work:
- Choice of tools and technologies
- Your approach to problem solving: OOP? Unit testing? Change management?
- How you communicate and share your solution
- Understand your strenghts and identify the on-the-job training path in case you are hired
- We'll use it in the technical interview to break the ice and discuss how your skills can address our business needs
- You can use it as a good opportunity to differentiate yourself from other candidates, for instance by using test driven or clean code approach.
- The hiring manager is convinced good programmers donβt reinvent the wheel
- We would love to be able run the program ourselves and see its output
- Assume your program will undergo code review and will need to be maintained
- This is your chance to show us how professionally written code looks like in your view
- If you believe something is truly broken with the assignment or the dataset please notify cesar.desales[at]webrepublic.ch
We have made good experiences with coding assignments but we acknowledge they may not be everybody's cup of tea, or that some candidates may not have the ideal environment to develop a solution at home. If that's the case we are open (really!) to other approaches, hit us up and help us make you shine.
Also, we understand perhaps you want to know more about the company and the job before investing your time in this takehome assignment. Fair enough. While we prefer to have a streamlined process, you have the option to request the meet & greet session before writing any code, simply let us know.