Who dominates the global smartphone market in 2020 ?

Posted on sam. 17 octobre 2020 in Economics • 2 min read

Who dominates the global smartphone market in 2020?


According to the International Data Corporation Worldwide Quarterly Mobile Phone Tracker preliminary data, smartphone vendors shipped a total of 313 million devices in the fourth quarter of 2020, showing a strong recovery in smartphone sales after the COVID crisis.

While Samsung dominates year after year a saturated market and Apple signs a record fourth quarter of 2020, the war between Huawei and the United States continues. The Chinese telecommunications giant continues its inexorable rise despite restrictions and uncertainties.

Import required libraries

In [1]:
import pandas as pd
import numpy as np
import plotly.graph_objects as go
import plotly.io as pio
from IPython.display import Javascript

Javascript(
"""require.config({
 paths: { 
     plotly: 'https://cdn.plot.ly/plotly-latest.min'
 }
});"""
)

pio.renderers.default = 'notebook_connected'

Global smartphone Shipment Volumes 2018 to 2020

In [2]:
df_sales = pd.read_csv('Data/Global_Smartphone_Shipment_Volumes_2018_to_2020.csv', 
                       sep=';')

df_sales = df_sales.replace(',','.', regex=True)

df_sales['2018'] = df_sales['2018'].astype('float')
df_sales['2019'] = df_sales['2019'].astype('float')
df_sales['2020'] = df_sales['2020'].astype('float')

df_sales
Out[2]:
Company 2018 2019 2020
0 Samsung 292.2 295.0 266.7
1 Huawei 206.0 240.6 189.0
2 Apple 208.8 190.6 206.1
3 Xiaomi 119.0 122.8 147.8
In [3]:
fig = go.Figure(data=[
    go.Bar(
        name='2018', 
        x=df_sales['Company'], 
        y=df_sales['2018'], 
        marker_color='rgb(0, 134, 149)',
        text=df_sales['2018'],
        textposition='auto'),
    
    go.Bar(
        name='2019', 
        x=df_sales['Company'], 
        y=df_sales['2019'],
        marker_color='rgb(207, 28, 144)',
        text=df_sales['2019'],
        textposition='auto'),
    
    go.Bar(
        name='2020', 
        x=df_sales['Company'], 
        y=df_sales['2020'],
        marker_color='rgb(118, 68, 138)',
        text=df_sales['2020'],
        textposition='auto')
])

fig.update_layout(
    margin={"r":10,"t":70,"l":15,"b":50},
    barmode='group',
    title='<b>Global Top 4 Smartphone Companies, Unit Sales</b><br>' + 
    '<i>Source : International Data Corporation</i>',
    font=dict(
        family='Helvetica',
        size=14,
        color='grey'
    ),
    legend=dict(
        x=0.875,
        y=0.975,
        bgcolor='rgba(255, 255, 255, 0)',
        bordercolor='rgba(255, 255, 255, 0)'
    ),
    yaxis=dict(
        title='Sales volumes (in millions of units)'
    )
)


fig.show()

Global smartphone market shares 2018 to 2020

In [4]:
df_market_shares = pd.read_csv('Data/Global_smartphone_market_shares_4Q17_to_4Q20.csv', 
                               sep=';')

df_market_shares
Out[4]:
Date Huawei Samsung Apple Xiaomi
0 Q4 2017 10.7% 18.9% 19.6% 7.1%
1 Q1 2018 11.8% 23.5% 15.7% 8.4%
2 Q2 2018 15.9% 21.0% 12.1% 9.5%
3 Q3 2018 14.6% 20.3% 13.2% 9.5%
4 Q4 2018 16.2% 18.8% 18.3% 6.7%
5 Q1 2019 18.9% 23.0% 11.8% 8.9%
6 Q2 2019 17.7% 23.0% 10.2% 9.7%
7 Q3 2019 18.6% 21.8% 13.0% 9.1%
8 Q4 2019 15.2% 18.8% 20.0% 8.9%
9 Q1 2020 17.8% 21.1% 13.3% 10.7%
10 Q2 2020 20.0% 19.5% 13.5% 10.2%
11 Q3 2020 14.7% 22.7% 11.8% 13.1%
12 Q4 2020 8.4% 19.1% 23.4% 11.2%
In [5]:
fig = go.Figure()

fig.add_trace(
    go.Scatter(
        x=df_market_shares['Date'], 
        y=df_market_shares['Huawei'],
        mode='lines+markers',
        name='Huawei',
        line = dict(color='rgb(231, 63, 116)', width=3))
)

fig.add_trace(
    go.Scatter(
        x=df_market_shares['Date'], 
        y=df_market_shares['Samsung'],
        mode='lines+markers',
        name='Samsung', 
        line = dict(color='rgb(57, 105, 172)', width=3))
)

fig.add_trace(
    go.Scatter(
        x=df_market_shares['Date'], 
        y=df_market_shares['Apple'],
        mode='lines+markers',
        name='Apple',
        line = dict(color='rgb(242, 183, 1)', width=3))
)

fig.add_trace(
    go.Scatter(
        x=df_market_shares['Date'], 
        y=df_market_shares['Xiaomi'],
        mode='lines+markers', 
        name='Xiaomi',
        line = dict(color='rgb(117, 165, 121)', width=3))
)

fig.update_layout(
    margin={"r":10,"t":120,"l":15,"b":80},
    barmode='group',
    title='<b>Worldwide Top 4 Smartphone Companies, Unit Market Share</b><br>' + 
    '<i>Source : International Data Corporation</i>',
    font=dict(
        family='Helvetica',
        size=14,
        color='grey'
    ),
    legend=dict(
        orientation='h',
        yanchor='bottom',
        y=0.98,
        xanchor='right',
        x=1,
        bgcolor='rgba(255, 255, 255, 0)',
        bordercolor='rgba(255, 255, 255, 0)'
    ),
    yaxis=dict(
        title='Unit Market Share'
    )
)

fig.update_yaxes(ticksuffix='%', 
                 range=[5, 25])

fig.show()

Sources