In this paper, we propose a modification to generalized density based clustering algorithm (GDBSCAN) to deal with fuzziness in the values describing the population demographics and the preferences for ATM location among customers utilizing the ATM services. The modified version of GDBSCAN clustering algorithm, which we call GFDBSCAN, is used to cluster people around key socio-economic parameters. GFDBSCAN can also be used to cluster geographical regions based on the requirement and preferences expressed by the customers for services like business outlets, ATMs, bank branch operations, public utilities, etc. We apply the proposed algorithm to cluster geo-spatial data based on personal traits of people living in the geographical area under study. We measure and compare the performance of GFDBSCAN with other popular clustering algorithms using Silhouette coefficient, Dunn index and Davies–Bouldin index. We plot the clustering results on Google maps for better visualization of results. We found that GFDBSCAN is better able to cope with fuzziness in the values of both spatial and non-spatial attributes. We finally use voronoi diagrams to identify the ideal locations to place ATMs so as to ensure that the customers’ preferences are served and, at the same time, the service area of each ATM is optimized.