There is an art (and a science) to numerical precision that seems lost in software, writing and conversation. The trick to appropriate precision is understanding accuracy. This all falls under the banner of numeracy.

For example, I just received a confirmation of a cinema booking that gave the time of the film in HH:MM:SS format. The site lists programme times in HH:MM. They normally start trailers within a few minutes of the advertised time. To list seconds is an innumerate and false promise.

I sometimes receive notifications that I can expect a delivery in a 2-hour window such as "between 12:07 and 14:07".

To quote to the minute shows a failure of understanding of what an approximate range is, as well traffic and logistics.

It's a 2-hour window of imprecision. Quoting to the minute shows a deep lack of understanding. Quoting to 5-minute intervals is just about acceptable. To 10- or 15-minute is more appropriate significance. But honestly, in this case, to the hour is just fine.

In such cases, it makes the company and the software authors look incompetent and clueless about their own domain, whereas they should present the exact opposite.

This doesn't mean that your plan or your calculations don't contain such precision, but there is an art to presentation logic and UX that has been developed over many decades β€” as well as experimental science and metrology over centuries β€” that often seems thrown out the window when it comes to presenting something in a window.

I still remember a moment about 10 years ago (note that I say "about 10 years ago" and not "about 3652 days ago") when a project manager showed me a plan that showed me progress on a task that had been estimated at around 2 months.

"We're 52.5% complete on this task," she told me.

That many significant figures on something as woolly as progress on an estimated multi-person task is just noise.

"There *is* a chance you might be about half done, but even that's optimistic," I said.

You see this kind of nonsense all the time in the press as well as project progress or company performance discussions, with people reading false meaning into minor percentage point differences, differences that would be swallowed up if anyone took the time to put error bars on their numbers.

You also see it when people are switching between units. For example, a journalist asking Google for a unit conversion on an approximate figure in one system of measurement into another.

"The car went another two kilometers (1.243 miles) before it was stopped by the police."

"He was said to be about 6 feet (182.88 cm) tall."

Such numerical solecisms are all the more ironic in outlets that claim they value accuracy in their reporting.

@kevlin Would statements like "over 10 new features" fall into this category? It's an intentionally imprecise statement in the hope that a gullible reader/listener might think the actual number is 90, when of course the number is 11.
@kevin It's a related but slightly different category: that of misleading approximations. Rather than providing needless precision, the answer is accurate, but overly suggestive, playing unreasonably with someone's reasonable expectations.

@kevlin

I disagree, that it's an art, that these developers fail in. It's the essence of their craft: communication. Code is communication, nothing more, nothing less. If you fail at communication, you fail at programming.

Received a message telling me to expect a delivery "between 09:50am and 2:45pm". To their credit, they avoided quoting the estimated range to the minute (or to the second!), but the implication of quoting such limits to a precision of 5 minutes is nonsense given that the window of uncertainty is 5 hours.

When developing software systems, understand your domain and understand your users. Your users are human, so go with "between 10am and 3pm" to sound like you know what you're doing.

@kevlin you'll eat your words if they arrive at 09:50, spend five hours unloading your order, and leave at precisely 14:45.
@stevefenton That would be worthy of many social media posts, but for quite different reasons πŸ˜„

@kevlin The problem with saying between 10 and 15, is that if they then arrive between 09:50 and 10:00, there will be people who'll complain that they arrived "too early", and if you then instead say between 09:00 and 15:00, then people will complain the window is too wide and "imprecise".

The fake(*) precision is part of the message, that it's specific to your delivery and that you shouldn't bother contacting customer service to get a real time window.

*: see next reply...

@kevlin *) And even though the window is very wide, it generally isn't fake. In a lot of cases it's based on the actual historic performance of deliveries to your address or neighbourhood. If it's so wide, it usually means the delivery van covers a wide area and the actual route differs too much between days.

For my address, deliveries through PostNL are usually reported with an initial window of one or two hours, and updates (through their app) do get more specific and accurate.

@kevlin Another reason for it being wide, is if they can't plan/allocate ahead in which specific delivery van/delivery route it will be put for delivery, so they use estimates for the two (or more) most likely to be used.
@mrotteveel I am not debating the size of the range, which is most likely informed and hedged based on history, I am debating its false precision.

@mrotteveel @kevlin Indeed. That 09:50 figure being to the nearest 5 minutes is not, of itself, a problem. It will be calculated on the basis of the courier leaving the depot at time x, and having a number of journey segments of predictable length. So it's the earliest time that it might arrive. The 2 hour, or 5 hour, finger-in-the-air value? Yeah, it's adding that on and keeping the precision that's the problem

The expected arrival curve is nothing like a Bell curve

@bellinghman @kevlin I have worked on transactional emails and push messages that communicate this type of information to users. Communicating time ranges like this, even with the "fake" precision is the easiest to understand for most people. From a business perspective, it also prevents unnecessary calls, and complaints, to customer service.

Being more vague and less specific, even it's mathematically more correct, is not "better", neither for the customer nor the company communicating it.

@mrotteveel @bellinghman My original posting covers that: that is why you communicate 10:00–15:00. Not only is the range more accurate, but you will also receive fewer complaints than 09:50–14:45.

(And yes, there is a small psychological trick in here that is worth knowing, and for that and other reasons it is better.)

@mrotteveel The probability of arrival between 09:50 and 10:00 is comparable to that of 09:30 and 09:50, so perhaps they should round down. Then again, the probability of arrival between 09:30 and 09:50 is...

"You're delivery will arrive today (probably)" covers, I think, most eventualities.

@kevlin At least 2:45 must be "most likely". There is always a non-zero chance it doesn't arrive at all due to "acts of god". Then again, giving legal disclaimers by sms seems unwise...

Sometimes though, the delivery is trying to uphold their part in a contract with some consequences involved. Sometimes, if you are not there, the package will be returned. Then precise times, if correct and if they matter, seem appropriate.

@kevlin It is always 07 and never say 23 or 41. Wonder what the algorithm is. And if the developers eat their own dogfood.
@kevlin or the β€œorder before end of the day” timeframe is shown as before 23:59 or even worse before 23:55 when we all (should) know the day ends at 24:00 (insert 12 hour versions for those who believe in that)

@bix Gotta love the 12-hour clock. Most people who use it have no proper idea how it works, and will get 12:00 AM/PM wrong (as well as getting confused about the status of 12:01).

Did some work for a logistics company a number of years ago. One of their promo posters got this wrong (or sent mixed messages, depending on your perspective) with something along the lines of "Before midday next delivery: guaranteed before 12:00 AM", which is one statement offering two very different promises πŸ™ƒ

@kevlin Arguably here the minute does make some sense. It's a confidence interveal, presumably with 95% confidence level.
@kevlin this one has always seemed ridiculous to me - especially when the drivers often don't even show within the 2h window
@kevlin
I hope that soon this will be my biggest gripe about the world! πŸ˜†
@kevlin I'm pretty sure it's actually done on purpose. A lot of people confuse accuracy with precision, so a very precise value - Google Maps telling me it'll take 4 hours 21 mins to get to London if I leave now - makes people believe it must be right.
@zudnick While I certainly believe that some people (and companies) will use this as a cynical ploy, I think that Hanlon's Razor applies far more often.
@kevlin
On the other hand, I hate when Timestamps are given relatively. I prefer unnessesary nanosecond precision over a vague "a few moments ago" any time.

@xris That is slightly different and is a source of another line of rants of mine.

First of all, when you are dealing with past events, they are known and are not estimates. Reporting them with both precision and accuracy is desirable. Excessive precision is quirky, but not wrong; reporting an estimate of a future event with false precision is wrong.

OTOH reporting a past event with poor approximation invariably annoying and often wrong (both in its model and its implementation).