Kanishk Kacholia
LinkedinGithub

ALY

👨🏽‍🌾 A Carlson Hackathon Challenge

Last updated: May 14th, 2023

ALY

Spring 2023

ALY Is a tool created during Carlson's Analytics for Good hackathon designed to provide the non-profit Good Acre a dashboard capable of managing and predicting orders for farmers.

    javascriptpostgresqlpythonchakra uifastapinextjsreactnumpypandassqlalchemygitbig datadata modelingfeature engineeringmachine learning

Overview

ALY Is a tool created during Carlson's Analytics for Good hackathon designed to provide the non-profit Good Acre a dashboard capable of managing and predicting orders for farmers. This project awarded us the Most Engaged and Inquisitive award. During this hackathon I disambiguated data, combined datasets, feature engineered, designed a schema for a PostgreSQL instance, and developed a predictive model. The predictive model I generated initially utilized a Stochastic Gradient Descent model which changed to a multivariate regression, and eventually optimized to a Random Forest Decision Tree.

Background

For this hackathon we were provided data regarding the operations of the Good Acre. This data was a collection of orders and contracts provided to local farmers from underrepresented backgrounds and data about how filled those contracts were by those farmers. It was our goal to create tools that the Good Acre could use to better there operations and make it far more streamlined and efficient. Initially it was my goal to utilize Pandas to combine both datasets in a way that would be more manageable. From our initial planning as shown by the whiteboard, we devised a plan for the project and quickly prototyped a way to display contract history on the webpage.

Our project planning for ALY

Our contract list

Development

Now that we had finished coalescing the data it was now time to analyze it and create a predictive model. We generated our metrics, On Time & In Full, On Time, Fulfilment Average. In our situation On Time & In Full meant when the contracted farmer was able to deliever enough or more than the contract's desired amount up to one week prior to its due date. On Time meant that the farmer was able to provide something before the due date of the contract but it did not meet expectations and came up short. Fulfilment Average represents the number of contracts that were met even if the farmer failed to meet a time target. The data was shown in the dashboard in a manner such as the one shown below.

Dashboard

Once we had found our metrics and data it was time to create predictive models. We initially created a Stochastic Gradient Descent Curve model before understanding that the data provided to us was too small to train the model and that the rate of error was far too high. This eventually progressed to a Multivariable Regression as shown in the following image but that too proved unfruitful due to the small size of the data. In a last effort we utilized a Dense Forest in order to create predictions which faired significantly well resulting in the least error compared to the other models. This model was hooked into the frontend using FASTAPI.

Our Regression Statistics

Outcome

Upon the completion of the project we were awarded the award for Most Dedicated Team. As the only undergraduate team in a competition designed for Masters in Business Analytics students we ended up creating something that none of the other competitors thought was possible for a team of our nature. Through this I learned a lot about predictive models and more so abou the things I don't know. As I progress through my Data Science degree I'm excited to see what new things I'll be exposed to and how I'll be able to make this project even better. Shown below is the final product of this competition.

ALY Final Outcome

LinkedinGithub