An example graph we created to demonstrate the implementation of a topology like the one used in our project
What do we do?
We want to make sure that our banking customers have no fear! We monitor purchases and transactions made on a customer’s account, looking for anomalies that could indicate fraudulent purchases. We alert our customers via text message in order to get the potential issue resolved as quickly as possible, allowing them to remain unafraid of fraud.
What challenges did we face?
One of our biggest challenges was Python. We previously had limited Python experience, and even though we picked up pretty well, our unfamiliarity definitely caused a few hiccups. We also struggled quite a bit using Twilio’s API, specifically in the transition to import the specific messages to send. This is a place our code could even still be streamlined and smoothed out; regardless, our automated text messages are still a success! Nessie had a pretty big learning curve, and caused some hold-ups early on in our project. However, once we got on the other side of that curve, it went much more smoothly and really made our project what it is today (and most of yesterday)!
What did we learn, and what are we proud of?
We are really excited for how this project came out! We got to make something that we can point to with pride as something that, although not even comparably secure or reliable to what a large company would be capable of, has a clear real-world purpose and application. We also got the opportunity to learn a lot about implementing APIs and coding Python and to meet some pretty cool people along the way!
How did we do it?
We used CapitalOne’s API, Nessie, to simulate customers, their accounts, and transaction data. We then analyzed this data, looking for atypical transaction behaviors of our customers, using a graph based anomaly detection, or GBAD for short. Once we found those anomalies, we want to alert our customers, so we send them text alerts using Twilio’s API
What’s next for Unafraud?
The next step for Unafraud would definitely be to account for more types of transactions. We started small, doing only money transfers between our customers, but we would love to be able to include purchases from other merchants, withdrawals from ATMs, etc. We would also love to expand our customer base and the duration of data collection. We intentionally kept numbers small while working out the kinks, so now that it’s working (and once we get other transaction types implemented), it’ll be about time for us to grow! Finally, we would like to create a website and/or phone service (accessible via the text message) that allows customers a more detailed look at the atypical behaviors so that they can approve or deny it. However, that would come way later in the development process
Can we believe how ridiculously scripted my questions are?