A computer implemented method of constructing a social network, the method including constructing the social network from a plurality of disparate, heterogenous data sources, wherein at least one of the plurality of disparate, heterogenous data sources includes a user generated data source; identifying a plurality of nodes and linkages; determining attributes of the nodes and linkages based on a plurality of disparate, heterogenous data sources, wherein the plurality of disparate, heterogenous data sources includes a combination of the user generated data source and at least one non-user generated source, wherein the attributes include at least one of a deterministic attribute, a probabilistic attribute, and a dynamic attribute; populating a mathemetical decision-making model based on the plurality of nodes and linkages, and the determined attributes of the plurality of nodes and linkages; determining attributes of the nodes and links at a second point in time; re-populating the mathematical decision-making model based on the plurality of nodes and linkages, and the determined attributes of the plurality of nodes and linkages at the second point in time.