UP | HOME

Is Firefox currently losing many users?

Spoiler: Actually not. Why many browser-statistics are misleading

When I look around my circle of friends, I see many fiercely loyal Firefox users, who won’t drop Firefox as long as it works. Who put in effort to keep using it. But its market share statistics are dwindling.

Do I have to accept that my friends are outliers, or could there be a different explanation?

Let’s look into the data. We’ll start with the misleading statistics from Wikipedia: User share of web browsers; plotting that ourselves using the csv-data from statcounter browser-market-share:

browser-market-share-data.png
Figure 1: Relative market share browser statistics using data By StatCounter - https://gs.statcounter.com/browser-market-share#yearly-2009-2022, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=96191474

PDF (drucken)

That looks pretty clear,1 and it is what almost every news site shows you. But it is relative — does it actually tell us something about user count?

We’ll need reference data: How many internet users are there? Luckily there is data on that by the ITU:

So now all we need to do is to scale the browser statistics graph with each years number of people with Internet.

First we open the ITU file with libreoffice and export it as CSV file. After selecting only “Individuals using the Internet” (the relevant part) and removing thousand-separators from numbers, this gives us millions of people. To ease reading of this article, the data is in the appendix.

Then we get the exported data from the browser statistics from statcounter browser-market-share: browser-ww-yearly-2009-2022.csv.

Now all we need to do is to merge these and plot the result with gnuplot:

firefox-usercount-world.png

That does not look as enigmatic as before: Compared to the time when Firefox was the one browser that challenged the atrocity that was (and is) Internet Explorer, Firefox lost about two third of its users, but now its user count seems to have stabilized.

Comparing that to the Public Data Report by Mozilla shows a pretty good match: About 200 Million users, mostly stable.

So why do many browser stats look so awful?

Let’s add the numbers of internet users all over the world to the diagram (thank you, ITU!):

firefox-usercount-world-and-population.png

In the time since Firefox was the only alternative to IE, the number of internet users increased by factor 4. But why did Firefox not manage to get them as users?

Let’s also look at the browsers bundled with most mobile phones and tablets:

mobile-usercount-world-and-population.png

So the market share we see shows that while Firefox might not have lost as many old users as the market share would suggest, it did not manage to reach many of the new users on mobile platforms. But many Firefox users stayed Firefox users and over the past 5 years user count mostly stabilized.

When I saw that, it caused a major shift in my perception of browsers: What we’re seeing is not mainly the effect of failures by Firefox, but rather of anti-competitive bundling of browsers on mobile platforms.

Because on mobile Firefox is almost non-existent, even though it does provide decent support nowadays.

Let’s look at data one last time: browsers on mobile:

browser-market-share-data-mobile.png
Figure 2: Relative market share on mobile browser statistics using data By StatCounter - https://gs.statcounter.com/browser-market-share#yearly-2009-2020, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=96191474

Safari and Chrome are the browsers bundled with most mobile phones. This should make it pretty clear that only the browsers bundled with the phones have decent market share while all others are losing it, even if they started strong like Opera or got some temporary foothold like UC Browser. So this is clearly a bundling issue.

The one opportunity Mozilla really missed might have been Firefox OS, abandoned in 2015 (but still in use on some TVs and lots of small phones today, see KaiOS). That would have played the bundling game, but that should not be required on open platforms. And this openness of platforms is what is missing.

In 1998, Microsoft was sued for violating antitrust laws, but could settle in 2001 to only provide its API to others, and in 2010 Microsoft was forced to offer alternative browsers in Windows in the EU, but this turned out to benefit Chrome the most.

Still, these statistics show that it is high time anti-trust actions are pulled on mobile.

And if you’re a web developer and you are tempted to drop Firefox support, then keep in mind that that might just cost you those of your users with the highest loyalty — the ones you want to lose the least, because they are the ones most likely to stick with you even if a hip, new, VC-crammed competitor comes around and tries to disrupt you.

Those 200 million users may not be the largest group of internet users, but they are 200 million, and they decided to stick to Firefox again and again in the past decade against many kinds of anti-competitive actions.

And beware of using the wrong statistical measure to take decisions: different from the market share, the Firefox user count stabilized in the past years.

firefox-usercount-world-no-share.png

Appendix

Data: Internet users by year and region

Selecting only “Individuals using the Internet” (the relevant part) and removing thousand-separators from numbers, this gives us millions of people.

Year,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
World,1023,1147,1367,1545,1727,1981,2174,2387,2562,2750,2954,3217,3444,3729,4119,4585,4901
Developed,616,650,723,754,778,826,844,900,927,952,968,1026,1046,1077,1104,1129,1157
Developing,408,496,645,791,949,1155,1330,1487,1635,1798,1986,2192,2398,2652,3015,3456,3744
Least Developed Countries (LDCs),6,8,15,14,19,24,31,39,50,76,98,134,165,202,232,260,293
Land Locked Developing Countries (LLDCs),7,10,13,17,23,32,41,51,62,73,91,103,118,134,153,172,189
Small Island Developing States (SIDS),8,9,11,13,14,16,18,20,23,24,27,30,34,37,39,42,45

note: 2021 is estimated.

Data: market share

Then we get the exported data from the browser statistics from statcounter browser-market-share: browser-ww-yearly-2009-2022.csv.

By StatCounter - https://gs.statcounter.com/browser-market-share#yearly-2009-2022, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=96191474

Year,Chrome,IE,Firefox,Safari,Opera,Android,UC Browser,Samsung Internet,Edge Legacy,Nokia,BlackBerry,IEMobile,Edge,NetFront,Yandex Browser,360 Safe Browser,Maxthon,QQ Browser,Sogou Explorer,Sony PS3,Chromium,Silk,Unknown,Coc Coc,Mozilla,Puffin,KaiOS,Dolfin,Sony PS4,Samsung,AOL,SeaMonkey,Openwave,Phantom,Whale Browser,SonyEricsson,Pale Moon,Obigo,Jasmine,Other
2009,3.23,59.1,30.17,3.41,2.85,0.02,0,0,0,0.19,0.08,0.01,0,0.03,0,0,0.03,0,0,0.12,0,0,0,0,0.32,0,0,0,0,0,0.2,0.03,0.02,0,0,0.01,0,0,0,0.17
2010,9.95,49.93,30.35,4.93,2.6,0.27,0.03,0,0,0.48,0.48,0.01,0,0.1,0,0,0.21,0,0,0.14,0,0,0.01,0,0.14,0,0,0,0,0.03,0.1,0.03,0.02,0,0,0.01,0,0,0,0.19
2011,19.79,40.31,26.49,6.36,3.08,1.16,0.12,0,0,0.94,0.7,0.02,0,0.21,0,0,0.14,0,0,0.14,0.04,0,0.02,0,0.04,0,0,0.04,0,0.05,0.02,0.02,0.02,0,0,0.02,0,0.04,0.03,0.19
2012,29.3,29.66,21.27,9.04,3.67,2.89,0.85,0,0,1.14,0.55,0.07,0,0.4,0,0.11,0.11,0.02,0.05,0.1,0.07,0.06,0.04,0,0.01,0,0,0.13,0,0.06,0,0.03,0.01,0.01,0,0.02,0.02,0.04,0.04,0.23
2013,34.67,23.15,16.55,10.94,3.68,5.37,1.68,0,0,1.12,0.53,0.25,0,0.39,0.22,0.21,0.16,0.05,0.13,0.09,0.06,0.14,0.08,0,0.01,0.03,0,0.08,0,0.04,0,0.02,0.02,0.03,0,0.01,0.03,0.02,0.02,0.21
2014,38.94,15.46,13.17,13.77,4,7.23,2.83,0,0,1.09,0.43,0.62,0,0.38,0.24,0.44,0.17,0.11,0.13,0.05,0.07,0.17,0.13,0.03,0.02,0.06,0,0.07,0.01,0.02,0,0.01,0.04,0.03,0,0.02,0.02,0.01,0.01,0.22
2015,44.87,11.24,10.51,13.06,5,6.31,5.37,0,0.28,0.42,0.34,0.73,0,0.15,0.28,0.18,0.15,0.16,0.13,0.02,0.09,0.12,0.09,0.07,0.02,0.05,0,0.04,0.04,0.01,0,0.02,0.02,0.03,0,0.02,0.02,0.01,0.01,0.19
2016,49.08,6.25,7.97,13.31,5.47,3.96,7.77,2.33,1.42,0.11,0.26,0.62,0,0.07,0.28,0.09,0.1,0.09,0.08,0.01,0.08,0.01,0.07,0.14,0.02,0.07,0,0.02,0.07,0,0,0.01,0.01,0.03,0,0.02,0.02,0,0,0.15
2017,53.96,3.95,6.19,14.51,3.84,2.39,8.25,3.3,1.85,0.07,0.13,0.34,0,0.02,0.27,0.05,0.06,0.12,0.07,0.01,0.07,0,0.04,0.13,0.02,0.06,0,0.01,0.09,0,0,0.01,0,0.03,0,0.01,0.01,0,0,0.14
2018,59.12,3,5.21,14.43,3.52,1.49,6.66,2.77,1.95,0.04,0.05,0.17,0,0.01,0.25,0.03,0.05,0.28,0.06,0.01,0.07,0,0.03,0.11,0.02,0.09,0.33,0,0.07,0,0,0.01,0,0.02,0.01,0.01,0.01,0,0,0.13
2019,63.31,2.24,4.57,15.86,2.57,0.86,3.3,3.45,2.14,0.01,0.02,0.08,0,0,0.25,0.02,0.04,0.25,0.06,0,0.08,0,0.02,0.12,0.04,0.13,0.35,0,0.06,0,0,0,0,0,0.07,0,0.01,0,0,0.1
2020,64.6,1.35,4.22,17.84,1.99,0.51,1.74,3.35,1.38,0,0.01,0.02,1.45,0,0.26,0.25,0.03,0.28,0.06,0,0.04,0,0.02,0.09,0.09,0.12,0.08,0,0.05,0,0,0,0,0,0.11,0,0.01,0,0,0.03
2021,64.45,0.62,3.62,18.9,2.24,0.62,1.21,3.11,0.22,0,0,0,3.59,0,0.24,0.29,0.02,0.26,0.05,0,0.02,0,0.02,0.04,0.08,0.08,0.08,0,0.04,0,0,0,0,0,0.12,0,0.01,0,0,0.02
2022,63.88,0.47,3.71,19.25,2.21,0.68,0.84,2.84,0.15,0,0,0,4.06,0,0.23,0.24,0.01,0.23,0.05,0,0.02,0,0.02,0.06,0.08,0.08,0.08,0,0.03,0,0,0,0,0,0.11,0,0.01,0,0,0.67

Browsers on mobile

By StatCounter - https://gs.statcounter.com/browser-market-share#yearly-2009-2022, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=96191474

Year,Chrome,Safari,UC Browser,Android,Opera,Samsung Internet,Nokia,BlackBerry,IEMobile,NetFront,Firefox,QQ Browser,Unknown,KaiOS,Dolfin,Puffin,Samsung,Edge Legacy,Yandex Browser,Openwave,SonyEricsson,Obigo,Jasmine,Whale Browser,Instabridge,Sony PSP,Tizen,Phantom,Baidu Browser,Sony PSP Vita,MeeGo,mCent,Nintendo 3DS,Bolt,Other
2009,0,34.03,0,2.46,25.33,0,18.96,8.08,0.94,2.78,0,0,0,0,0,0,0.49,0,0,1.71,1.38,0,0,0,0,2.24,0,0,0,0,0,0,0,0,1.61
2010,0,25.37,0.95,9.09,23.9,0,16.24,16.23,0.22,3.51,0,0,0,0,0,0,1.04,0,0,0.68,0.36,0,0,0,0,0.7,0,0,0,0,0,0,0,0.46,1.25
2011,0,22.18,1.9,18.11,22.1,0,15.4,11.44,0.36,3.41,0.02,0,0.33,0,0.68,0,0.84,0,0,0.37,0.38,0.62,0.57,0,0,0.28,0,0,0,0,0,0,0.01,0.31,0.7
2012,0.35,23.9,7.88,23.95,20.11,0,10.58,4.83,0.66,3.64,0.33,0.03,0.41,0,1.17,0,0.6,0,0,0.12,0.14,0.33,0.37,0,0,0.16,0,0.04,0,0,0.03,0,0.14,0,0.23
2013,3.98,23.8,10.31,28.68,16.75,0,6.9,3.06,1.54,2.41,0.35,0.05,0.42,0,0.52,0.1,0.26,0,0,0.15,0.06,0.11,0.12,0,0,0.07,0,0.1,0,0,0.02,0,0.08,0,0.14
2014,21.25,23.03,10.31,23.1,11.06,0,4.03,1.52,2.29,1.41,0.41,0.1,0.46,0,0.25,0.12,0.07,0,0.02,0.13,0.08,0.05,0.05,0,0,0.01,0,0.06,0.04,0.05,0.01,0,0.02,0,0.08
2015,33.58,18.84,15.12,15.39,11.04,0,1.2,0.93,2.08,0.42,0.3,0.2,0.25,0,0.1,0.09,0.02,0.01,0.04,0.05,0.05,0.02,0.01,0,0,0,0.04,0.03,0.07,0.04,0.03,0,0.01,0,0.03
2016,38.38,17.92,17.56,7.33,10.15,5.36,0.25,0.59,1.42,0.17,0.08,0.09,0.16,0,0.04,0.1,0.01,0.11,0.05,0.02,0.04,0.01,0.01,0,0,0,0.03,0.01,0.03,0.02,0.04,0,0,0,0.01
2017,48.86,18.08,15.56,3.49,5.61,6.42,0.13,0.24,0.65,0.04,0.21,0.12,0.08,0,0.02,0.08,0,0.14,0.08,0.01,0.02,0,0,0,0,0,0.09,0.01,0.02,0.01,0.02,0,0,0,0.01
2018,54.17,18.77,12.31,1.98,4.78,5.46,0.08,0.09,0.33,0.02,0.43,0.36,0.06,0.64,0.01,0.14,0,0.1,0.1,0,0.01,0,0,0,0,0,0.03,0.01,0.01,0.01,0.01,0.08,0,0,0.01
2019,60.14,20.75,6.17,0.98,2.88,6.86,0.03,0.03,0.15,0.01,0.36,0.33,0.04,0.69,0,0.23,0,0.05,0.1,0,0,0,0,0.09,0,0,0,0,0,0.01,0,0.08,0,0,0.01
2020,62.5,24.05,3.21,0.36,1.71,6.49,0,0.01,0.04,0,0.45,0.39,0.04,0.15,0,0.22,0,0.09,0.12,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0.01
2021,63.3,24.77,2.13,0.54,2,5.67,0,0.01,0.01,0,0.5,0.32,0.03,0.15,0,0.14,0,0.1,0.14,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0,0,0.05
2022,63.08,25.36,1.43,0.66,1.85,5,0,0,0,0,0.5,0.28,0.04,0.14,0,0.13,0,0.02,0.12,0,0,0,0,0.14,1.06,0,0,0,0,0,0,0,0,0,0.17

Processing: Aggregation

Multiply market share with the number of internet users in the same year.

import : dsv ;; using https://github.com/artyom-poptsov/guile-dsv
         only (srfi :26) cut ;; allows for simpler mapping

;; browser market share has swapped axes; me must undo that
define : swap-axes table
  map : λ (n) : map (cut list-ref <> n) table
        iota : length : car table

;; read the the data
define : read-csv filename
  dsv->scm : open-input-file filename
           . #\, ;; delimiter: ,

define individuals-with-internet-table
  read-csv "itu-individuals-using-the-internet.csv"
define browser-market-share
  swap-axes
    read-csv "browser-ww-yearly-2009-2022.csv"

;; select the data
define : select-row name table
  map string->number
    and=> (assoc name table) cdr
;; internet users
define iwi-years : select-row "Year" individuals-with-internet-table
define iwi-world : select-row "World" individuals-with-internet-table
;; map from year to number of internet users
define iwi-year->world : map cons iwi-years iwi-world
;; browser market share data we’ll need
define bms-years : select-row "Year" browser-market-share
define bms-firefox : select-row "Firefox" browser-market-share
define bms-chrome : select-row "Chrome" browser-market-share
define bms-safari : select-row "Safari" browser-market-share

define : scale-by-total-internetusers year percentage
  and=> (assoc year iwi-year->world)
    λ (multiplier)
      list : number->string year
             number->string : * percentage (cdr multiplier) 0.01

define : marketshare->usercount marketshare
  filter : λ (x) x
    map scale-by-total-internetusers
      . bms-years marketshare

;; combine the data
define firefox-usercount
  marketshare->usercount bms-firefox
define safari-usercount
  marketshare->usercount bms-safari
define chrome-usercount
   marketshare->usercount bms-chrome

;; also output the world internet usercount for comparison
define population-worldinternet
  map
    λ (year-to-population)
      map number->string
        list (car year-to-population) (cdr year-to-population)
    . iwi-year->world
;; output the data
scm->dsv firefox-usercount (open-output-file "firefox-usercount-world.csv") #\space
scm->dsv chrome-usercount (open-output-file "chrome-usercount-world.csv") #\space
scm->dsv safari-usercount (open-output-file "safari-usercount-world.csv") #\space
display "Firefox Users\n"
scm->dsv firefox-usercount (current-output-port) #\space
display "\nChrome Users\n"
scm->dsv chrome-usercount (current-output-port) #\space
display "\nSafari Users\n"
scm->dsv safari-usercount (current-output-port) #\space
scm->dsv population-worldinternet (open-output-file "all-usercount-world.csv") #\space
display "\nInternet Users\n"
scm->dsv population-worldinternet (current-output-port) #\space
Firefox Users
2009 521.0359000000001
2010 601.2335
2011 575.8926
2012 507.7149
2013 424.01099999999997
2014 362.175
2015 310.4654
2016 256.3949
2017 213.1836
2018 194.2809
2019 188.2383
2020 193.48699999999997
2021 177.4162

Chrome Users
2009 55.7821
2010 197.10949999999997
2011 430.2346
2012 699.3910000000001
2013 888.2454000000001
2014 1070.85
2015 1325.4597999999999
2016 1578.9035999999999
2017 1858.3824
2018 2204.5848
2019 2607.7389000000003
2020 2961.91
2021 3158.6945

Safari Users
2009 58.89070000000001
2010 97.6633
2011 138.2664
2012 215.7848
2013 280.2828
2014 378.675
2015 385.7924
2016 428.18270000000007
2017 499.72440000000006
2018 538.0947
2019 653.2733999999999
2020 817.9639999999999
2021 926.289

Internet Users
2005 1023
2006 1147
2007 1367
2008 1545
2009 1727
2010 1981
2011 2174
2012 2387
2013 2562
2014 2750
2015 2954
2016 3217
2017 3444
2018 3729
2019 4119
2020 4585
2021 4901

Footnotes:

1

Keep in mind that this data is imperfect. It gives an indication of the market share and its changes, but it is not the one truth. As comparison: Netmarketshare gives a browser share of 1.77 to 3.62 % throughout 2021 while statcounter only gives 3.62%. A ground truth we have is the Public Data Report by Mozilla which shows 200 Million users — in line with statcounter but not so much with netmarketshare.

ArneBab 2022-05-29 So 00:00 - Impressum - GPLv3 or later (code), cc by-sa (rest)