M.S. Applied Data Science - Capstone Chronicles 2025

24

Results and Findings After evaluation, the final graph (physical) used to construct dynamic map outputs consisted of 8,523 nodes with 6,092,856 edges, after removing isolates. This graph retained all physical cross-shopping edges and applied a minimum weight threshold of 0.25, which reduced noise and improved computational performance. A full graph structure was applied because constructing a full graph with all known locations is more performant for business use cases (e.g., API deployment). This allows for downstream geographic filtering to be applied on the complete graph, rather than requiring graph reconstruction for each query. This geographic filtering implementation generates a subgraph by selecting nodes in a set mile radius of a location node of interest. Global community detection performed poorly with a Louvain modularity score of 0.134 and Leiden score of 0.094. As such, community detection is applied at the subgraph level. When applied to localized subgraphs, these filtered area graphs better capture the spatial and consumer behavioral physical cross-shopping patterns. This also aligns with how consumers actually navigate retail environments in their own communities. Figure 8 provides an example output from our community detection model and interactive map for Philz Coffee in Encinitas. Edges are shown between nodes as lines between locations, representing cross-shopping flows between businesses. Communities detected through a specified algorithm, in this case Louvain, on this filtered subgraph are color coded. This allows Philz to identify competitors (businesses in the same community and category) as well as possible cross-category brand partnerships for those outside the direct category. Complementary brands can also be detected as those outside the same community but geographically relevant. Tool tips provide additional attributes for each node and supplemental pageranked lists are also

232

Made with FlippingBook flipbook maker