Skip to content

JJLZ21/ECS171-final-project

Repository files navigation

ECS171-final-project GROUP 1

This is the github repository of the Fall Quarter 2020 ECS171 Group 1 final project source code. All team members were active contrubuters in code and report writting, and sometimes in areas outside of their primary roles. Group members were generally catigorized based on the following roles:

Team Leader: Mary Hamidi

Software Engineering & UI/UX: Joel Boersma, Troi-Ryan Stoeffler, Nathaniel Wright, Jack Zhu

Data Management: Ninh Nguyen, Marco Lou

Machine Learning: Derek Lee, Shaumik Pathak, Mary Hamidi, Zainab Apalara

Project Management: Zainab Apalara

The goal for this project was to create a product that can help solve the problem small online retailers face when it comes to effective customer-centric marketing using the the data available. Data preparation (such as getting the RFM values), model tuning, and cluster analysis were the most time consuming and critical areas of work. A measure of success for this case study of unsupervised machine learning is the ability to make meaningful inferences of our data and to apply that knowledge to a final product. We were able to successfully implement market segmentation by processing and clustering the data into the right amount of clusters such that there were obvious segments of customer behaviors. Finally, we created a user friendly web interface that can give helpful marketing recommendations.

Link to Web Interface: https://ecs-171-strite-pie-licoriceta.glitch.me/

Web Interface Files:

  • glitch/ is the folder containing all of our web interface files
    • public/ is the folder that contains the static files that will be sent to the client
      • img/ contains the necessary images for the web app
        • clusterN_new.png are the plots for clusters 0-3
      • react.html is the static html file that will be sent to the client and will updated by ReactJS
      • style.css is the stylesheet for the web app
    • src/ is the folder that contains the source files for the ReactJS web app
      • components/ contain the React components for the individual web pages
        • DataInterface.jsx is the client HTTP Request interface for communication with the server
        • Questions.jsx is the React component for what appears and happens on the Questions page
        • Results.jsx is the React component for what appears and happens on the Results page
      • app.jsx is the main app file that updates the web page to be the questions or results page
      • categories.json is the config file that contains the categories and their appearance for the results page
    • README.md contains the instructions to start the webserver locally or on Glitch
    • package-lock.json is automatically generated by NodeJS that contains more detailed information for dependencies
    • package.json is the configuration for the NodeJS server that tells it what to run and what dependencies there are
    • server.js is the code for the express.js server that handles the clustering calculations
    • webpack.config.js is the configuration for webpack that compiles everything in src/ into a bundle.js in public/

Machine Learning Files:

  • ml_file.ipynb is the primary source code for the data and machine analysis of the project
  • unscaled_ml_file.ipynb applies some clustering analysis on unscaled data for testing purposes

Data Set files:

  • online_retail_II.xlsx this the raw dataset coming from the UCI machine learning repository
  • processed_dataset_11-18.zip this is our dataset after pre-processing efforts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9

Languages