Skip to main content
PLOS One logoLink to PLOS One
. 2023 Oct 25;18(10):e0292491. doi: 10.1371/journal.pone.0292491

A critical analysis of the What3Words geocoding algorithm

Rudy Arthur 1,*
Editor: Hong Qin2
PMCID: PMC10599581  PMID: 37878572

Abstract

What3Words is a geocoding application that uses triples of words instead of alphanumeric coordinates to identify locations. What3Words has grown rapidly in popularity over the past few years and is used in logistical applications worldwide, including by emergency services. What3Words has also attracted criticism for being less reliable than claimed, in particular that the chance of confusing one address with another is high. This paper investigates these claims and shows that the What3Words algorithm for assigning addresses to grid boxes creates many pairs of confusable addresses, some of which are quite close together. The implications of this for the use of What3Words in critical or emergency situations is discussed.

Introduction

Geocoding is the process of assigning a co-ordinate pair, usually latitude and longitude, given a textual description of a location. Reverse geocoding is the opposite, converting co-ordinates to descriptions. Usually these text descriptions are standard street addresses and/or postal codes where the geocoding process can be quite involved and potentially ambiguous [1]. The company What3Words (hereafter W3W) has proposed an alternative addressing system which they claim ‘solves’ the geocoding problem. Quoting W3W [2]: We have divided the world into 3m squares and given each square a unique combination of three words. what3words addresses are easy to say and share, and as accurate as GPS coordinates.

51.520847,-0.19552100///filled.count.soap

The mapping above shows a W3W address (the W3W corporate office in central London) and its equivalent GPS coordinates.

W3W report various applications of their system in logistics, taxi services and navigation [3]. W3W also share numerous instances of use of the app by emergency services, notably the claim that W3W is used by 85% of emergency services in the UK [4]. While claims from W3W themselves may be treated with some scepticism, it is the case that major organisations like car breakdown service the AA [5] and the London ambulance service [6] encourage and give advice on using W3W for reporting locations. Other agencies, such as Mountain Rescue England and Wales, advise using it only in conjunction with other location methods [7].

It is for applications in emergency situations that W3W has been the target of robust criticism in the popular literature for, among other issues, its closed-source code [8] and the potential for confusion between addresses [911]. A website devoted to issues arising from use of W3W has been established at https://w3w.me.ss/. If W3W is widely adopted by emergency services it must be subject to rigorous evaluation. To my knowledge there has been no study of W3W in the academic literature, though there are some papers on extensions of W3W for 3-dimensional addressing [12, 13] and independent researchers have published some quite detailed analysis on blogs [9, 10]. Here I aim to perform a rigorous evaluation of W3W by analysing their geocoding algorithm.

The outline of the paper is as follows: first the W3W geocoding and reverse geocoding algorithms are described. I then present a model of address transmission, with application by emergency response in mind, and discuss some of the errors which might occur when transmitting W3W addresses. This model is used to study first the prevalence of confusing addresses anywhere in the world and then confusing addresses which are close together. Based on the results of this analysis I offer some advice on the use of W3W and some suggestions for future work. W3W is a commercial entity and does not provide the word list used to make addresses and also limits the number of addresses which can be requested for free. Due to these restrictions, rather than sampling many W3W addresses from the real application this paper will rely on the description of the algorithm given in the patent [14] and use a different (though likely highly overlapping) word list.

The What3Words algorithm

A user of the W3W service simply interacts with the mobile application or website https://what3words.com/ either by entering a W3W address to get its location on a map (geocoding) or tapping the locate button to obtain their W3W address (reverse geocoding). The details of transforming between geodesic coordinates and W3W addresses are hidden from the user and the assignment of words to locations is fixed. It is the process of assigning word triples to locations, as described in the What3Words patent [14], that will concern us here.

The globe is first partitioned into 4320 × 8640 lat(itude) and lon(gitude) cells. These cells are given integer co-ordinates X, Y. Each cell is further subdivided into 1546 latitude bands and a variable number (between 1 and 1546) of longitude bands, giving small, approximately 3m × 3m, boxes with integer co-ordinates x, y. In detail

X=floor((lon+180)×24)Y=floor((lat+90)×24)x=floor((W(Y)×frac((lon+180)×24))y=floor((1546×frac((lat+90)×24))W(Y)=max(1,floor(1546×cos((Y+0.5)/24-90))) (1)

These coordinates are converted into a number

n=q+1546x+y (2)

Where q is an offset which is a function of X, Y, chosen such that popular locations (e.g. central London) have smaller n values. To avoid a regular assignment of words to cells, the values of n are then used as input for a linear congruence. A word list of L = 40, 000 unique terms are assigned into one of Nb bands (where [9] suggests Nb = 16 in practice). Each XY-cell is also assigned to a band and each band is transformed differently. The value n is transformed to m via the congruence

m=cb+(ab×n)modK3 (3)

where K = L/Nb and cb, ab are band-specific constants. Band zero, corresponding to the most popular locations, has cb = 0. For simplicity I will mostly consider band 0. To produce a 3 word address, m is factored into a triple of integers i, j, k. To do this, first compute l = floor(m1/3). Depending on the value of max(i, j, k) the factorisation algorithm will be different. For illustration, if i = max(i, j, k) then one sets i = l and uses

m=l3+(l+1)j+k

to find j and k. Full details for different factorisations are given in the patent [14], but it is always the case that l = max(i, j, k).

The transformation from m to n in the first band is m = (ab × n) mod K3. Therefore, the maximum value of m is K3 − 1 and hence max(i, j, k) can be at most K − 1. This means only K words, rather than L, are used per band. The words in the word list are indexed such that short, common words have smaller indices and are in lower bands, so the low bands are used for major population centers and higher bands for uninhabited places or the ocean. Finally, the triple of integers i, j, k are used as indices for the word list to form a triple of words which is a W3W address.

To go from W3W addresses to lat, lon coordinates the algorithm above is applied in reverse to obtain X, Y, x, y and lat, lon are then given by inverting Eq 1

lat=(Y+(y+0.5)/1546)/24-90lon=(X+(x+0.5)/W(Y))/24-180

Transmission model

I use the noisy channel model [15, 16] for the transmission of W3W addresses. A location of interest to the sender is given a W3W address, s = u.v.w which is communicated to a receiver over a noisy channel. The noisy channel induces a change in the message to s′ = u′.v′.w′. It can be that u′ = u etc. but if there is at least 1 difference between s and s′ then call s′ a confusion of s. The idea here is to model a situation where someone looks up the W3W address for their location (reverse geocoding) and transmits it to a third party who transforms it back to latitude and longitude (geocoding). I assume no errors in the reverse geocoding/geocoding steps (carried out via the algorithm above) but that some errors could be induced in the transmission process. For example, if a lost hiker phones the emergency services the dispatcher must accurately record the address and pass it on to search and rescue operators who then use it to find the target location. The noisy channel is everything that happens in between the hiker getting a W3W address and the search and rescue team inputting it into the geocoder.

Confusion modes

There are many potential ways a W3W address could be miscommunicated, a non-exhaustive list is given in Table 1. Due to the restrictive terms of W3W user license [18] it is difficult to empirically investigate the frequency of each of these error modes. The word list is not public and only a limited number of addresses are available without purchasing privileged access. For simplicity in this work I will only explicitly consider typographic errors and simple homophones and therefore the results presented here should be thought of as lower bounds or a best case scenario.

Table 1. A list of potential error types relevant for transmission of W3W addresses.

These are not necessarily mutually exclusive categories.

Error Type Example
Typing errors ‘fog’ becomes ‘fig’
Homophones ‘their’ becomes ‘there’
Incorrect word form ‘break’ becomes ‘broke’
Autocorrect substitution ‘gunna’ becomes ‘gunman’ [17]
Regional spelling variation ‘color’ (US) versus ‘colour’ (UK)
Regional homophony ‘tree’ and ‘three’ are homophones in my accent but not in other accents
Boundary uncertainty ‘dog.start’ versus ‘dogs.tart’
Multi-word homophony ‘pink.start’ versus ‘pinks.start’
Word transpositions ‘dark.small.places’ becomes ‘small.dark.places’
Translation errors ‘limer.achat.écrire’ will not refer to the same location as ‘file.purchase.write’.
Grammatical gender e.g. in French, confusing ‘avocat’ with ‘avocate’
Adjective agreement ‘chaise.bleu’ versus the grammatically correct ‘chaise.bleue’
Dropping accents ‘ferme’ verses ‘fermé’
Forcing correct grammar The correct address ‘only.neatly.grass’ versus the gramatically correct ‘only.neat.grass’

Following similar models for spelling correction define the confusion set C(w) as the set of words in a dictionary D which are ‘close’ to w. For example, it has long been noted [19] that the most common typing errors are

  1. transposition of two adjacent letters: ‘calm’ → ‘clam’

  2. one extra letter: ‘cat’ → ‘cats’

  3. one missing letter: ‘broom’ → ‘boom’

  4. one wrong letter: ‘frog’ → ‘from’

For verbally communicating W3W addresses, likely the most problematic words are synophones (word pairs that sound almost the same but have different meanings), ‘will’ and ‘well’ seem more likely to be confused than ‘will’ and ‘kill’. However W3W addresses must always be typed for geocoding, so all of the above typing errors are relevant.

Homophones are word pairs like ‘which’ and ‘witch’ with similar pronunciation but different spelling. Research confirms that writing a homophone of the intended word is common [20] with the more frequent word most often substituted for the intended one [21] e.g. ‘raise’ is much more likely to be written than ‘raze’. The lack of context in W3W addresses means that the potential for homophone confusion is high, as acknowledged by W3W [22]: When we select the words to be used in each language, we do our best to remove homophones and spelling variations. However in practice many can be found and, as mentioned in Table 1, homophony is dependent on accent and it is unlikely that all homophones across all regional accents, even in the UK, can be removed.

To specify the confusion model more precisely, given a dictionary D of English words, take a sample of unique words from the dictionary to generate a word list L={w1,w2,,wL}D which contains L unique words. For English W3W, L = 40, 000. A W3W address is a triple of words u.v.w where u,v,wL. Ignoring complex error modes (see Table 1) and assuming that each word is transmitted independently, the confusion set of an address is the product of the confusion sets of its words (with the convention wC(w)): CΠ(s) = C(u) × C(v) × C(w) − s. For example, with only homophony as an error mode, the address s = arose.recede.home has a possible confusion set: {arrows.recede.home, arose.reseed.home, arrows.reseed.home}. If only one word is allowed to be confused, then the confusion set is CΣ(s) = C(u) × v × w + u × C(v) × w + u × v × C(w) − 3s. For s = arose.recede.home this would give CΣ(s) = {arrows.recede.home, arose.reseed.home}. Let the size of the confusion set of s be denoted cΠ(s) and cΣ(s) when allowing many, or only one, word changes, respectively. I will compute both to show that qualitative conclusions do not depend on the choice of CΠ or CΣ.

Word list

W3W terms of service prohibit using their word list, so the word list from [23] is used instead. Any list of English words will suffice, this one is comprehensive enough, freely available and words are ranked by frequency of occurrence. Only words at least 4 characters long are kept and words are sampled in decreasing order of frequency with only lower case words which appear at least 3 times in the corpus of [23] are kept. Some words appear with variant spellings, e.g. ‘favor’ and ‘favour’. Since these would likely be removed by W3W I also remove 284 of these from the list, keeping the most common variant. Some examples of the least common words included are ‘marinade’, ‘replayed’, ‘confusions’, by no means difficult or obscure words. Choosing a frequency threshold of 3 results in L = 43, 320 words, which is close to the number used by W3W, 40, 000. Because this list and W3W use common English words, it is likely that both lists have substantial overlap.

To deal with homonyms I use the phonetic dictionary from [24] which gives the International Phonetic Alphabet (IPA) transcription of most English words. Stress markers, used to differentiate e.g. ‘in-CREASE’ (noun) from ‘IN-crease’ (verb) are ignored as well as the rare diacritics used to specify the pronunciation of loan words e.g. ‘croissant’. The UK and US dictionaries were merged, giving a list of possible pronunciations of each word, then each pronunciation of each word was checked against every other to produce a list of possible homonyms for every word in D. These IPA transcriptions only include standard pronunciations so the number of homonyms found here is a lower bound on homonyms in D given the wide variety of regional English accents and dialects.

There are 1699 words in D that have at least one homonym also in the dictionary. Many of these are unusual words e.g. ‘sitz’. Restricting the set to only count words in D that are homophonous with common words (D(150) see next section for the definition) gives 650 words with common homophones e.g. ‘sense’ and ‘cents’. The word list used by W3W is pruned in some unknown way so these numbers are only estimates. However, anecdotal evidence e.g. [10] and experimentation with the app suggests it is not hard to find addresses in W3W containing a word with a homophone, for example ‘arrows.midst.sense’ is a valid address in Queensland, Australia.

Building confusion sets

It will be useful to define D(v) to be a word list where each word occurs v times in the corpus of [23]. D(150) gives 7,445 words (roughly the same number as in the first three bands) and D(3)=L is the entire word list of 43, 320 words. D(150) will be used to enforce the condition that confusions are with common, rather than rare words. To generate the list of potential confusions of a word w:

  1. Generate the set of all strings that could be formed by making the typing errors listed above to make Ct(w)

  2. Look up the set of homonyms of w to get Ch(w)

  3. Include only common words to give the final confusion set C(w)=(Ct(w)Ch(w))D(150)

For example take w = ‘clause’. To make Ct(w) generate mutations of w using the typing error modes described in [19]:

  1. Transposition, generating e.g. ‘cluase’

  2. Adding an extra letter e.g. ‘clauses’

  3. Deleting a letter e.g. ‘cause’

  4. Swapping a letter e.g. ‘claude’

There is only one homonym of ‘clause’ in the word list so Ch(w) = {claws}. The union of Ct(w) and Ch(w) is then intersected with D(150) which removes invalid words (like ‘cluase’) and rare words. The final result is C(clause) = {clause, cause, claws} where ‘cause’ is a potential mistyping and ‘claws’ is a homonym. The potential mis-typing ‘clauses’ is not included because it fails to meet the frequency threshold.

Confusing addresses globally

W3W state The overwhelming proportion of similar-sounding 3 word combinations will be so far apart that an error is obvious [25]. We will study if the W3W algorithm places similar addresses far apart in the next section, but even if true this type of confusion could still be problematic. Correcting an incorrect address relies on the AutoSuggest algorithm implemented in the W3W application [26] which displays 3 suggested addresses based on the user’s input. The algorithm used is closed source and the description in [26] only mentions ‘different factors’ accounting for which addresses are suggested. However they do state: In certain situations, like an e-commerce checkout, we increase the likelihood of an accurate match by clipping the area of results to the shipping country. From these statements, personal experimentation and information given by the help page [27], AutoSuggest seems to balance address similarity with prior information about places and seems to be most likely to make suggestions of populated places near the user. In the worst case, our lost hiker scenario, with the sender in a remote location far from receiver, if the intended address has more than 3 possible confusions, it may not be in the three results displayed.

To model this, assume the probability of a word having c confusions be given by a Poisson distribution with mean λ1

p(c)=λ1ce-λ1c!

The probability a word has no confusions is p(0)=e-λ1 and the probability that n independent words have no confusions is (p(0))n=e-nλ1. Therefore the probability that an n-tuple has at least 1 confusion is

pn(c>0)=1-e-nλ1 (4)

Note this increases exponentially to 1 (certainty of at least one confusion) with n and λ1. For W3W n = 3 and λ1 is the average number of confusions per word, which depends on the types of error considered.

Using the word list and confusion model (typographic and homonym errors) described, Fig 1(a) shows that the distribution of p(c) is reasonably well approximated by a Poisson with λ1 = 0.73 (the orange line). Fig 1(b) estimates the distribution of p3(c) by generating 106 random word triples. The distributions have mean λ3 and p3(0) = 0.33, meaning only around a third of triples have no possible confusions under the error modes considered here. Thus most addresses, roughly two-thirds, could be confused, by mis-typing or homophony, with another address somewhere on the globe. Fig 1(b) also shows that

p3(cΠ>3)=0.26,p3(cΣ>3)=0.21, (5)

Fig 1.

Fig 1

(a) Probability of a word having c confusions. (b) Probability of a word triple having c confusions.

That is, around a quarter of addresses have more than three confusions, so at least one of the potentially correct addresses won’t be shown by AutoSuggest. The word list used by W3W may have been tuned to avoid common homonyms (though in practice many words with homonyms can be found), but it does not seem to be tuned in any way to avoid typing errors, indeed there are many cases where a word and its plural appear. The number of addresses with more than 3 confusions is likely to be at least this high, especially if other error modes are considered or the frequency threshold lowered. An analysis of the dependency of p3(cΠ > 3) on the size of the ‘common’ set is given in Appendix A in S1 File which suggests that the above results are likely to be lower bounds/best cases for the number of addresses with more than three confusions globally.

Confusing addresses locally

The primary address confusion issue discussed by W3W [25] and critics [9, 10] is the possibility of similar addresses occurring close together. For example, two potentially confusing addresses on opposite sides of a valley or lake could be disastrous for rescue workers. I will say that address s confusable with address s′ if s′ ∈ C(s). It is shown in Appendix B in S1 File that, assuming a truly random distribution of addresses, the probability of at least one confusable pair in a circle of radius r is

P(A^)1-exp(-ca(r)22T) (6)

Where TL3, c is the average number of addresses confusable with any address and a(r) = π(r/3)2 is the number 3m × 3m grid cells within a radius r. Setting c = 3, L = 40, 000 and r = 4km gives P(Á) ≃ 0.5, i.e. to have a 50% probability to encounter a confusable pair requires a search radius of around 4km. This is quite a small error rate due to the very large factor TL3 in the denominator. This number T, the size of the address space, is crucial for ensuring a small confusion probability. Because of the ‘banding’ one should perhaps use T = K3 ≃ (L/16)3 instead, giving P(Á) ≃ 0.5 at r = 500m. However, the ‘effective’ address space is in fact much smaller and the confusion probabilities much larger due to the details of the geocoding algorithm.

To understand this, first recall from that each address is equivalent to a number m, which is factored into a triple of integers e.g.

m=i3+(i+1)j+k

If values of m are close, then the factorization will produce triples with the same first two numbers. Choosing an arbitrary run of consecutive m values, these can be factored as follows

m i j k
19999997500 (683, 2714, 1586)
19999997501 (683, 2714, 1587)
19999997502 (683, 2714, 1588)
19999997503 (683, 2714, 1589)

The i, j, k values are used as indices in the word list, so the above could become something like

m i j k
19999997500 (often, home, sea)
19999997501 (often, home, will)
19999997502 (often, home, see)
19999997503 (often, home, well)

With only one word different, the potential for confusion is much higher and the address space is of size L rather than L3. Similar conclusions apply for shared j, k and i, k as well as addresses sharing a single word in common.

To prevent this from happening W3W use a linear congruence to ‘mix-up’ the address indices, Eq 3. Linear congruence is a common way to introduce pseudo-randomness in applications, but is known to have many undesirable features which make the outputs non-random, e.g. [28]. For simplicity looking only at band 0, where cb = 0

m=anmodb

n is computed directly from the lat, lon values using Eq 2 and a, b are band specific constants. I will take the numbers given in [14]: a = 3, 639, 313, b = 20, 000, 000, 000. Consider a shift Δm in the value of m caused by a shift Δn in the n value.

m+Δm=a(n+Δn)modb

this implies

Δm=aΔnmodb

So, when aΔn is close to a multiple of b, Δm will be small, meaning these two addresses are likely to have words in common. For the specific values of a and b above, if Δn = 5, 083, 377 then aΔn mod b = Δm = 1. Given there are around 1, 485, 706 addresses per cell (at the latitude of London, UK), this value of Δn will be encountered about 3 cells away, which is not particularly far (cell size in London is around 4.5km by 3km) and highly likely to also be in band-0. This means, for any cell, a nearby cell will contain a long run of addresses which differ from an address in that cell by only a single word, greatly increasing the chances of confusion. Δm = 1 is the worst case but small Δm values occur for any a, b pair and lead to scenarios where runs of addresses in nearby cells share many common words. These effects reduce the effective address space from L3 to something significantly smaller and lead to many confusable pairs.

To see this I simulated four W3W cells with Y = 3396, X = 4316 and q = 0. In the first cell I found 685 confusable pairs. Simulating four neighbouring cells with q = i × 1, 485, 706 for i ∈ {0, 1, 2, 3} results in a roughly twenty fold increase in the number of confusable pairs to 11,173. Fig 2(a) shows the distribution of distances between confusable pairs across 4 band-0 cells, covering an area of roughly 14.5km × 4.5km. Many are quite close together. Fig 2(b) shows the locations of these confusable pairs (size exaggerated for visibility), coloured according to if there are Ne = 0, 1 or 2 words shared and in identical position between confusable addresses. As seen in (a) and highlighted in (c) and (d) there is a significant peak in confusable pairs separated by around 10km, which corresponds to Δm = 1.

Fig 2.

Fig 2

Top row: (a) Distribution of distances between confusable pairs across four adjacent cells. (b) Points are addresses with a confusion in one of the 4 cells (size exaggerated for clarity). Colour indicates how many words are shared between an address and its confusion. Dashed lines indicate XY-cell boundaries. Shaded areas indicate regions separated by Δn = 5, 083, 377. Bottom row: As top but restricted to only show confusions between 9 and 11 km apart. (c) is the distribution of distances which peaks at 9.9km, corresponding to Δm = 1. (d) Shows the disproportionate number of confusions with exactly two words in common between these zones.

As well as this peak, there are a large number of other confusable addresses within these 4 cells. Δm = 1 is the most extreme case, but any Δn giving a small Δm will reduce the effective address space. One should also consider Δn values that connect confusable rather than identical words, for example runs of addresses like await.v.w and awaits.v′.w′. As many potential word confusions exist, there are many ways to make these problematic pairs, and this will be the case for any constants a and b. Thus the effective address space is much less than L3 or even K3 and Eq 6 grossly underestimates the number of confusing address pairs.

Conclusions

This report has two main findings

  1. Most of the simulated W3W addresses have one or more word triples with which they could be confused. The AutoSuggest feature goes some way towards remedying this, but returns only 3 suggestions at a time and can only be restricted by country rather than say, region or county. I estimate 20–25% of addresses have more than 3 other addresses with which they could be confused, considering only homophones and typing errors. Thus it may be very difficult, if not impossible, to decipher a miscommunicated address with the current system.

  2. The simulations performed suggest that the likelihood of nearby confusable pairs is far in excess of the very low (1 in 2.5 million [29]) likelihood quoted by W3W. This is due to the address assignment algorithm, in particular the use of linear congruence for randomising the addresses.

The solution to the first problem is straightforward—increase the number of search results and/or allow the user to restrict the search to specific geographic regions. The AutoSuggest algorithm could also be improved to account for some of the other possible error types e.g. word transposition. The second problem is trickier, and has been pointed out before in [9], where many nearby confusable pairs were found. Since the W3W algorithm is proprietary and their tools, including the word list, are closed source, there is little opportunity for researchers to fix any of these issues. W3W ambiguity could be resolved by transmitting multiple addresses or spelling out the words, but then the main advantage of W3W, simplicity, is lost. Also in some cases e.g. a lost, injured hiker, this might not be possible.

What3Words is an interesting attempt at an addressing system that doesn’t use alphanumeric codes and is non-hierarchical. The use of words instead of alphanumeric codes is novel but, as shown, has high potential for ambiguity. It may be argued that alphanumeric codes have similar potential for confusion, however long developed practice reduces those issues e.g. UW63ABC → UW 63 ABC → “Uniform-Whiskey” “sixty-three” “Alpha-Bravo-Charlie”. Alphanumeric codes could also be much easier for non-native speakers and are less likely to be affected by accent and/or difficulties in pronunciation, since the sender and receiver are only using tokens from a very restricted set.

W3W addresses being non-hierarchical is crucial for minimising address confusion, but comes with some drawbacks. For example, it is obvious that the PlusCodes [30] PFQ9+6P7, PFQ9+6P8, PFQ9+6P9 are close together, while it is far from obvious that washed.expand.logs, poems.joke.urban, punks.nails.villa are neighbours. Being able to spot and use such patterns can be very useful for e.g. data analysts or, to go back to the lost hiker example, systematic searching. W3W has a terms of service which prohibits storing or sharing addresses and coordinates together under certain conditions ([18] section 4.3 and 5.5). In the worst case, if a large number of W3W addresses are recorded to be analysed later, this will require expensive and time consuming ‘rehydration’ using paid APIs. If only coordinates are saved, then this may require deleting the raw data, namely the W3W addresses themselves. A thorough exploration of these issues is beyond the scope of this work, but should be considered in any analysis of W3W for specific use cases.

There are numerous alternative addressing systems, to name a few of the more prominent ones: GeoHash [31], Natural Area Codes [32], Plus Codes (also known as Open Location Code) [30], the Military Grid Reference System [33] (for military applications) and the Maidenhead Locator System [34] (for amateur radio), which are potential alternatives to W3W. Some of these are quite well developed and supported, for example, PlusCodes are integrated into Google Maps and are made more user-friendly by substituting the top level information with standard place names and keeping the lower level for fine detail e.g. a PlusCode for the Exeter Computer Science Department is: UK, Exeter, PFQ9+6P7. For the lost hiker scenario I would suggest the OS-Grid Reference system as an alternative for UK applications. This is open-source, widely understood and, critically, printed on most maps. Yet another potential issue is that representing W3W addresses on paper maps would be quite difficult! Such fail-safes are necessary in emergency applications, where issues like dead batteries or water damage to phones and devices must be considered.

Contrary to what W3W claim [35], this work has shown that many confusable W3W addresses are likely to exist and has identified some serious problems with the W3W algorithm. However, while showing that many confusable pairs exist, this work does not show that they will be confused. If W3W, or any addressing system, is to become critical infrastructure, relied upon by emergency services and other key agencies, then claims for ease of use and reliability should be thoroughly examined and empirically compared to alternatives, from standard street addresses to post codes to newer systems, like PlusCodes. There is a large academic literature dedicated to evaluating, comparing and improving geocoding systems e.g. [1, 3640] which can provide guidance here. Until such an evaluation has been carried out I would caution against the widespread adoption of W3W, especially in applications with a noisy communication channel between sender and receiver. This work has tested some of the claims that W3W makes about their algorithm. These claims are not borne out under scrutiny which suggests that W3W should not be adopted as critical infrastructure without a thorough evaluation against a number of competing alternatives.

Supporting information

S1 File

(PDF)

Data Availability

The data and code used in this study are publicly available from the Zenodo repository (https://doi.org/10.5281/zenodo.8257690) and from the Github repository (https://github.com/rudyarthur/w3wanalysis).

Funding Statement

The author received no specific funding for this work.

References

Decision Letter 0

Hong Qin

15 Aug 2023

PONE-D-23-18725Studying the What3Words Geocoding SystemPLOS ONE

Dear Dr. Arthur,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

Please submit your revised manuscript by Sep 29 2023 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Hong Qin

Academic Editor

PLOS ONE

Journal requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at

https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and

https://journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

2. Please note that PLOS ONE has specific guidelines on code sharing for submissions in which author-generated code underpins the findings in the manuscript. In these cases, all author-generated code must be made available without restrictions upon publication of the work. Please review our guidelines at https://journals.plos.org/plosone/s/materials-and-software-sharing#loc-sharing-code and ensure that your code is shared in a way that follows best practice and facilitates reproducibility and reuse.

3. We note that you have stated that you will provide repository information for your data at acceptance. Should your manuscript be accepted for publication, we will hold it until you provide the relevant accession numbers or DOIs necessary to access your data. If you wish to make changes to your Data Availability statement, please describe these changes in your cover letter and we will update your Data Availability statement to reflect the information you provide.

4. Please amend either the abstract on the online submission form (via Edit Submission) or the abstract in the manuscript so that they are identical.

5. We note that you have referenced (Wood N. Autocorrect awareness: Categorizing autocorrect changes and measuring authorial perceptions) which has currently not yet been accepted for publication. Please remove this from your References and amend this to state in the body of your manuscript: (ie “Bewick et al. [Unpublished]”) as detailed online in our guide for authors

http://journals.plos.org/plosone/s/submission-guidelines#loc-reference-style

6. Please review your reference list to ensure that it is complete and correct. If you have cited papers that have been retracted, please include the rationale for doing so in the manuscript text, or remove these references and replace them with relevant current references. Any changes to the reference list should be mentioned in the rebuttal letter that accompanies your revised manuscript. If you need to cite a retracted article, indicate the article’s retracted status in the References list and also include a citation and full reference for the retraction notice.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Yes

********** 

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

********** 

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

********** 

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

********** 

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: Overall:

This is generally a well-written and well-organised paper that assesses the reliability of the What3Words geocoding application. The paper applies a convincing methodology to explore the potential for confusing different addresses – despite the W3W algorithm not being open-source. I have read the paper with great pleasure, and I only have some minor issues which I think should be addressed before publication.

Comments:

- Section 1 is a little confusing as it is explained that W3W uses a closed-source algorithm (p. 1) and when the aim of the paper is subsequently introduced it does not become immediately clear how it is possible to analyse the algorithm.

- The paper quite heavily relies on the idea that because W3W is widely adopted by emergency services, it needs to minimise any source of confusion (Section 1). This is supported by a reference that 85% of emergency services in the UK use W3W as well as that there is a website devoted to W3W issues. However, the “85%” is a claim made by W3W themselves (without a reference) and the dedicated website has not been updated in over a year – it also only received a handful of updates in 2022. The paper would benefit from some further justification or further statistics, where possible, on the general adoption of the W3W application (i.e. in Section 1).

- The description of the W3W application (Section 2) is very technical, which is fine, but it would benefit from a bit more of a general explanation how a user would interact with the application, for instance, in case of an emergency. I think a simple map showing part of the grid with associated words would be beneficial before moving on to the details of the algorithm.

- The description of how the word list is created (Section 3.3) could be improved in clarity. Why is ‘D(150)’ selected rather than, for instance, ‘D(1000)’ or ‘(D200)’. Perhaps some sensitivity analysis would be helpful as this seems to have quite an impact on the size of the confusion set?

Minor comments:

- Table 1: ‘tree’ and ‘three’ are homophones my accent but not in others. This sentence seems to be incomplete.

- “However in practice many can be found and, as mentioned in Table 1, homophony is dependent on accent and it is unlikely that all homophones across all regional accents, even in the UK, can be removed.” (p.4). Is there any way to include a (rough) estimate on how many homophones are likely to be included in the W3W word list?

- “…only lower case words which appear at least 3 times in the corpus of [19] are kept.” (p.5). It is not clear to me how words can appear multiple times in a frequency-based word list?

- “Generate the set of all strings that could be formed by making the typing errors listed above to make Ct(w).” (p.5). How exactly?

- Figure 2b is not really clear and I find it difficult to interpret. Perhaps this would work better for a smaller area?

Reviewer #2: PONE-D-23-18725

Studying the What3Words Geocoding System

Review

The paper presents an initiative to assess important characteristics of the What3Words (W3W) geocoding system, in face of anecdotical evidence of confusion involving 3-word addresses, composed of common English language words, provided by the system.

Since W3W is not open software, nor does it open its reference data (specially the list of words used to compose the 3-word addresses), a direct investigation would require executing a large number of accesses, in order to gather actual W3W data. These accesses have a cost, so the author instead devised a strategy to simulate the W3W algorithm and list of words, in order to perform the intended analyses. Furthermore, as the terms of use do not allow storing addresses along with their coordinates, even if large numbers of accesses were free, an external analyst would have trouble in devising a fair assessment method.

As a result, readers should keep in mind that the analyses presented in the paper do not actually refer to W3W as an online service, but to a simulation of W3W based on what is known about its basic working logic, algorithms, and word selection strategy. The title and many statements along the text should reflect this fact. The paper’s title, for instance, could be changed to something like “A simulation and critical analysis of the What3Words geocoding system”.

In the path towards creating a W3W simulation, the author makes a number of assumptions, especially on the constitution of the list of words that are indexed by the method. In the paper, a text corpus is used to obtain a list of English words along with their frequencies, from which words with less than 4 characters are discarded and the most common remaining ones are selected. The actual selection process in W3W is unknown, but (again) anecdotical evidence is used to show a number of issues, such as the use of plurals, similar-sounding groups of words, spelling variations and more.

The paper shows the occurrence of the types of confusion that might happen in actual W3W addresses, and demonstrates that they occur quite frequently in the simulated setting, with the selection of words devised for this study (not the actual W3W list of words). Given the size of the corpus, the number of words in the list, and the publicly known characteristics of W3W, the simulation seems fair, but its conclusions are more directly applicable to the simulation, rather than to the actual service. Conclusions, therefore, are indirect – and, of course, there would be no other way to draw more precise conclusions, other than by having access to the actual W3W code and data, or maybe a large number of queries to the system.

The indirect conclusions are not a problem per se, but naturally there remain some additional doubts regarding their applicability to the actual service. The qualitative assessments presented as conclusions could be strengthened if verified using the actual service. This, of course, would require acquiring a license to use W3W for some time period. I list below a few possible strategies for doing so:

1. Randomly select W3W addresses, and verify their vicinity in search for nearby confusing addresses up to some maximum distance. Verify if the results fall within the probability determined in the simulation.

2. Generate a number of confusing addresses from the simulation data, and check for the existence of the confusing versions in actual W3W; then verify their distance.

Example: small.dark.places (mentioned as an example in the paper) exists in Edinburgh, UK; dark.small.places exists in Illinois, USA. Large distance, not a problem.

3. Pick a pair of words for the first two positions, and then vary the third using words from the simulation list. Analyze the spatial distribution of the valid results.

Given, however, the stated limitations of this study, the simulation approach is adequate and the paper effectively shows weak points and potential problems with the W3W algorithm and related data. I suggest revising the phrasing on some claims, assessments and estimations, in order to make it clear the extent to which the simulation is expected to accurately replace the behavior of the actual system.

I also would like to point out the importance of making these evaluations widely known since, while agreeing with the author’s admonitions against the use of W3W by voice over noisy channels, I can clearly see that W3W can be improved based on the systematic characterization of its potential problems. Various alternatives come to mind, but I’ll refrain from mentioning them here, as solutions are not within the purview neither of the paper, nor of the review.

Localized issues, questions, suggestions:

1. Abstract: … for being less reliable THAN claimed (typo)

2. Section 4: W3W’s claim on the overwhelming proportion of similar-sounding word combinations being far apart cannot actually be verified in the simulation, so I suggest rephrasing the second sentence. Also, your observation that the autocorrection feature “seems to balance address similarity with prior information about places” should be better explained. Did you verify that suggestions are of addresses near the user?

3. The lost hiker scenario could possibly be resolved if the hiker transmits two W3W addresses, e.g. for neighboring cells. Chances of a mistake in both of them at the same time, directing responders to a different nearby place with the two distortions close to each other should be very low. Of course, transmitting too much defeats the purpose of using W3W in the first place: it then could be better to spell out each digit of the lat and lon coordinates, or to spell out each letter of each of the three words using ICAO (alpha-bravo--charlie-)…

4. Page 16, first paragraph: “I generated three W3W cells…” -> “I simulated the composition of three W3W cells using the word list from Section 3.”

5. Conclusions: “Most W3W addresses have one or more word triples with which they could be confused” -> Most of the simulated W3W addresses tend to have one or more triples… or Simulation results indicate that addresses created using the W3W method have one or more…

6. Conclusions: “is far in excess of” -> simulation indicates that the likelihood of…

7. Page 17, “Departement”-> Department (? typo)

8. Conclusions: “…this work has shown that many confusable W3W addresses exist…” -> many confusable W3W addresses are likely to exist.

9. Conclusions: “This work has tested some of the claims that W3W makes about their algorithm. These claims are not borne out under scrutiny which suggests that W3W should not be adopted as critical infrastructure without a thorough evaluation against a number of competing alternatives.” I totally agree with these statements.

********** 

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: Yes: CLODOVEU A DAVIS JR

**********

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2023 Oct 25;18(10):e0292491. doi: 10.1371/journal.pone.0292491.r002

Author response to Decision Letter 0


19 Aug 2023

I have included my responses to the queries raised in the "Response to Reviewers" document and updated the MS accordingly.

Attachment

Submitted filename: Response to Reviewers.pdf

Decision Letter 1

Hong Qin

22 Sep 2023

A Critical Analysis of the What3Words Geocoding Algorithm

PONE-D-23-18725R1

Dear Dr. Arthur,

We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements.

Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication.

An invoice for payment will follow shortly after the formal acceptance. To ensure an efficient process, please log into Editorial Manager at http://www.editorialmanager.com/pone/, click the 'Update My Information' link at the top of the page, and double check that your user information is up-to-date. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

Kind regards,

Hong Qin

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #1: All comments have been addressed

Reviewer #2: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: The author has been very responsive and I am happy with the changes that have been made to the manuscript. The worked example on how the word list was created is very helpful and the changes to Figure 2b are great and (again) very helpful. I also appreciate the efforts in conducting a sensitivity analysis to support the D(150) threshold. I am looking forward to seeing the article in print.

Reviewer #2: The paper presents an initiative to assess important characteristics of the What3Words (W3W) geocoding system, in face of anecdotical evidence of confusion involving 3-word addresses, composed of common English language words, provided by the system. The analysis cleverly avoids the closed parts of the W3W system, and simulates them according to information available on the patent. The result is convincing, and presents a sound discussion on specific aspects of the algorithm and service. The conclusions may be used as a set of guidelines to improve on W3W ideas, possibly to develop a better alternative system in the future.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: Yes: Clodoveu Davis

**********

Acceptance letter

Hong Qin

26 Sep 2023

PONE-D-23-18725R1

A Critical Analysis of the What3Words Geocoding Algorithm

Dear Dr. Arthur:

I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.

If your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.

If we can help with anything else, please email us at plosone@plos.org.

Thank you for submitting your work to PLOS ONE and supporting open access.

Kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Hong Qin

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    S1 File

    (PDF)

    Attachment

    Submitted filename: Response to Reviewers.pdf

    Data Availability Statement

    The data and code used in this study are publicly available from the Zenodo repository (https://doi.org/10.5281/zenodo.8257690) and from the Github repository (https://github.com/rudyarthur/w3wanalysis).


    Articles from PLOS ONE are provided here courtesy of PLOS

    RESOURCES