20. A computer-implemented method for clustering data reflecting users, represented as a set of (data, user) pairs, into a hierarchical data structure including a root node successively split to produce a plurality of sub-nodes, wherein each sub-node represents an action that is performed on a document collection, comprising: accessing a user data collection reflecting a plurality of users who each perform at least one action on the document collection, wherein each action may be unique; performing a clustering process that creates the hierarchical data structure, wherein the clustering processing comprises: retrieving a first user data, associated with a first user, from the user data collection, associating the first user data with a first sub-node based on a first action performed by the first user on the document collection, and associating the first user data with a second sub-node provided the first user data is based on a second action, wherein the first and second sub-nodes are associated with different descendent paths of the hierarchical data structure at the same time; storing a representation of the hierarchical data structure in a memory; and making the representation available to an entity in response to a request associated with the user data collection.
21. The method of claim 20 , wherein each action in the one or more actions includes: writing to, printing, and browsing the document collection.