Index
- About SnappFood
- Intro to Project
- What’s the Basic Problem?
- We Started to Research
- Problem Statement
- Ideation
- Design Solution and Prototype
- Usability Test
- Success Metrics

About SnappFood

SnappFood is the largest online food and grocery platform in Iran, with more than 20 million monthly active users. It is one of the subsidiaries of Snapp Group, which has a variety of products such as Snapp (Cab), SnappTrip, SnappDoctor, SnappShop, and more. As the Design Lead of the Vendor Tribe and the Product Designer of the Vendor Care squad, I am committed to delivering the best user experience possible.
Intro to Project (Discount)
Vendors have different solutions to promote their shops, one of which is the “Discount” option. This simple method allows vendors to offer discounts on their products to attract new customers. A badge will be displayed on the vendors’ profiles to indicate that discounts are available. Check the design below:


SnappFood has a product called Dakhl, an application that helps vendors manage their profiles and orders more easily.
What’s the basic problem?
Discount has been an integral part of our company since the beginning. However, as our business and products have grown, the discount feature has not been updated to align with our new product offerings. Furthermore, our reports indicate that vendors are not using discounts as frequently as we would like. Therefore, we have decided to prioritize this feature and make improvements to increase its utilization.
We Started to Research
To gain greater insight into the root cause of the issue and identify potential solutions to increasing discount utilization, I conducted research consisting of a survey and a customer satisfaction (CSAT) widget which was deployed post-campaign creation. This enabled me to better comprehend the struggles of vendors and the complexity of the process.
There were two main questions:
- How much it was easy for you to create a discount? (after running this survey, we learned that asking about the ability of users is not a proper question)
- Share your feedback and thoughts to improve the discount

Problem Statement
After completing the research process, we found that there are several main problems for vendors:
– Each product has its own discount percentage
Each discount campaign only has an input for the percentage of the discount and it applies to all of the products in that campaign.
– Vendors should be able to quickly add/edit discounts without reviewing by agents
In the case of selling some fresh foods that need to be sold on that day or shift, vendors need this feature to work immediately without wasting time.
– Time-consuming process for canceling a discount
Vendors need a quick and fast system to be able to create/edit/delete discounts immediately without wasting time and money. But our system was lazy and the cache of the database and some technical issues were the main reasons for being lazy and time-consuming.
– Problem with the logic of minimum 5 products for creating each campaign
For creating a discount campaign, you need to add 5 products at least to be able to create the campaign. This was very frustrating and annoying for the vendors.
– Separation between the product’s menu and discounts
Vendors asked to bring discounts to the menu and merge both of them. So vendors can easily and quickly add discounts from the menu.
– The percentage must be a multiple of 5 (eg. 5, 10, 15 …)
It was an old logic for building the first version of the discount easier.
– Show the current discount in the discount creation process for preventing errors of duplicate discounts.
While vendors are selecting products in the campaign creation process, we don’t show the current discounts. So vendors choose the wrong products and it shows an error at the last step of creation because of the conflict between two discounts.
Ideation
After defining the main problems, we tried to find some solutions by running a few brainstorming seasons.

Finally, we agreed on a solution that I’ll explain below…
Design Solution and Prototype
NOTE: SnappFood is a Persian-only application and all of the English designs are made for this study.

The solution is merging discounts with menu! This was our vendor’s request to be able to add discounts directly from the menu. Also, we considered some validations to prevent wrong data and manually review processes and fixed some issues from caching system to fix the issue of cancelation delay. This idea resolves the following issues:
- Each product has its own discount percentage
- Vendors should be able to quickly add/edit discounts without reviewing by agents
- Time-consuming process for canceling a discount
- Problem with the logic of minimum 5 products for creating each campaign
- Vendors asked to bring discounts to the menu and merge both of them. So vendors can easily and quickly add discounts via the menu.
- The percentage must be a multiple of 5 (eg. 5, 10, 15 …)
- Show the current discount in the discount creation process for preventing errors of duplicate discounts.
But there is something missing in this idea. It only works when we’re applying a discount for a single product. So what happens then? We will use FAB for creating a multi-product discount. Multi-product wasn’t in the first iteration of the discount redesign. So we didn’t get deep on this and it’s just in the wireframe phase.
And then for testing this idea, we created a prototype for the usability test.
Usability Test
I made a test scenario for discount to analyze the design’s usability. I had a few iterations & improvements for achieving the best design. I found some issues in the test like:
- The user said we need to quickly add a discount.
- Solution: Provide a time suggestion component for quick time picking. (After this feature we used this component for other features and it was a successful pattern)
- Time-consuming process for finding the discount section in product details.
- Solution: Vendors usually think that the discount section should be near the price section. So we changed the design and moved the price section to a separate section along with the discount section.
- …
These were some UI/UX issues that I found in the usability test and I changed the design for fixing these issues.

Success Metrics
We use Google HEART Framework for measuring the quality and health of vendors’ experience from each part. Here are the metrics of the new discount process:
Note: Base & target were not included
Goal | Signals | Metrics | |
---|---|---|---|
Happiness | It feels like creating a discount is very easy and fast | CSAT Survey | Increasing CSATDecreasing unsatisfactory items and issues |
Engagement | Creating more discounts for different productson each session | Number of created discount (Metabase)Number of created discounts for different products (Metabase) | Increasing the number of created discountsIncreasing the number of created discounts for different productson each session |
Adoption | Onboard and push vendors for creating first discount | Survey (for measuring the onboarding impact)Number of vendors which created at least 1 discount from Dakhl (Metabase) | Increasing the rate of onboarded vendors from surveyIncreasing the rate of vendors which created at least 1 discount from Dakhl |
Retention | Keep vendors using discount | The monthly number of discount creation for each vendor (Metabase)The weekly number of discount creation for each vendor (Metabase) | Increasing the monthly number of discount creation for each vendorIncreasing the weekly number of discount creation for each vendor |
Task Success | Make it easy to use for every type of vendors and usage | Track the funnel of discount creation in GAWatching session recordings in YandexAvg time of discount creation in GARate of created discounts from total discount visitors in GA | Decrease the drop rate of each field and sectionDecrease the avg time of discount creationIncrease the rate of created discounts from total discount visitors |