Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
akhilchibber authored Sep 23, 2024
1 parent 55861f7 commit e2dc8c1
Showing 1 changed file with 88 additions and 15 deletions.
103 changes: 88 additions & 15 deletions README.md
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!

0 comments on commit e2dc8c1

Please sign in to comment.