15% off membership for Easter! Learn more. Close

How would you go about designing a dashboard of call quality for WhatsApp?

Asked at Meta (Facebook)
4.9k views
Answers (6)
crownAccess expert answers by becoming a member

You'll get access to over 3,000 product manager interview questions and answers

badge Silver PM

Design a whatsApp call quality dashboard

Situation
I want to first describe my understanding of the product. WhatsApp is an online instant messaging service that allows users to make audio or video calls and share media files. 

Next, I want to define the call quality measure as any aspect of the call that interrupts the fluency or continuity of the communication with the user (caller) and the receiver of the call (callee) and/ or call ends without either party intending it to.

Personas
Now, let’s discuss a scenario that a person would use the calling feature. 

Persona 1: For the sake of time, I am going to assume one persona for this use case. 

  • Working millennial in her late 20s. 

  • She lives away from her family and works in a different city. 

  • She has a hectic schedule living on her own and working overtime to get ahead in her career.

  • She misses her family and likes to touch base with her mother every other evening after returning from work and prefers to use WhatsApp to save money on her phone bill.  She likes to use the video calling feature so her grandmother (who has suffered hearing loss a few years ago) can see her every day, but the connection is not that great where her family lives so she sometimes has to make do with audio calls.

Persona 2: Again, to save time, we will focus on the persona of a WhatsApp employee (Tanvir) whose job is to monitor the call quality of people living in the region where Sally’s and her family live. I will go ahead by defining the scope quickly. I am making some very broad assumptions about his job being an operational NOC sort of role (who basically looks out for big problems), to be able to complete the case study.

  • As a user Tanvir needs to monitor the call quality of the whatsapp calls in a certain region by viewing the dashboard on a web-based UI.

  • Tanvir needs a UI dashboard that can provide information about the current status of calls being made through the service, should be able to get alerts for any feature or system failures affecting the region. He should be able to view the type of problems occurring before and during a call, the frequency of occurrence and consequence of the same.

  • Fundamentally Tanvir will want to know if the service is continuously working or having issues on a global or regional scale or if there are many unrelated isolated incidents occurring.

  • At a high level, he will want to know the real-time usage of the app and the number of users experiencing good or bad calls - to determine if there are any systemic issues he needs to address immediately. For further granularity, he will want to drill down into the type of issues callers are experiencing to alert support teams and get them resolved.

Use case Scenarios

Now, I want to list out the issues and prioritize them to begin designing my dashboard. I want to focus on Audio calls for this use case. 

The main objectives of the call at a high level are as follows:

  1.  Call made successfully - User makes call and receiver is able to speak to the user in a legible manner

  2. The sound clarity enabled both parties to speak to each other without interruption or disturbance for the length of time they desired.

 

User Story Description

1

User makes call and call connects to receiver. User hears ringing sound. 

2

User makes call and there is no reception. Call not made.

3

User makes call and call seems to connect but does not have a ringing sound. Call drops and error for call could not connect shows.

4

User makes call, call connects and user hears Callee - Callee hears user

5

Call connects and user experiences a delay in hearing the callee.

6

Call connects and Callee is experiencing delay or lag in hearing Caller’s voice

7

Call connects and one or both parties are hearing only parts of the conversation (loss of audio)

8

User makes call and call seems to connect but does not have a ringing sound. Call drops and error for call could not connect shows.

Prioritization

Call quality can be measured in many ways, most of what I have listed below are not as technical. However, I would like to go ahead and prioritize the audio issues that Tanvir will probably need to see in his dashboard to monitor the call quality levels in real-time.

Metrics to consider:

  1. # of active calls per minute - Audio

  2. # of calls disconnected per minute - Audio (call was made and then disconnected)

  3. # of calls successfully made per minute (where user initiates and ends intentionally)

  4. # of calls with complete audio loss - Audio

  5. # of calls with partial audio loss - Audio

  6. # of calls failed (call not able to connect after user initiates call)

  7. Overall average daily call success rate (rate of total calls made to number of calls disconnected)

  8. Overall average daily call drop/disconnect rate

  9. Overall average daily Customer Satisfaction Rating 

 

 

Let’s say I have to choose only 3 metrics for Tanvir’s dashboard. I would prioritize them by broad categories of service availability since Tanvir’s role is primarily to monitor the uptime of the service.

 

Priority Level

# of active calls per minute

P4

# of calls disconnected per minute

P3

# of calls successfully made per minute

P4

# of calls with complete audio loss

P3

# of calls with partial audio loss

P3

# of calls failed 

P2

Overall average daily call success rate

P3

Overall average daily call drop/disconnect rate

P1

Overall average daily Customer Satisfaction Rating

P3

 

Conclusion: I would represent the following 3 in a visual chart, perhaps a barometer style to design the dashboard for Tanvir that gives him the most important information that indicates a global service disruption issue to send alerts to other teams.

 

  1. Overall average daily call drop/disconnect rate

  2. # of calls failed > by device, by internet provider, by zip code etc.

  3. Overall average daily Customer Satisfaction Rating

Access expert answers by becoming a member
5 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

How would you go about designing a dashboard of Call Quality for whatsapp?

Problem clarity

Let's get some clarity on why we want to do this:

Who's this for? I'm assuming PMs/People working on this core functionality

What's this for? I'm assuming this will indicative of product health - this might help with the following ensure that product health is fine, in case it's not where is the problem? when the did problem occur etc

What do you mean calls? Audio or Video? assuming both 

Customers

Who will be core user this dashboard? Within the company I can expect product/product analysts to be using this, I'm going to assume product analysts since most PMs part time do wear that hat 

Customer needs

  • Quick Product health check - is the product working as expected
  • Track product progress - how is my product performing over a time frame, is it worse or better or same
    • Set target for certain metrics
  • Quick Analysis - be able to manipulate data
    • data comparison/insights: What fluctuation is normal vs what is not 
    • data drill down:Set up manipulated data as a dashboard view
  • automated issue detection - is there something wrong? where is the issue
  • Permission management: Certain data/dashboards are priviliged access/restricted by team/people 
FeaturecommentsDecision
1) Quick Product health checkMust have - this is hygienePick
2) Track product progress Must have - this is hygiene since the goal of tracking metrics is to progress. historical tracking is a mustPick
3) Set targetsThis is required for non PM/analyst stakeholders and generally PMs etc would know this number already V2 improvement
4)Quick data manipulationMust have, enables PMs to identify/narrow down sope of problemsPick
5) custom dashboardsMust have, enables PMs to customise views as per convenience and reduce analyst overhead.Pick
6) Automated issue detectionReduces dependencies on humans, makes the tracking much more efficient (PMs dont need to check every day if things are breaking) however that's not the goal of this dashboardV2 improvement
7) Permission managementMust have - in certain scenarios we may not want the data to be available to all users so certain metrics/views maybe restricted by permission
Since WA is a mature company this is required
pick

1) and 2) are pretty much the same requirement except 2 includes historical tracking for the same metrics

To summarise

We'll enable:

  •  historical tracking of data
  • Enable data slice/dice by time period/app version/country/network/OS/Os version for all metrics
    • Graphs will color fluctuation into green/red in terms of what fluctuation requires attention 
  • Set up custom dashboard views - users can create a dashboard from pre-set set of metrics
  • permission management: Restrict who can see what 

What metrics would I track?

given this is for calls ( for each of video / audio and then an aggregate view)

  • NPS tracker
    • NPS score
      • Split by country/network/etc 
    • % of users giving NPS rating
  • Absolute number of users using calls successfully/ % of users (connected)
    • sent
    • received 
    • bounce rate ( tried but couldn't connect)
      • Sender/receiver 
        (Above data will be DAU/WAU/MAU view split)
  • Per user
    • Calls per user
      • sent 
      • received
    • Time spent 
      • Sent 
      • recieved 
    • Time taken for call to connect
      • sent 
      • received 
  • call type
    • 1-1
    • Group
  • WoW/MoM retention for calls
  • Active network ( for calls only) - how many unique users does the person talk to usig calls over a 7 day/30 day period 
 

 

Access expert answers by becoming a member
3 likes   |  
1 Feedback
badge Silver PM
Nice. I like how your feature ideas are broader than mine. I need to learn to broaden scope in the ideation stage. Thanks for posting.
0
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

Clarify the question

 

  1. Can we assume that this product will be used to monitor the call quality and not the overall health of the system (like outages etc.)? Yes
  2. What is the goal of the product? Increase customer satisfaction which in turn will result in increased customer acquisition and engagement.
  3. Call quality can be measured for real time audio calls, recorded audio messages, group audio calls & video calls? Let us start by focusing on audio call.

 

We will be building dashboard which will display the quality of the calls in WhatsApp. The dashboard will be used to also identify the top issues at any given time.

We will look at the possible users of the dashboard, identify high level use-cases & features, and prioritize the feature which might have biggest value with lowest effort.

 

 

Identify the users and customers

The dashboard will be used by data analysts, business or product managers to identify the overall call quality of the WhatsApp.

 

What are the use cases?

There are 2-ways I can think of on how to measure the calls.

 

The first way would be providing rating system where the caller & recipient of the call will provide rating of 1-5 (5 being happy). We could display comments section if the users choose rating below 2. However, the system of rating would not be perfect because of the human behavior - users might not provide ratings, users tend to not use 2,3,4.

 

Another method might be to use technology to automatically find out metrics like

  • Calls successfully completed
  • Calls not answered
  • Calls disconnected at callers
  • Calls disconnected at recipient end
  • Calls with poor audio quality

Furthermore, we can also collect data like the users, device, location, network (wired or Wi-Fi) etc.

 

Let us assume that we are using the metrics rather than the survey.

  1. Display call quality trend graph (classify data with the 5 metrics above)
  2. Display various filters - time period, location, network (wired or Wi-Fi), device, users, service provider 
  3. Allow users to select multiple filters above
  4. Show map of the globe with possible hotspots
  5. Allow users to set alerts on the above metrics
  6. Allow users to set alerts on the above metrics + filter (like location)
  7. Notify users thru various channels for alerts.
  8. Provide actionable suggestions to users based on past history

What are the features we will be implementing?

Feature

Effort

Value

Phase

Extendable Platform for capturing 5-mertics

XL

H

MVP

Basic functionality to represent the 5-metrics as graph

M

M

MVP

Making the graph clickable to examine the stats

L

H

Phase 1

Adding filters to find the location of the calls

L

H

Phase 1

Adding filters to find the service provider (example Twilio) of the calls - this feature can be used in strategic discussion with partners to improve identify issues connecting to service providers, SLA's, change contracts etc.

M

M

Phase 1

Adding filters to dig down on network, device, users

M

M

Phase 1

Ability to set alerts based on trends

M

s

Phase 2

Ability to set alerts based on trends & filters

M

M

Phase 2

Notification when alerts meet thresholds on mobile

H

M

Phase 2

 

Wrap-up

 

The dashboard seems like huge project. We should thoughfully implement critical platform features and iterate on that.

 

The vision of the product should be to bring VOIP on par with the quality levels in traditional telephony. Furthermore, this product can also be used to provide suggestions to the users on the stregnth of the signal, market competing wireless technology which might give better audio quality.

Access expert answers by becoming a member
2 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

How would you go about designing a dashboard of Call Quality for whatsapp?

 
This question looks like a product metrics question. To measure the call quality, PM should measure the following metrics.
 
Call types
  • audio
  • video
 
Major issues with call (User journey)
  • audio 
    • not able to connect (call getting disconnected automatically)
    • call ringing, but receiver not picking call
    • call connected, but voice not clear (patchy voice)
    • call disconnected (automatically) even if i had network.
  • video
    • video quality poor
    • video audio quality poor
    • video freezing
    • video disconnected
 
Metrics
  • # of calls ended (Audio, Video) without pressing 'end' button 
    • # of calls
    • %age of calls (out of total)
  • # of Calls (audio, video) initiated (status = ringing) but didn't connect (no ring on receiver's phone)
  • # of calls (audio, video) with bad network (leading to negative experience) 
    • # of error states when voice is patchy (socket connection breakage) even if net speed is above acceptable net speed / call
    • # of error states when video is pixelation (socket connection breakage) even if net speed is above acceptable net speed / call
  • # of times video frame freezed / video call
  • NPS Score (Rating)
    • split NPS score by internet type (mobile network, wifi), average internet speed, geography (see areas where there are bad rating due to connectivity issues) 
    • Qualitative feedback - review submitted in rating popup.
 
Access expert answers by becoming a member
1 like   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

 

So, I will approach the problem in the following way: I will first define What is the problem and why people call each other. How does Whatsapp solve this problem? What is meant by a Call? What is meant by Quality and why is it important? Then I will define what Metrics I will track for WhatsApp calls.

So, people have the option of chatting with each other on WhatsApp. However, sometimes users want to talk in person through voice or want to see each other.

There are different Apps for the same. Most people talk through their phone itself. They use Skype, Hangouts, Zoom etc. for video conversations.

However, with audio calls there is a switch in the App that is required and also added calling costs which may be a factor at some situations with some users.

With Video Calls, there is the need to login and know the other person’s email or ID and then maybe invite or schedule etc. So, essentially a lot of steps.

Whatsapp fills this gap perfectly by letting users call each other in an easy way.

 

Now, what is a Call in Product Parlance? We can say that any Audio call more than 10 seconds and any video call more than 20 seconds qualifies to be a Call.

What is Quality and why is it important? Quality is a measure of the service standards which we are giving by this feature and it is important because it increases(or decreases) engagement and retention.

So, lets now goto the Metrics part. A conversation is defined as a call/collection of calls between the same persons/group of persons till no further call can be traced till 5 minutes after last call.

Metrics Dashboard

Metric

Measurement

Importance

Accuracy

Call Type

Customer Rating

Likert Scale, 5 point

Very High

High

Audio & Video

Screen Freeze

Frequency in a Conversation

High

High

Video

No. of Re Calls in 1 conversation

Frequency

High

High

Audio & Video

Avg Call time per user per week

Duration

Medium

Medium

Audio & Video

No. of chat conversation and no. of chat messages

Sum of Conversations and messages resp

Medium

Medium

Audio & Video

Call on Hold

Frequency in a Conversation

High

High

Audio

 

I will also evaluate the above metrics in light of the below data:

  • Connection Type ( 4G/3G/Broadband)
  • Carrier /Teleco Type
  • Platform/OS
  • Country/geography

The intent is to draw segments of people who are having a lower satisfaction and see the correlation to determine causality and improve the product.

 

Access expert answers by becoming a member
0 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Gold PM

Approach

1. Clarify the Q

a. Who is it for? WhatsApp employees

b. Why do they need it? Helps WhatsApp gauge the quality of their service and see if their product delivers value to users and if there are bugs/issues to address

c. What does it do? Tells WhatsApp the quality of a WhatsApp call

d. How does it work? At the end of a call, users rate their experience and the data is displayed on a dashboard you design

e. Any goals we should be aware of? We want to increase user acquisition and engagement

f. Any constraints? We want to act ASAP to improve service before a competitor steps in and gains market share

Brainstorm user needs/pain points

1. How long was the call?

2. Where were users located?

3. Was there anything wrong with the phone itself? (old model, low battery, multiple apps running in the background)

4. Was the rating accurate or was it fat-fingered? How do we ensure the accuracy of the rating?

5. Maybe a call was good, but the users had to recall multiple times to get a strong connection?

6. How many times did users experience glitches within a single call/conversation?

Brainstorm solutions

I am picturing a Tableau dashboard that shows the total number of WhatsApp calls broken down by hour/day/week/month/year. Within each time period, the dashboard would show the following information:

1. Where each user was located

2. The length of the call

3. The number of call-backs within a short time frame (5 minutes)

4. To ensure rating accuracy, the dashboard would show the quality of the call if both parties gave the same rating, for example, if both parties gave the call 5 stars, the call would be labeled "high quality," and if both parties gave a rating of 1 and/or 2 the call would be rated "poor quality"

Prioritze solutions

First, I want to know the total number of WhatsApp calls broken down by hour/day/week/month/year and the corresponding quality percentages. For example, how many calls took place from 8-9PM EST and what percentage of those calls were high quality, medium quality and low quality?

Then, I want to dig into the data a little deeper and have the dashboard show where the users were located. Are they in an urban area with strong connection to wifi or are they in a rural area with spotty connection. This will help WhatsApp employees understand if a poor quality call was an issue with the technology or because of geographic restrictions. 

Next, I want the dashboard to display the length of the calls. If a call was 2+ hours and the rating was 4 stars, that is not as bad than if the call was 5 minutes long but rated 1 star. It is more likely and acceptable for a longer call to experience some glitches than for a short call to be riddled with them.  

It might not be possible/acceptable (due to data privacy concerns) to collect data on the phone model, battery percentage and number of apps running in the background so we will not include that data in the dashboard at this time

Sum & recommendation

The dashboard will show the number of calls broken down in timely increments and the quality percentages. The ratings will be verified if the same (or similar) score is submitted by each party. The dashboard will also give insight into the location of the users to determine if a faulty call was due to poor connection or poor technology. The length of the call is important, a longer call is more forgiving of minor glitches than a shorter one. These factors will make up the dashboard and provide insight for WhatsApp employees so they can pinpoint issues and optimize the call service on the platform.

Access expert answers by becoming a member
0 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs

Top Product Design interview questions