When the data is presented in an unstructured format, such as a log file, I may utilize a scripting language like Python to parse and analyze it. from collections import defaultdict # Assume calls is a list of tuples (caller, receiver) representing each call calls = [("User1", "User2"), ("User1", "User3"), ...] call_dict = defaultdict(set) for call in calls: caller, receiver = call call_dict[caller].add(receiver) users_3plus_calls = [caller for caller, receivers in call_dict.items() if len(receivers) >=3 ] print('Number of Users who have called 3+ users: ', len(users_3plus_calls)) In this demonstration, we employ a defaultdict that uses sets to gather unique receivers for each user. Subsequently, we tally how many users have made calls to three or more distinct users. This example presumes that the data is formatted in a way that a Python script can easily process.