We got the idea for TesselloScore from mobile phone-based finance service M-Pesa based in Kenya and Tanzania. Besides operating similarly to Venmo, M-Pesa allows its users to take out loans, calculating their trustworthiness according to their own set of metrics. Some of these metrics include SMS, phone call, and transaction history. This inspired us to look to unconventional methods of calculating our version of a credit score so we could take into consideration metrics that would create a fuller picture of our users. In this way, TesselloScore is more transparent and accurate than other credit scores out there.

What it does

We reinvented the credit score from first principles, defining it as a measure of creditworthiness, then brainstorming indicators of creditworthiness from both intuition, and academic journals on economic behavior.

These indicators are then measured as objectively as possible, and tagged to an individual, along with his historical creditworthiness. By aggregating this data over tens of thousands of users, a Machine Learning algorithm then identifies correlations between indicators and creditworthiness and outputs weightings that are used to make predictions on future users.

How we built it

We wanted a simple, aesthetically pleasing, and easy to use “Single Page Application”. Knowing that a credit score system like ours would require big data scalability and easy processing, we decided to use a NoSQL (MongoDB) database and Angular on the Front End. This would also enable easy communication with our machine learning models in Flask. The REST structure provided by Angular would enable us to easily fetch data from various APIs and store relevant data per-user in our databases.

The machine learning algorithm used Sklearn’s library. We standardized our input indicators to scale from 0.0-1.0 and placed them into a 2D array. Since the datasets we needed do not exist online, we used a python function to generate our dataset and saved it as a CSV file. The Ridge Regression algorithm then learns from this and is used to make predictions. We selected Ridge Regression above other models such as Logistic Regression which would have fit our 0.0 to 1.0 probability model due to the nature of high collinearity within our data.

Challenges we ran into

One challenge we ran into was figuring out how to quantify and weight each indicator since we needed these weightings to be based on statistics and to improve over time. The first plan was to calculate the correlation for each indicator, normalize, then assign them as weightings. However, this assumes conditional independence of each indicator which may not necessarily be true.

Another challenge we encountered was figuring out how to display the information we wanted to in a clean, understandable and visually appealing way. We wanted the data to speak for itself, yet not overwhelm users, so we experimented with various data visualizations until we created charts and graphs that served our purpose well.

Accomplishments that we're proud of

We are proud of creating a transparent, distributed credit score system where subjective decisions are made from statistics, instead of opinions. We are also proud that we were able to learn and leverage the ridge regression machine learning algorithm, despite none of us having any data science background.

What we learned

We learned how to function together as a team of individuals with very different skill-sets. For those of us who were less well-versed in financial technologies, it was interesting learning to navigate and gain experience with the field. It was also really fun getting to hop between different aspects of developing our product, from the theory and equation-forming, to the data visualizations, to the actual development. We are all very grateful to have had this opportunity.

What's next for TesselloScore

We believe that TesselloScore has widespread applications in many facets of our lives. With the TesselloScore app, users’ credit could be verified with the scan of a QR code. This would make it very easy to verify your creditworthiness in a variety of applications, from point-of-sale loans to vehicle test drives. This would also allow for the credit score system to be transparent, distributed, and accurate in a way no other credit score system currently is.

Share this project: