logoalt Hacker News

98% Isn't Much

315 pointsby speckxtoday at 12:45 PM238 commentsview on HN

Comments

compiler-guytoday at 4:48 PM

In the early days of commercial optical-character-recognition software, vendors would brag about 99% accuracy.

But a single-spaced-typewritten page has about 500 words, so you were looking at five typos every single page. It was good at the time, but you still had to manually check every single word.

wccrawfordtoday at 1:06 PM

Alternatively, 98% is plenty.

If your business plan requires you to capitalize on more than 98% of the market, it's already a failure. It'll never happen.

As always, it's an "it depends" situation. If your userbase is largely luddites, then maybe you need to support 10+ year old browsers that can't be updated. Otherwise, you can probably just worry about people who are using computers new enough to actually update their browser once a year or better.

The tradeoff is code complexity and engineering time, vs having a larger market. And that's going to be an individual situation for every company.

show 15 replies
nemo1618today at 3:07 PM

After Christmas this year, I removed the tree from our living room, and in the process of being moved, it shed of needles everywhere. I swept them up, but I missed a few areas on my first pass. So I did a second pass, but when I looked again, I saw there were still a handful left. It struck me how removing >99% of the needles was nowhere near acceptable! Lots of cleaning jobs are like this, I suppose, because even a tiny mess can be visually distinct. In fact, as you approach 100%, the remaining mess stands out more.

show 1 reply
onion2ktoday at 4:39 PM

If a fancy new feature can’t degrade gracefully, then 98% isn’t “widely supported”.

Close, but the other way round. Don't avoid a feature because it lacks good enough support. Write code to progressively enhance the experience if the feature is supported in the user's browser. If you're not willing to do that, then don't use the feature.

Progressive enhancement today means you can use pretty much any browser feature you want. You just have to do a bit of legwork with some @supports or JS prototype checking after doing the basic version first. It's not really much extra work.

MatekCopatektoday at 1:10 PM

While I agree with the general sentiment, the problem here isn't developers not being familiar with statistics, it's the simple fact all of this is profit driven most of the time.

I tried to purchase tickets for an event last week. I had to go through Ticketmaster as it was the only official way. They forced me to verify my account using a phone number, but whoever they were using for messages wasn't able to deliver a code to my number. I tried a few numbers from our household and they all failed.

Searching for this issue yielded a bunch of results, so it was definitely a known issue, but there wasn't anything I could do, really. To them, it's simple math. Another SMS provider that covers my (tiny EU) country might be more expensive. They might be avoiding scammers that used my mobile operator in the past. Whatever it is, it would probably cost them more than they lose in ticket sales.

Without some government entity to force them, they don't give a shit about me being able to see an event.

show 3 replies
phailhaustoday at 1:53 PM

The broader point is that percentages can be misleading, and are often because of that. It makes things sound better. But usually, the more accurate thing to do is use odds-notation ("1 in 50" instead of 98%). Percentages have a kind of singularity at the edges, where small numerical changes have massive real effects. Going from a success rate of 98% to 99% doesn't sound like much, but that's failing 1 in 50 vs 1 in 100. You've doubled the efficacy.

show 5 replies
msephtontoday at 12:58 PM

Reminds me of the Meat Loaf song “Two Out of Three Ain’t Bad” which was released in Japan as 66%の誘惑 “66% is Good Enough” etc https://www.discogs.com/release/8303076

show 2 replies
maderalabstoday at 2:32 PM

I think there are broadly two types of problems - ones where you get partial credit, and ones where you don't. The restaurant example is one where you don't get partial credit - 98% of food being safe isn't enough, it's all or nothing. Paying your employees - all or nothing, you miss a paycheck once, it's a huge problem.

CSS on a website, however, you CAN get partial credit (to an extent). It may not be perfect, but it's at least theoretically still providing some value partially.

I think knowing what kind of problem you're facing is really important when it comes to measuring percentage of "complete".

Aachentoday at 1:26 PM

Reminds me of statistic where most customers already stop going to a particular supermarket if it stops carrying a handful of the items they want to buy

It may sound like a small deal to not carry one brand of chocolate paste but if some customers then also don't buy the 12 other groceries they need at your shop, it doesn't really matter that it's only 2% of products that were discontinued. Supermarket products are so stable not because nobody ever makes anything new but because changing a small percentage frustrates customers

If I can't order from some website, I stop trying. Maybe next week the ESR browser gets an update and it works again but by then I'm not clicking those links in the search results

show 1 reply
robalnitoday at 2:29 PM

I don't like treating people like numbers. 98% isn't much and it isn't little. It's just wrong.

If I'm one of the 2% then that's everything for me. Maybe I have good reasons to be in the 2%. And maybe, not caring about that is wrong.

I would rather have a website that only works for 2% of people for the right reason, than a website that doesn't work for 2% for the wrong reason.

collinmandersontoday at 1:54 PM

Part of the problem is The US Government (and UK Government) use the "2% rule" on their websites and only officially support 98%.

I mentioned 3 years ago that Firefox at 2.2% is dangerously close the being unsupported on government websites, and at this point it's now at 1.9%.

https://news.ycombinator.com/item?id=36776603

https://analytics.usa.gov/ says "There were 1.66 billion sessions in the last 30 days." - so 2% is 33 million sessions if I did my math right.

show 2 replies
johannes1234321today at 2:37 PM

One thing I wonder regarding browser market share is always: How is it collected?

I assume Firefox users over proportionally use privacy extensions.Thus they overproportionally won't appear on Google Analytics and similar places, which for some statistics reduces the numbers even more than reality.

show 2 replies
trjordantoday at 1:19 PM

I was heading to dinner with a friend who worked in infra. Google maps said we could bike across town in 20 minutes. He suggested we leave 40 minutes ahead of time and grab a drink at the bar if we got there early. When I raised an eyebrow, he goes:

"What, do you not live your life based on 99th percentiles?"

I tend to think of work as upside-based on downside-based. Most feature work is upside. 10% lift on conversions is great, 40% adoption is winning, and you're playing for the moonshot of 10x. Infra work is downside-based. 98% secure, 98% available, 98% acceptable performance -- that'll all failure. Winning means the thing works as expected and nobody notices.

Not everything sorts cleanly into upside vs. downside, but a lot does. Allocate your risk accordingly.

show 2 replies
mewpmewp2today at 1:06 PM

There's likely always a line somewhere where effort becomes way out of proportion compared to getting that last mile effort.

Arguably, if you only have a website, that won't work for anyone without access to the Internet. So then you should have a physical presence in each of those people's location, and arguably you shouldn't provide any improvements that give me more than physical presence does, so you should not have the website in the first place, since people without the Internet can't use it or you have to keep your website without any improvements over the physical office.

If you only have a website, arguably 2+ billion people currently wouldn't be able to access it.

And it seems odd to bring 150 mil people as an example, when the baseline should be at least 2+ billion with website only.

show 1 reply
eggbraintoday at 3:34 PM

> Can you imagine a venue refusing entry to former clients 2% of the time just because they’ve “improved their experience”?

On the flipside, if a client enters enough venues that refuse entry to them because of something the client can fix on their end, eventually the client will probably change themselves -- "If you meet one asshole during your day" and all that.

To bring the analogy back to browsers, if a website works fine for a client, they'll have no pressure to change anything on their end -- why upgrade from Windows XP when the site looks fine in IE6? Eventually the client is forced to upgrade -- normally by their operating system. That works, but what if the operating system adds another 2 years to their end of life -- do you just hang on and hope the shim / hacks you added hold?

jkapturtoday at 2:48 PM

The other thing to keep in mind is that if you have a policy of considering 98% to be "close enough", then it only takes 35 of those decisions to remove over half the population. And it'll be exceptionally difficult to work your way back up, because each improvement will be minimal!

(Of course, this assumes that each decision is independent, which, when you're talking about browser support for CSS, is certainly not the case.)

daharttoday at 1:47 PM

The close-to-home example that came to my mind while reading this is GPU programming, where the percentage multiplies. Maybe there are other similar examples where a large sounding percent needs an exponent and shrinks?

With CUDA you try to keep all threads doing the same thing. Sometimes that’s very difficult, but if each thread does the same thing 98% of the time, is that enough? Well since there are warps of 32 connected threads, you might expect the probability that any thread in the warp diverges to be .98^32, or 50% of the time spent with one thread in the diverged code. 50% still doesn’t sound that bad unless threads diverge at different times, and then 50% warp divergence might mean a 16x slowdown overall. 98% isn’t enough in this case.

nchmytoday at 2:04 PM

Its hard to find these stats now (need to use Android Studio), but about 10% of android users are on Android v9 and below. Android 9 support was recently discontinued by Chromium, such that they cannot update past Chromium 138.

So, 10% of android users dont have web features beyond, at best, June 2025.

caniuse.com does not track this - they lump all Chrome for android together in the latest version.

This is painful as someone who wants to make use of some very useful, powerful new features, but is targeting people who are most likely to have old, slow, not-updated devices...

show 1 reply
BeetleBtoday at 4:21 PM

> Can you imagine a venue refusing entry to former clients 2% of the time just because they’ve “improved their experience”?

The web has been doing this since, when, the 90's?

I use Firefox. In the last year, suddenly quite a few web sites have just stopped working on it for me. Firefox is over 2% market share.

isollitoday at 4:45 PM

It reminds me of when people argued against covid restrictions saying that the virus had a 99% survival rate. A disease with a 1% infection fatality rate is a terrible disease!

Full disclosure: I also argued against covid restrictions, but not with this terrible argument.

k6hkUZtLUMtoday at 3:15 PM

Serving a website is different than serving food or providing safety features. Web design can use progressive enhancement and detect available features to use as they are available.

With a website, you can have the "real" layout, but when someone is blocking your JS, you can fallback and still provide content.

We won't get every mobile application working on old browsers, but we can offer something to the end user. Even a page that lets them know they are missing out.

But CSS Nesting? We can have that and a fallback.

show 2 replies
theragratoday at 1:01 PM

Pragmatically, often users without new browsers and OSses are not the best clients. In ideal world, sure, I want to support everyone. In a world with limited resources, I would better spend my time elsewhere.

show 1 reply
VladVladikofftoday at 1:15 PM

I usually go by CanIUse's global percentage when deciding if I can utilize a new browser feature, and right now it's 90.81% (https://caniuse.com/css-nesting)

That's a bit lower than I would be comfortable with, however not that bad, we have been even considering switching all our images to AVIF: https://caniuse.com/?search=AVIF

And google uses Webp all over the place and that's sitting at 96% https://caniuse.com/webp

Author's 98% take is a bit misguided.

show 7 replies
dsjoergtoday at 4:01 PM

Decisions are about tradeoffs. 2% of users staring at a broken screen is bad, of course. But what is the _cost_ of not using nested CSS? The responsible way to make a decision is to consider both sides of the tradeoff.

zipy124today at 12:55 PM

This concept is missed so much in AI research and is quite frustrating.

s3cur3today at 2:40 PM

The biggest thing missing from this analysis is "is there a business case for supporting those 2% of users?". (Maybe, maybe not.)

The second biggest thing is progressive enhancement. The author picked a CSS feature (nesting) that is basically all-or-nothing: the site will basically be entirely broken for those 2% if you swap Sass for native nesting. Most features aren't like that; maybe the site won't look pixel-perfect on old browsers, or one bit of functionality won't work, but by and large it will still be functional. In those cases, I think it's a much easier decision in terms of where to draw the cutoff.

Panzerschrektoday at 1:23 PM

There are cases when providing service for remaining 2% isn't profitable. It's better just say "sorry".

I used to work in company where we have spent a lot of time making custom fixes for our software in order to work-around wired hardware/software bugs on machines of individual customers. Yes, we provided service for remaining 2% or so, but in cost of slowing-down overall product development and not making our product better for remaining 98%.

show 1 reply
vikramkrtoday at 3:04 PM

If 2 out of 100 people I know see a broken website, depending on the website, that's fine, that doesn't sound like a big deal. Now, if out of 10 power users, all ten of them see a broken site once every 50 logins? Thats a much bigger deal. 98% can be more than enough or not remotely enough depending on the units involved but there are plenty of cases where it's fine to not support the last 2 internet explorer users and stuff

ameliustoday at 1:03 PM

This applies to AI too.

Your classifier might be 98% accurate and it may sound like a lot.

But if it sits inside a car, making thousands of decisions during every trip then you may be in deep trouble.

andaitoday at 3:15 PM

On the other hand, if you design something to include 100% of people, you will fail, and you will not give your core audience as good of an experience as they could have gotten.

So I like the opposite approach. If there's literally one guy on the planet, and this article/app/idea changes his life... what would that look like?

joshstrangetoday at 1:35 PM

> If a website uses fancy new browser features and works for 98% of the population, that means that it won’t work for ~150 million people.

Yes, because all of us have website serving, checks notes, the entire world...

98% is probably in the neighborhood of 8% more than I'd require for browsers compatibility before deciding to use a new feature. At a certain people need to update and we do ourselves and our other 98% of customers no favors by catering to the lowest common denominator.

See also, the story of YouTube adding a banner pushing people to upgrade off old IE version being a large factor in people upgrading. Now, obviously, we aren't all running YouTube-sized sites but building for ancient browsers is, very often, a large waste of time.

In the age of evergreen browsers you have to go out of your way to be using something that's not at most a couple years out of date.

rollulustoday at 4:01 PM

What’s much and what isn’t depends on the context. One hair on your head isn’t much but one hair in your soup is.

sebastianconcpttoday at 3:13 PM

That framing is setting the question so you immediately are forced to compare pears to apples.

Of course 98% of sterilization is not enough for surgery or for precision in calculating your account balance but the category of landing page conversion a 98% would be astronomically high.

buntptoday at 1:09 PM

Isn't this obvious?

In some categories, certainty and percentages make a lot of difference--surgeries, accidents. In some, they don't--surveys, grades.

It just depends on the category.

This is akin to saying something as obvious as more percentages are more than less percentages.

sometimelurkertoday at 3:00 PM

I like stuff that takes a statistic that we view one way and explains how to see it another way

in this sense, related https://danluu.com/p95-skill/

atan2today at 1:01 PM

That reminds me of an old comic where a guy picks a milk carton from the grocery store shelf and reads in the box: "Now with 0.01% less semen." and he does not know if he's happy or sad about it.

piftoday at 3:18 PM

The author is confusing visitors with customers. Refusing entry to 2% visitors? No, no! Forgetting about non-interesting 2% visitors? Not even a blink!

asxndutoday at 3:48 PM

If a plane did not crash 98% of the time, you wouldn't step on it.

cayceptoday at 2:56 PM

Wasn't there something in statistics to describe something like this? i.e. gaussian distributions vs something that's modeled on sparse occurrences, etc?

amaranttoday at 3:07 PM

I thought this was gonna be about uptime.

Well I wasn't very far off I guess! Perhaps "5 nines" is a good threshold for new CSS features too?

hei-limatoday at 2:59 PM

That's why things never get better. I mean, i'm all out for retrocompatibility, but if removing something makes my experience much better and unfortunately the thing stops working for 2% of the people with outdated devices/browsers, it's not that sad, but the tradeoffs need to be measured.

I've been in the two ends of this situation, in the 2% with older iPhones and Android devices, and in the 98% with new devices. The 2% cannot hold a tyranny over the absolute majority, and vice versa. Everything must be evaluated on a case-by-case basis.

red_admiraltoday at 1:47 PM

I guarantee you, if your product is a mobile app, you're excluding more than 2% of the population.

ksectoday at 3:34 PM

Some things are measured from 0, some are measured from 100. Depending on Expectation.

When expectation is 100%, telling me 98% success rate isn't enough. An example where the argument happens on Reddit, Macrumours and even on HN. When Apple's butterfly keyboard have issues. Apple Supporter was quick to dismiss the issue and point out the double entry is such a small issue because it is working 99.9% of the time. What they don't realise keyboard before that was practically 100%. That 0.1% error rate is infinitely more than 0%.

Another example is Internet connection When you are used to perfect Internet connection, just a small beep in disconnecting turns to be major annoyance. There are plenty of these examples especially with DOCSIS Cable modem. The modem theoretically is working 99,95% of the time, hence cable companies won't fix it. But Disconnecting 10 to 30 seconds every day is annoying enough.

I am not sure if there is a word or terminology for it so this could be better explained to people.

On the other hand, there are plenty of things where 80% is good enough, or doing above and beyond at 96% by getting 80% out of the original remaining 20%.

christina97today at 1:26 PM

But is it? Addressing 98%of TAM, is?

Suppose 98% users have not had any sessions crash. You want to build an addon feature that 10% of your users will buy and which will increase the revenue from those users by 30%.

Do you spend time building the feature, or trying to understand why 2% of users sometimes see crashes?

abap_rockytoday at 1:05 PM

> Can you imagine a venue refusing entry to former clients 2% of the time just because they’ve “improved their experience”?

This reminds me almost precisely of the dynamics of pro sports in the US and how fans are getting priced out of attending games or even watching teams on TV as organizations shift to bespoke streaming platforms.

adverblytoday at 1:29 PM

Software isn't the product though.

Just like the article says, it depends on if the product is an essential or a dessert.

If your product is a "essential necessity" one, then 98% is terrible for your software.

If your product is a "dessert", then for it's software 98% is awesome.

huqedatotoday at 1:08 PM

What about those 30% of audience to update their browser? On our web platform, the team currently displays a message along the lines of: 'Please update your browser; this site relies on features incompatible with your current version'.

show 1 reply
uhoh-itsmaciektoday at 2:41 PM

Great point, but if the 2% are served graceful degradation rather than a broken site, that's probably okay.

ninjahawk1today at 3:34 PM

Jesse, we need to refactor the edge cases Jesse

scrappy_guytoday at 1:33 PM

And the last 2% is often the hardest part. The low-hanging fruit has been picked, so you're left with these tricky edge cases that may not have a straightforward solution.

🔗 View 45 more comments