Postcode or Radius: Which Works Better for Matchmaking?
A standard feature of online platforms is location-based search. The two most common approaches are postcode-based search and radius-based search. But what happens when you try to combine both?
Mixing radius and postcode search can lead to inaccurate or misleading results, because postcode areas have irregular shapes and a radius may only partially overlap a given postcode.
The Problem: Postcodes Meet Radius
We were presented with an interesting challenge: a job is posted on a platform with a specified location and a desired work radius. The system should then automatically determine which postcodes fall within that radius and assign them to the job listing.
The difficulty is that postcode areas often have irregular shapes, and a given radius may only cover parts of a particular postcode.
For example, if a job is posted in 53111 with a radius of 5 km, that radius may overlap parts of 53119, even though most of 53119 lies outside the radius. A job seeker from 53119 could then see the job as available, despite it not actually being in their area.
Three Recommended Approaches
Rather than mixing postcodes and radius, we recommend one of the following approaches, depending on your requirements and budget:
A purely postcode-based search without any radius component. It can be implemented without external APIs or geocoding, making it affordable, straightforward, and sufficient for many use cases.
Users enter their exact location and a desired maximum distance. The platform then shows results available within that radius. This approach is precise and easy for users to understand.
The Google Maps Distance Matrix API makes it possible to calculate travel times using different modes of transport. This lets users filter for jobs reachable by public transit within one hour, for example.
Mixing postcode and radius search is not recommended, as it can produce unexpected results. Always communicate clearly how matching works.
Conclusion
A location-based search should deliver transparent and accurate matching results. To achieve this, clearly communicate how matching works: either exclusively based on the user's location and a set radius, or exclusively at the postcode level.
Below is a simple example that illustrates the problem using real addresses.