SnappFood: Ads Service 🚀
SnappFood: Ads Service 🚀
SnappFood: Ads Service 🚀
Banners Purchase Flow
Banners Purchase Flow
Banners Purchase Flow
Context
Context
SnappFood is the leading food delivery service in Iran. This case study focuses on the application used by vendors (restaurants) and outlines the complete process for purchasing banner spots on the Home Page, Restaurant List, Cafes List, Confectioneries List, and so on.
SnappFood is the leading food delivery service in Iran. This case study focuses on the application used by vendors (restaurants) and outlines the complete process for purchasing banner spots on the Home Page, Restaurant List, Cafes List, Confectioneries List, and so on.
Business Problem
Business Problem
"Our operational team can’t sell banners in an offline flow, and we are losing a significant revenue opportunity by not being able to sell these spots to restaurants. We want to sell these spots in Vendors' App"
"Our operational team can’t sell banners in an offline flow, and we are losing a significant revenue opportunity by not being able to sell these spots to restaurants. We want to sell these spots in Vendors' App"
"Our operational team can’t sell banners in an offline flow, and we are losing a significant revenue opportunity by not being able to sell these spots to restaurants. We want to sell these spots in Vendors' App"
Data Gathering
Data Gathering
There were several questions I had at the beginning of starting this project.
There were several questions I had at the beginning of starting this project.
I was thinking...
How much is this revenue opportunity?
I was thinking...
How much is this revenue opportunity?
I was thinking...
Why can't they sell the banner in an offline flow?
I was thinking...
Why can't they sell the banner in an offline flow?
I was thinking...
What do they mean by "Offline Flow"?
I was thinking...
What do they mean by "Offline Flow"?
I was thinking...
How are these banners currently being sold?
I was thinking...
How are these banners currently being sold?
I was thinking...
What is making the offline flow difficult to use?
I was thinking...
What is making the offline flow difficult to use?
I have started discussing with the team and the project manager to understand where to begin asking our questions.
I have started discussing with the team and the project manager to understand where to begin asking our questions.
Step 0: Battle Owner Interview
I asked my questions and tried to find out about three things mentioned before.
Step 0: Battle Owner Interview
I asked my questions and tried to find out about three things mentioned before.
Step 0: Battle Owner Interview
I asked my questions and tried to find out about three things mentioned before.
6%
Conversion Rate
About 200 of vendors are converted(From 3000 Calls)
It takes 2 months and average 6 calls to convert a restaurant
What’s going on on the operations side?
What’s going on on the operations side?
Offline Banner Sales Flow
Step 1: Interview with Sales Agents
I needed to know why this flow isn’t working. Is it because we can’t hire more agents, or does the flow itself have issues, or maybe both?
3 Participants
Step 1: Interview with Sales Agents
I needed to know why this flow isn’t working. Is it because we can’t hire more agents, or does the flow itself have issues, or maybe both?
3 Participants
Step 1: Interview with Sales Agents
I needed to know why this flow isn’t working. Is it because we can’t hire more agents, or does the flow itself have issues, or maybe both?
3 Participants
Step 1: Interview with Sales Agents
I needed to know why this flow isn’t working. Is it because we can’t hire more agents, or does the flow itself have issues, or maybe both?
3 Participants
What’s going on on the operations side? Why business is requesting for an online flow?
What’s going on on the operations side? Why business is requesting for an online flow?
Pain points of current flow (I'll focus on the active ones in this case study)
The contract signing is done via SMS, This makes it hard to manage and follow.
The contract signing is done via SMS, This makes it hard to manage and follow.
There’s no payment system. Agents manually record vendor names to deduct banner costs from their biweekly earnings.
There’s no payment system. Agents manually record vendor names to deduct banner costs from their biweekly earnings.
There’s no payment system. Agents manually record vendor names to deduct banner costs from their biweekly earnings.
Choosing between areas and dates are hard to explain because vendors want to explore.
Choosing between areas and dates are hard to explain because vendors want to explore.
Choosing between areas and dates are hard to explain because vendors want to explore.
We can’t target all potential vendors because hiring new agents to cover all of them is expensive.
We can’t target all potential vendors because hiring new agents to cover all of them is expensive.
We can’t target all potential vendors because hiring new agents to cover all of them is expensive.
Synchronization among all agents is challenging to ensure that they don’t sell the same banner to two different vendors.
Synchronization among all agents is challenging to ensure that they don’t sell the same banner to two different vendors.
Synchronization among all agents is challenging to ensure that they don’t sell the same banner to two different vendors.
We don't show them reports of impressions, CTR, CPO, and orders from the banner they've bought!
We don't show them reports of impressions, CTR, CPO, and orders from the banner they've bought!
We don't show them reports of impressions, CTR, CPO, and orders from the banner they've bought!
Step 2: Talk with Stakeholders
The product manager and I spoke again with the business team. We tried to convince them to view the initial steps as an MVP product. This way, we can verify its effectiveness and resolve any issues that might arise in an online flow.
Step 2: Talk with Stakeholders
The product manager and I spoke again with the business team. We tried to convince them to view the initial steps as an MVP product. This way, we can verify its effectiveness and resolve any issues that might arise in an online flow.
Step 2: Talk with Stakeholders
The product manager and I spoke again with the business team. We tried to convince them to view the initial steps as an MVP product. This way, we can verify its effectiveness and resolve any issues that might arise in an online flow.
Step 2: Talk with Stakeholders
The product manager and I spoke again with the business team. We tried to convince them to view the initial steps as an MVP product. This way, we can verify its effectiveness and resolve any issues that might arise in an online flow.
MVP Online Banner Sales Flow
I attempted to design a MVP for an online flow to streamline communication and identify potential issues we might encounter in an online environment.
I attempted to design a MVP for an online flow to streamline communication and identify potential issues we might encounter in an online environment.
Platforms
There are two platforms and two groups of users involved. First, the Vendor’s App, which is used by the restaurants, and second, the Back-Office Panel, which is used by the Sales Agents.
There are two platforms and two groups of users involved. First, the Vendor’s App, which is used by the restaurants, and second, the Back-Office Panel, which is used by the Sales Agents.
Problems in Our New Online Flow
Problems in Our New Online Flow
We envisioned a new online process where restaurants embark on their journey to purchase banner spots. Here, we will concentrate on the issues that emerged.
1
Choosing the Correct Package
Choosing the Correct Package
A restaurant must make three selections: the area, the spot, and the date. Presenting a three-dimensional input with interdependencies can be challenging.
A restaurant must make three selections: the area, the spot, and the date. Presenting a three-dimensional input with interdependencies can be challenging.
2
Payment Method
Payment Method
We encountered numerous constraints with our payment methods. The vendors weren’t making immediate payments; instead, we were deducting the costs from their biweekly revenue. Moreover, we lacked a mechanism for card payments.
We encountered numerous constraints with our payment methods. The vendors weren’t making immediate payments; instead, we were deducting the costs from their biweekly revenue. Moreover, we lacked a mechanism for card payments.
Metrics
Metrics
We've lost 25% of our customers in 3 months.
Success Metric
Ads Active Vendors
(Assuming this new feature can bring new vendors to the ads system)
Success Metric
Banner Sales Average Handling Time
Success Metric
AVG Count of Calls for Converting a Vendor
Adoption Metric
Count of Converted Vendors / Count of Submitted Requests
Adoption Metric
Count of Purchased Banners
Success Metric
Ads Active Vendors
(Assuming this new feature can bring new vendors to the ads system)
Success Metric
Banner Sales Average Handling Time
Success Metric
AVG Count of Calls for Converting a Vendor
Adoption Metric
Count of Converted Vendors / Count of Submitted Requests
Adoption Metric
Count of Purchased Banners
Success Metric
Ads Active Vendors
(Assuming this new feature can bring new vendors to the ads system)
Success Metric
Banner Sales Average Handling Time
Success Metric
AVG Count of Calls for Converting a Vendor
Adoption Metric
Count of Converted Vendors / Count of Submitted Requests
Adoption Metric
Count of Purchased Banners
Success Metric
Ads Active Vendors
(Assuming this new feature can bring new vendors to the ads system)
Success Metric
Banner Sales Average Handling Time
Success Metric
AVG Count of Calls for Converting a Vendor
Adoption Metric
Count of Converted Vendors / Count of Submitted Requests
Adoption Metric
Count of Purchased Banners
Ideation
Ideation
1
Choosing the Correct Package
Choosing the Correct Package
A restaurant must make three selections: the area, the spot, and the date. Presenting a three-dimensional input with interdependencies can be challenging.
A restaurant must make three selections: the area, the spot, and the date. Presenting a three-dimensional input with interdependencies can be challenging.
Area
Area
Banners are displayed in various districts of our city, Tehran. For instance, the banner in Area 5 promotes ‘Hot Pizza’, while the banner in Area 3 advertises ‘King Burger’.
Banners are displayed in various districts of our city, Tehran. For instance, the banner in Area 5 promotes ‘Hot Pizza’, while the banner in Area 3 advertises ‘King Burger’.
Spot
Spot
Banners can be showcased on various pages within the customer’s app. These could include the restaurant listing, confectionery listing, cafes, and so on.
Banners can be showcased on various pages within the customer’s app. These could include the restaurant listing, confectionery listing, cafes, and so on.
Date
Date
Each banner is sold for a duration of one day. Therefore, obtaining a specific date selection from the vendors was another input we sought.
Each banner is sold for a duration of one day. Therefore, obtaining a specific date selection from the vendors was another input we sought.
So, what's the problem?
So, what's the problem?
These three elements are interdependent. To display the available areas, we need to know the dates and spots the vendor is interested in. Similarly, to show the available dates, we need to know which areas the vendor wants for their banner, and so on.
These three elements are interdependent. To display the available areas, we need to know the dates and spots the vendor is interested in. Similarly, to show the available dates, we need to know which areas the vendor wants for their banner, and so on.
First Ideas
First Ideas
I attempted to design all variations for selecting inputs, each with different priorities.
I attempted to design all variations for selecting inputs, each with different priorities.
Ultimately, our team decided to proceed with this option, viewing it as a MVP feature for the product:
Ultimately, our team decided to proceed with this option, viewing it as a MVP feature for the product:
Step 1
Step 1
Select The Spot
Select The Spot
We didn't have the opportunity to interview with the vendors but we had a strong assumption that in the decision process for buying banners, vendors know which spot they want to choose
We didn't have the opportunity to interview with the vendors but we had a strong assumption that in the decision process for buying banners, vendors know which spot they want to choose
Step 2
Step 2
Select The Area
Select The Area
Another assumption we made was that vendors wouldn’t be interested in exploring different areas. They would prefer to purchase the area where their store is located.
Another assumption we made was that vendors wouldn’t be interested in exploring different areas. They would prefer to purchase the area where their store is located.
Step 3
Step 3
Explore the Calendar
Explore the Calendar
Finally, in step 3, we have two inputs to display the available dates for the vendor to explore.
Finally, in step 3, we have two inputs to display the available dates for the vendor to explore.
Validating Assumptions:
Validating Assumptions:
There were certain decisions we made based on our assumptions when choosing between multiple variations. Due to our tight deadlines, we couldn’t conduct a research phase. Therefore, I decided to proceed with these assumptions and aim to validate them through targeted metrics after the feature’s launch.
There were certain decisions we made based on our assumptions when choosing between multiple variations. Due to our tight deadlines, we couldn’t conduct a research phase. Therefore, I decided to proceed with these assumptions and aim to validate them through targeted metrics after the feature’s launch.
Count of Requests in the Same Date but in Different Areas per Vendor
Count of Requests in the Same Date but in Different Areas per Vendor
Count of Requests in the Same Date or Area but in Different Spots per Vendor
Count of Requests in the Same Date or Area but in Different Spots per Vendor
2
Payment Method
Payment Method
We encountered numerous constraints with our payment methods. The vendors weren’t making immediate payments; instead, we were deducting the costs from their biweekly revenue. Moreover, we lacked a mechanism for card payments.
We encountered numerous constraints with our payment methods. The vendors weren’t making immediate payments; instead, we were deducting the costs from their biweekly revenue. Moreover, we lacked a mechanism for card payments.
In the offline flow, agents would simply confirm details with vendors over a call, and payments were not processed immediately. Instead, we deducted the costs from their monthly revenue within our platform. In the online flow, Unfortunately, our technology had limitations when it came to implementing card payments. Consequently, we had to explore alternative solutions.
In the offline flow, agents would simply confirm details with vendors over a call, and payments were not processed immediately. Instead, we deducted the costs from their monthly revenue within our platform. In the online flow, Unfortunately, our technology had limitations when it came to implementing card payments. Consequently, we had to explore alternative solutions.
First Idea
First Idea
Pay by Card in a Payment Gateway | Rejected
Pay by Card in a Payment Gateway | Rejected
We rejected this idea for two reasons: technical limitations and the discrepancy with the offline process, which we assumed would result in a lower conversion rate.
We rejected this idea for two reasons: technical limitations and the discrepancy with the offline process, which we assumed would result in a lower conversion rate.
+
+
Second Idea
Second Idea
Pay Part of Price by Wallet and the Rest in a Payment Gateway | Rejected
Pay Part of Price by Wallet and the Rest in a Payment Gateway | Rejected
The situation didn’t improve, there were still technical limitations, and the entire cost was being charged in one step.
The situation didn’t improve, there were still technical limitations, and the entire cost was being charged in one step.
Third Idea
Third Idea
Pay by Biweekly Revenue | Rejected
Pay by Biweekly Revenue | Rejected
Our finance team rejected the idea because it was done manually and wasn’t trackable or maintainable.
Our finance team rejected the idea because it was done manually and wasn’t trackable or maintainable.
+
+
Fourth Idea
Fourth Idea
Make a Partial Payment with Wallet and the Remainder with a Specific Credit | Rejected
Make a Partial Payment with Wallet and the Remainder with a Specific Credit | Rejected
We aimed to provide vendors with a credit that is based on their revenue and their level on our platform. This would enable them to purchase banners using their wallet and their credit.
We aimed to provide vendors with a credit that is based on their revenue and their level on our platform. This would enable them to purchase banners using their wallet and their credit.
This idea was turned down due to the complexity of communicating with vendors about the credit, including how they can charge it, how it’s assigned and calculated, and so on.
This idea was turned down due to the complexity of communicating with vendors about the credit, including how they can charge it, how it’s assigned and calculated, and so on.
Final Solution
Final Solution
Installment Payment
Installment Payment
We decided to simplify the entire process. Banners aren’t cheap and the vendors’ wallets may not be able to cover the full cost. So, instead of making partial payments with the wallet and confusing vendors about credit matters, we decided to pay the full price in installments.
We decided to simplify the entire process. Banners aren’t cheap and the vendors’ wallets may not be able to cover the full cost. So, instead of making partial payments with the wallet and confusing vendors about credit matters, we decided to pay the full price in installments.
First Ideas
First Ideas
Final Idea
Final Idea
The installments were deducted from their daily revenue over a period of 5 days. The amount of these installments was calculated based on the vendor’s daily average revenue.
The installments were deducted from their daily revenue over a period of 5 days. The amount of these installments was calculated based on the vendor’s daily average revenue.
Validating Assumptions:
Validating Assumptions:
We defined metrics to verify if things are progressing as we had anticipated.
We defined metrics to verify if things are progressing as we had anticipated.
Count of requests that didn't exceed basket step
Count of requests that didn't exceed basket step
AVG value of baskets / AVG wallet credits for every level of vendors
AVG value of baskets / AVG wallet credits for every level of vendors
Outcome
Outcome
Our research team has provided the following data (please note that the numbers have been rounded):
Our research team has provided the following data (please note that the numbers have been rounded):
Success Metric
Success Metric
Success Metric
Ads Active Vendors
Ads Active Vendors
Ads Active Vendors
+5%
+5%
+5%
It was somewhat predictable that primarily our currently active vendors would be the ones purchasing the banner spots.
Success Metric
Success Metric
Success Metric
Banner Sales AHT
Banner Sales AHT
Banner Sales AHT
-71%
-71%
-71%
Success Metric
Success Metric
Success Metric
AVG Count of Calls for Converting a Vendor
AVG Count of Calls for Converting a Vendor
AVG Count of Calls for Converting a Vendor
-4
-4
-4
Adoption Metric
Adoption Metric
Adoption Metric
Count of Converted Vendors / Count of Submitted Requests
Count of Converted Vendors / Count of Submitted Requests
Count of Converted Vendors / Count of Submitted Requests
62%
62%
62%
Adoption Metric
Adoption Metric
Adoption Metric
AVG Count of Purchased Banners in a Month
AVG Count of Purchased Banners in a Month
AVG Count of Purchased Banners in a Month
390
390
Data is for 3 months
Next Steps
Next Steps
Considering this feature as a Minimum Viable Product (MVP), we had several ideas that we wanted to explore.
Considering this feature as a Minimum Viable Product (MVP), we had several ideas that we wanted to explore.
Banner Builder
Banner Builder
In subsequent steps, we decided to remove the graphic team from the process and automate the banner design process in real-time
In subsequent steps, we decided to remove the graphic team from the process and automate the banner design process in real-time
Chain Restaurants
Chain Restaurants
After initially targeting vendors with a single branch, we decided to extend the feature to vendors with multiple branches. This proved to be a very intricate and complex task.
After initially targeting vendors with a single branch, we decided to extend the feature to vendors with multiple branches. This proved to be a very intricate and complex task.
Reports
Reports
In our initial MVP version, we were unable to provide statistics or reporting dashboards. However, in the subsequent steps, we began working on a reporting system.
In our initial MVP version, we were unable to provide statistics or reporting dashboards. However, in the subsequent steps, we began working on a reporting system.
Challenges &Lessons
Challenges &Lessons
Challenges
1
1
Tight Deadline
Tight Deadline
Tight Deadline
We were required to deliver the new feature within a single cycle as our most significant initiative. We faced a shortage of resources for research and discovery, and we had to make the right decisions within a tight deadline.
We were required to deliver the new feature within a single cycle as our most significant initiative. We faced a shortage of resources for research and discovery, and we had to make the right decisions within a tight deadline.
We were required to deliver the new feature within a single cycle as our most significant initiative. We faced a shortage of resources for research and discovery, and we had to make the right decisions within a tight deadline.
2
2
Offline Flow
Transitioning from an offline workflow to an online one was quite challenging and filled with intricate details. Each time I thought I had found a solution, new details would emerge from the sales team. Therefore, it was necessary to remain flexible for changes and scalability.
Transitioning from an offline workflow to an online one was quite challenging and filled with intricate details. Each time I thought I had found a solution, new details would emerge from the sales team. Therefore, it was necessary to remain flexible for changes and scalability.
Transitioning from an offline workflow to an online one was quite challenging and filled with intricate details. Each time I thought I had found a solution, new details would emerge from the sales team. Therefore, it was necessary to remain flexible for changes and scalability.
3
3
Back-Office Request Status
Back-Office Request Status
Back-Office Request Status
We needed to synchronize the status of every request in the vendors’ app with our back-office platform. However, the design documents, user flow diagrams, and separate Excel sheets for status tracking weren’t effectively communicating with our developers. Therefore, I decided to create a Sequence Diagram.
We needed to synchronize the status of every request in the vendors’ app with our back-office platform. However, the design documents, user flow diagrams, and separate Excel sheets for status tracking weren’t effectively communicating with our developers. Therefore, I decided to create a Sequence Diagram.
We needed to synchronize the status of every request in the vendors’ app with our back-office platform. However, the design documents, user flow diagrams, and separate Excel sheets for status tracking weren’t effectively communicating with our developers. Therefore, I decided to create a Sequence Diagram.
Lessons
1
1
Defining MVP!
Although it may seem straightforward, there were many steps that I was overthinking. I was proposing ideas for features that could simplify the problem, but I was also trying to expand its scope, which wasn’t really necessary. I learned how to define and adhere to an MVP plan for a feature, and how to incorporate my ideas as next steps in a design document.
Although it may seem straightforward, there were many steps that I was overthinking. I was proposing ideas for features that could simplify the problem, but I was also trying to expand its scope, which wasn’t really necessary. I learned how to define and adhere to an MVP plan for a feature, and how to incorporate my ideas as next steps in a design document.
Although it may seem straightforward, there were many steps that I was overthinking. I was proposing ideas for features that could simplify the problem, but I was also trying to expand its scope, which wasn’t really necessary. I learned how to define and adhere to an MVP plan for a feature, and how to incorporate my ideas as next steps in a design document.
2
2
Use the Right Document for the Right Problem
Use the Right Document for the Right Problem
Use the Right Document for the Right Problem
I have a design document for nearly every task that I’ve completed at Snapp Food. These documents detail each step of the process, the problems encountered, how I defined the metrics, and so on. However, in several instances, a design document (which is similar to a case study but with more details) wasn’t sufficient. This was particularly evident in our experiences with communicating statuses with the development team. As a result, I learned to create new types of documents tailored to each target user.
I have a design document for nearly every task that I’ve completed at Snapp Food. These documents detail each step of the process, the problems encountered, how I defined the metrics, and so on. However, in several instances, a design document (which is similar to a case study but with more details) wasn’t sufficient. This was particularly evident in our experiences with communicating statuses with the development team. As a result, I learned to create new types of documents tailored to each target user.
I have a design document for nearly every task that I’ve completed at Snapp Food. These documents detail each step of the process, the problems encountered, how I defined the metrics, and so on. However, in several instances, a design document (which is similar to a case study but with more details) wasn’t sufficient. This was particularly evident in our experiences with communicating statuses with the development team. As a result, I learned to create new types of documents tailored to each target user.