I'm trying to figure out how much complexity I can get away with and am looking for model recommendations.

I have transactional data on hand - the features being customer id, customer balance, transaction amount, transaction date/time, receiver id (possibly a company), company_type (if a company).

So I would like to represent this as a graph - nodes being entities (customers and companies) and edges being transactions.

So the nodes have features (balance, other customer information) for both customer nodes and company nodes (company type is the only feature for companies) and the edges have features (amount and time). Note that most edges (transactions) are between customers and companies, some are between customers only.

So this is a time evolving (mostly) heterogeneous graph with both node and edge features!

I would like to know what kind of algorithms are at hand here. I am thinking of clustering algorithms (i.e, trying to isolate the 'consumer base' for each company, etc) or link prediction (for recommending stores to customers). But I am struggling to consider all of these features at once.

So far I am losing the time dimension and instead creating a transaction frequency instead as a new edge weight on transactions. Then I am losing the heterogeneous aspect and just creating one node type with a categorical feature for customer/company.

Now I was thinking of running something like k-clique algorithm on this for clustering.

This should work but is pretty basic and I was hoping for something cooler like a Temporal-Graphical Convolutional Network.

If anyone has any recommendation on what to use or what to look at here, that would be great!



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.