Yes, it has been exactly four months since I decided to move on and joined Loblaw Digital as a senior analyst in the Marketing Intelligence team. I have this very mixed feeling when I look back, and especially going through all my daily objectives and daily summaries, I see every “obstacle” that I went past and those questions I had on “Why are we doing what we are doing, and how can we do better?”. Finally, I am here to write about my experiences and growth.
Before we touch on our main topics, below is the job responsibility section taken from the original job description. How much can you understand my role just from here? Of course, in the real-life, it is always more than that.
Experience Part 1: Achievements
Project 1: Audience Creation in Databricks and GCP - Creating a contingency plan for the existing work
Well, this is not your typical analytics project, meaning the entire process does not involve a lot of messy data cleaning, proofs of concept, and storytelling through visualizations. The main point here is you do not need to prove that your work is meaningful nor it is consumable to the business.
But, indeed, we are trying to leverage data to solve/answer existing or new problems. You may or may not know from the job description above that one of my mandates is to build custom audiences to support internal and external marketing campaigns.
For the longest time, my team has been leverage an internal tool built by our software team for audience pulling (Why? Because we are talking about thousands terabyte of data.). This simple yet robust tool is the backbone of this team. However, since this tool itself was built on top of our company’s on-premise database hence the functionality and user experience are exclusively limited and dependent on whether or not the underlying data infrastructure is working as it is designed and developed. For example, if the underlying database is going through maintenance, the entire tool is down. (I would like to clarify here that the company has seen the issues and is in the process of developing the next generation of this tool that is going to be cloud-based.)
With this background in mind, after having many discussions with my managers and other end-users of the tool. I decided that I want to figure out alternative ways and hopefully nearly as robust as what we have to build those audiences. Since the current issues that we are experiencing are the result of our enterprise on-premise database, the more obvious path to solving the problem is to rely on other possible data sources.
After some digging and exploration, I realized that the vast majority of the data required to get the job down either live in our Media database hosted on Azure Databricks, or in Big Query on GCP. I must say that I felt blessed and confident when I found out because if the data is available already in a different source, I can already assume that I can build custom queries to get what I want. Starting from here, I came up with and summarized several sample use-cases that are useful to the team to pull the target audiences, and later shared them with everyone in the team.
Ultimately, when the internal tool was indeed down from underlying database maintenance for two weeks, our team used my alternative solutions to keep marketing plans unaffected and moved as scheduled. Along the way, I also had the opportunity to polish and enhance my fluency with PySpark programming (I was a heavy Python user before) and became comfortable with it which set the good stepping stone for my future machine learning initiatives that were also built in Spark environment.
I am thankful that the company has teams of great engineers and architects that work on the entire data ecosystem that powers our operations and analysis days and nights. By the time I want to build something, the data is most readily available and how wonderful is this.
Project 2: Audience List Management Automation - Improving operational efficiency and open a world of new opportunities
This was the first end-to-end project I took on after joined Loblaw. Just to give a little background here, we transfer key information within our team and across the entire organization through different means and channels. Most of the project updates or noteworthy things are almost always shared and live in Jira, Confluence, and Sharepoint together. Besides, people love the classic yet powerful Excels, and oftentimes, the detailed audience requirements that flow in my team are stored in one or multiple Excel sheets.
After the audiences/segments are created for a specific campaign, its related summary such as advertisers' name, campaign type, campaign name, audience/segment size, digital ad account ids where the campaign is alive…etc, this info is been transferred manually to a report CSV file that lives in someone’s local computer. This report file is used to track all unique audiences we created over the years and with some simple aggregations, we can extract insights like which advertises we served the most in any lookback window or which ad platform is preferred for which types of campaign…etc.
The business and our team were actively looking for ways to automate the existing list management workflow and come up with a streamlined solution that not only saves time during the process of data transferring but also makes the end report more visible and easy to access to all required parties.
The audience request form itself resembles this photo I found online but 10X prettier XD.
The point here is that we regularly stick to one sheet, and each sheet is further divided into multiple sections. Each of the sections is to store a different subject about a campaign. For example, campaign advertise information can be stored in a top left panel, and right next to it, we have a panel for Ad account information. Moreover, audience creation logics and description can be found from the center panel and lastly, main statistics about the audiences and the platforms can be found in the middle right panel. In practice, we have about 6 panels to store all relevant information about a specific campaign and its respective audiences.
After some explorations, active research, and discussions with my manager, I knew what I need to achieve in the first stage: to build a script that can be executed by anyone (even run as a scheduled job) that scan through the entire Excel document and extract wanted information, clean, aggregate, flatten and lastly spits out to a CSV file that’s ready to be upload to any cloud environment.
The second step is to find the most efficient way to upload the data to our cloud environment (without the need to access to the console) which then can be directly consumed. I invested time to learn and played around with Google Cloud SDK and various APIs and figured out a way to automate the data transportation pipeline and the audience data is now alive in BQ table.
This project is completely finished (based on the current demand) and is currently supporting the business.
**Project 3: Audience Dashboard - A task that most analysts cannot avoid (or extremely happy to work on) **
To start, I am not a dashboard guy. But I strongly believe a well-designed dashboard can increase cross-team communication and productivity by a significant amount. In this role, not only that we are supporting all lines of business but also we are the point of truth when it comes to media addressable audience. Who can we target? What do they look like? Where do they shop? What are their respectful sizes…etc?
You can have different answers to the above questions when you cut the data differently. However, some supporting statistics such as macro insights about the general audience group always come in handy. The idea is to build a simple yet powerful one-stop, high-level insights-only dashboard that can be accessed and referenced quickly by anyone in the organization.
I received an enormous amount of help throughout the process of creating this dashboard from many intelligent people across the organization. Those people can be summarized in the following three categories:
Business Leaders:
- From them, I was able to define specifically what are some metrics that we are interested in capturing and who’s our target in each metric?
Team Manager:
- Some of the topics we discussed include: how should we package this and sell this? It is in demand, but what is the best way to position this product, and what are the best use-cases for it?
- On the presentation side: how to best visualize each metric (chart type, legends, colors, and every small thing)?
Team Members (My team has analysts, engineers, PMs, strategists at all levels):
- From them, we work together to get the building logic set properly and also learned where to get the data that I needed since the dashboard is supposed to cover any media addressable audience and not limited to a specific line of business.
Above also summarize the steps that I have taken to get it done. The logic is always to think/plan from top to bottom, and work from the bottom up!
Lastly, I presented the dashboard during our weekly all-hands meeting for the entire company and we received great feedback from our leadership teams. So far, the sales & strategy teams are already using the dashboard to power their daily operations. With uprising demand in other metrics, our team will work together on the continuous development of this dashboard and hoping to take this to the next level.
Experience Part II: Challenges & Growth
Challenge: Apply/Fit Machine Learning into the existing process
First of all, this particular role at hiring was not technically a data science or machine learning role. But, it won’t always be the case.
As someone who spent 4-month full-time in a data science Bootcamp and an additional 6-month working with various clients on applied data science and machine learning, I thought that I was pretty confident to pull those modeling skills right off the bat to solve an existing problem with an additional layer of “intelligence”. Of course, this did not happen and I knew that before I even joined the company.
Some people refer to the first few weeks or even the first few months after a person has joined a new company as the “adjustment” period. I don’t believe this from a growth perspective but it does make sense from both planning and execution perspectives.
How could you plan something greater when you don’t know how good or bad your existing process or work is and how could you execute a plan more efficiently when you barely know the right way to do it? Bottom line is that every product, process, and even people exists for a reason. This is why in my past career, every role after I joined before I even thought about proposing something new or “better”, I spent quite a lot of time stick with the plan and just do it, and end-to-end until I’m confident to answer the following questions:
1: What is the ultimate goal we aim to achieve?
2: Have we break down the goal into functional objectives?
3: What are the steps and processes we need to follow to reach the above objectives?
Question 3 is where I truly find the “hidden” opportunities. The opportunities where rule-based process and solving technique gets too complicated and manual. At end of the days, we are all problem solvers, we constantly strive to find better (robust, efficient, and automated) ways to those problems so that our focuses are always on the most important matters - be able to justify our solution and truly helping the end-users consuming the work we do. Of course, here does not solely represents machine learning or even AI, and perhaps 90% of the cases I came across with wouldn’t need it.
With the above being said, why would I insist on finding opportunities to work on machine learning problems? Well, the answers are plain simple:
(2) On the personal side, I always like to challenge myself to go above and beyond. Plus, I want to boost my ROI in taking the data science Bootcamp and the more I think about the opportunity cost of me taking the data science Bootcamp, the more determined I am in following my passion which is to help businesses solving problems more efficiently and more intelligently.
Growth: Yes, Machine Learning
I’m extremely happy and blessed, being with a team full of collaborative teammates and supportive leaders.
I have a lot of freedom to invest my time in exploring and testing new ideas. Of course, I believe the above 3 mentioned projects and countless other small things I took on and completed helped me greatly in building a strong positive relationship with my team. While I’m currently taking some initiatives on the topics of my interest but I always know what my main priority is and that is extremely important.
Growth and challenges always come together. As the more you trying to grow, the more challenge will hit your face. Or maybe the inverse is also true which is the more challenge you decided to take on, the more growth you will eventually get out from it.
The challenge here I’m referring to is machine learning projects. Why is that? Because doing a machine learning project for a real-world large-scale retail and e-commerce company is 1000 times more complicated than your clean dataset and clear instructions were given to you by your professor. You have to think from so many perspectives, and it’s overwhelmed even if you just want to answer the simplest: “What? Where? How? Why?”.
Or, maybe you should not think too much and simply get on and do it. But the trick is to do your research and then talk to the SMEs (data scientists, machine learning engineers…etc.) who are in your organization and tell them what you want to do, and pick up their brains.
The last thing that you should concern about is whether or not your machine learning project at the end gets deployed in production to support the business decision. Honestly, it is not up to you even if your logic is correct, your data is representative, your methodology is not flawed and your model predicts very well on the testing data. It is like in every life event of yours, and usually, your effort matters the most.
**A golden rule here is that if you do not do your thorough research on the problem you are trying to solve, nor do you communicate to those who are far more experienced than you before you start the project and during the process of doing it. Your likelihood of success is going to be far lower. **
My growth so far in this company is through actively communicate and learn from folks across the entire organization, and I plan to keep doing so.
_Stay tuned! I will be back and share more exciting news about my projects. _