I was really excited to begin interning at FreeAgent and after 9 weeks in the Data Analytics team I feel I’ve learnt a lot about working in a team inside a company, and about the culture here.
I thought I would write a bit about how it was getting set up, working on my project and communicating my findings to the rest of the company.
There were a lot of onboarding events (especially on the first day!) but I think they mostly provided some interesting insights on FreeAgent, especially valuable were the sessions explaining the app and its users’ motivations. I was particularly impressed by the event run by the CEO, Roan. Having the CEO meet with our small onboarding group and be open to questions made a great first impression.
The technical set-up also was surprisingly painless. I’ve had much more difficult times setting up dev environments in the past but the IT team was really helpful and had everything moving smoothly. I was pleased by how much I ended up liking the Python package manager Poetry as this was my first time using it. The Notion page was really helpful in getting it set-up and was written in a comprehensible way. Post set-up I was able to quickly settle into my workflow and rarely had any issues.
Meeting the team
It was great meeting and working with the team. As I was in a smaller team it let me get to know all of my teammates well and meant that it felt like I could turn to them when I needed help. As the team was close it felt a bit tough at first to break into the flow but after a bit I was also able to chat comfortably with them. Having an assigned “buddy” was also very useful as I felt I had someone that I could ask lots of questions to (even though the other team members assured me that I can ask them as many as I want to!)
Our daily morning stand-up meetings meant that I was in constant contact with them which was great for feedback and feeling connected, even as our team was working mostly remotely. Meeting members of the other teams was also easy, as I could join the weekly intern sprint demos or one of the several forums, such as the accessibility forum, which let me get a good view of the company.
Grabbing the data
My first task was grabbing the data I wanted to analyse from our Redshift data warehouse. I did this using SQL queries in Postico. It was exciting to be able to apply SQL skills I had learned throughout my education to industry scale data. My queries were also not without bugs! But with support from my team I was able to get the correct data and run some interesting analyses. I think it really improved my confidence with SQL.
My project was focussed on clustering customers, finding larger groups which customers belong to that are then easier to analyse or reveal trends. I faced quite a few difficulties at first, for example, some of the techniques I wanted to use weren’t quite suited to the data. A member of the Data Science team showed me a better technique, but it was still difficult to interpret the results due to the sheer number of data points. My manager then let me know about some work that had been done on grouping industries, this inspired me to shift to clustering industries. With some help on how to convert the data, this made for a much more easily manipulated dataset and considerably easier to interpret results. It also remained applicable to customers as customers are labelled with industries.
After switching to the industry representations I was able to effectively use PCA to visualise them and remove an outlier. I then used hierarchical clustering to group the industries. It produced a really interesting result, similar industries were seemingly being clustered together. This suggested that similar industries are actually using the app in similar ways. The computer generated clusters had some similarities but were largely quite different to the previously human made groupings. It was exciting to be able to apply techniques such as PCA and clustering to actual industry level data and it was also cool to see the produced labels being pushed to the database for others to use.
As a side project I did some work on a subscription predictor. For this I took the first few weeks of usage from a customer and tried using it to predict whether they would be subscribed in the future. This led to some interesting considerations such as how many initial weeks do we need to feed into the model and what does it mean for a customer to be subscribed in the future. The answers also were not obvious as I did this work in two different customer acquisition channels. It was nice to follow strategies I learnt about on machine learning courses such as splitting the data into training, validation and test sets and in the end I produced several classifiers with accuracy around 72-74%. I was very pleased with this as I had experienced difficulties with using the customer data previously.
Another important lesson I learned at FreeAgent is that the work is not over once the result has been found. The important next step is communicating that result to other people! I regularly gave presentations to members of other teams to show the work that I had done, but I think the highlight of this aspect was my Town Hall presentation as I was able to give a whole company presentation on my findings. Members of my team and the Data Science team provided lots of help which let me feel really prepared on the day of the presentation. It was exciting to be able to present to so many people and I think it really improved my skills as I also had to tailor the presentation to the less data focussed members of the audience. It was great to be able to interact with members of other teams through these presentations.
Overall, I really enjoyed my time at FreeAgent. I think it really helped mature my skills not only in applied machine learning but also in presenting the results of those techniques. I was also able to have a good time thanks to the great members of my team and all the lovely people I met across the company. I would really recommend working at FreeAgent for anyone who’s thinking about it. Thanks to the Data Analytics team and FreeAgent for a great internship!