It sounds like you need a clustering algorithm (eg. K-means clustering) first, followed by a hull (convex hull, but a concave hull may have a smaller area but more difficult to implement).
you can check out k-means clustering algorithm here.
In data mining, k-means clustering is a method of cluster analysis
which aims to partition n observations into k clusters in which each
observation belongs to the cluster with the nearest mean. This results
into a partitioning of the data space into Voronoi cells.
kmeans-postgresql implementation here.. and i newly meet this topic Spatial clustering with PostGIS , you can check out here from @Mike Toews with ST_MinimumBoundingCircle function..
Best Answer
The Concave Hull plugin adds Shared Nearest Neighbor Clustering to processing