Systems and methods for entity recommendation can make use of rich data by allowing the items to be recommended and the recipients of the recommendation (e.g., users) to be modeled as “complex entities” composed of one or more static sub-entities and/or a dynamic component, and by utilizing information about multiple relationships between the sub-entities as reflected in bipartite graphs. Generating recommendations from such information may involve creating vector representations of the sub-entities based on the bipartite graphs (e.g., using graph-based convolutional networks), and combining these vector representations into representations of the items and users (or other recipients) to be fed into a classifier model.