-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
55861f7
commit e2dc8c1
Showing
1 changed file
with
88 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,94 @@ | ||
# akhil_take_home_assignment | ||
# Customer Behavior Analysis Challenge | ||
|
||
## Release | ||
:wave: Welcome to an exciting challenge! | ||
|
||
To release a new version, you can use automatic `release` command | ||
installed by `devenv` scripts. This script will: | ||
We're thrilled to have you here! Your mission is to build a model that | ||
helps us dive deep into customer behavior and product trends. The | ||
sky's the limit when it comes to the architecture and data model you | ||
choose—we're looking for solutions that are accurate, flexible, and | ||
powerful enough to grow with our needs. | ||
|
||
1. Bump the version based on [Conventional | ||
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format found | ||
in the commit history. | ||
2. Update `CHANGELOG.MD`. | ||
3. Assign version tag to the repository. | ||
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --> | ||
|
||
After the script finished successfully, you need to: | ||
**Table of Contents** | ||
|
||
1. Commit changes. | ||
2. `git push` and `git push --tags`. | ||
- [Customer Behavior Analysis Challenge](#customer-behavior-analysis-challenge) | ||
- [:pencil: What You'll Be Doing](#pencil-what-youll-be-doing) | ||
- [Data Exploration \& Visualization](#data-exploration--visualization) | ||
- [Building the Magic](#building-the-magic) | ||
- [Ready for Prime Time](#ready-for-prime-time) | ||
- [:gift: Your Data Playground](#gift-your-data-playground) | ||
- [Running the Project](#running-the-project) | ||
- [:trophy: How to Win](#trophy-how-to-win) | ||
|
||
If you want to have a release on your source control system, Github or | ||
Gitlab, you can do it dependent to the system, using the published | ||
tags. | ||
<!-- markdown-toc end --> | ||
|
||
# :pencil: What You'll Be Doing | ||
|
||
Here's what you'll be working on. We've turned the requirements into a | ||
fun checklist to help you keep track of your progress. Let's break it | ||
down! | ||
|
||
## Data Exploration & Visualization | ||
|
||
| Task | Description | Checklist | | ||
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------- | | ||
| **Total Transactions per Customer** | Create a cool descending plot showing the total number of transactions per customer. | [ ] | | ||
| **Product Transaction Frequency** | Pick any product ID and show off its transaction frequency per month for 2018 with a slick plot. | [ ] | | ||
| **Top 5 Products by Sales** | Find out which top 5 products have been the biggest moneymakers over the last six months. Bonus points if you can spot any seasonal trends! | [ ] | | ||
| **Use Jupyter Notebook for Plots** | Generate all your awesome plots using Jupyter Notebook to keep things interactive and user-friendly. | [ ] | | ||
|
||
## Building the Magic | ||
|
||
| Task | Description | Checklist | | ||
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | | ||
| **Transaction Prediction Model** | Design a model that can predict the total number of transactions for the next three months per customer, using data up until January 2019. Don’t forget to evaluate its performance with some cool metrics and visuals! | [ ] | | ||
| **Improve Existing Tests** | Got some existing tests? Make them even better to ensure top-notch accuracy and reliability in your analysis. | [ ] | | ||
| **Ensure All Tests Pass** | Make sure all existing tests are implemented (if not already) and pass with flying colors. | [ ] | | ||
|
||
### Ready for Prime Time | ||
|
||
| Task | Description | Checklist | | ||
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | | ||
| **Follow the Coding Style** | Stick to the coding style guidelines—this will help keep your code clean, consistent, and easy to maintain. | [ ] | | ||
| **Implement Linting** | Add linting to catch any sneaky errors and keep the code up to standard. | [ ] | | ||
| **Pass CI Checks** | Ensure your project runs smoothly in the Continuous Integration (CI) pipeline, passing all checks and tests. | [ ] | | ||
| **Refactor & Document** | If you hit a roadblock with the existing design, don’t sweat it—refactor the code and document your solution. It’s all part of the process! | [ ] | | ||
| **Create an Architecture Schematic** | Use [draw.io](https://www.draw.io) to create a schematic of the architecture you suggest for deploying the project. Include a link to your diagram. | [ ] | | ||
| **Record an Architecture Video** | Record a video where you describe the architecture you’ve suggested, explaining why you chose it and how it fits the project’s needs. | [ ] | | ||
|
||
# :gift: Your Data Playground | ||
|
||
The dataset you’ll be working with has three key features related to | ||
customer behavior: | ||
|
||
- Customer ID | ||
- Product | ||
- Timestamp | ||
|
||
These will be your building blocks for all the exciting insights | ||
you're going to uncover. | ||
|
||
### Running the Project | ||
|
||
Make sure you have [DevEnv](https://devenv.sh/getting-started/) | ||
installed. Then you can easily run the project: | ||
|
||
```sh | ||
devenv shell # to enter the isolated environment | ||
|
||
pytest # Make all of them pass! | ||
``` | ||
|
||
# :trophy: How to Win | ||
|
||
You're done when: | ||
|
||
- All the checks and tests pass. | ||
- The code meets our style guidelines. | ||
- The project is up and running perfectly on CI. | ||
- You’ve created and shared your architecture schematic and | ||
accompanying video. | ||
|
||
Most importantly, have fun with it! We can’t wait to see what you come | ||
up with. :four_leaf_clover: Good luck! |