Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 2.99 KB

README.md

File metadata and controls

52 lines (34 loc) · 2.99 KB

Coding assignment

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

Instructions

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

Evaluation criteria

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.

Tips

  • 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

Nobody left behind

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.