The Weird Node Is Not Always The Loud One
A lot of anomaly detectors chase degree because hubs and isolates are the easy catch. What they miss is the quieter failure: a node with a perfectly ordinary number of connections, all of them pointed at the wrong kind of neighbor.
graphpulse plants exactly that kind of anomaly on purpose. The graph has communities, features, and nodes that look completely normal by degree while their neighborhood is quietly telling a different story.
Score The Disagreement, Not The Popularity
The detector compares each node's own features to its neighborhood average, adds a small cross-community signal, and keeps the whole scoring function simple enough to audit in one sitting.
This is not trying to out-leaderboard a GNN. It is the sharp, honest baseline you check for heterophilous anomaly structure before you spend a training budget proving a bigger model was necessary.
The Number
Degree baseline AUC is 0.196, worse than a coin flip, proof that popularity is not the same thing as suspicion. graphpulse AUC is 0.938, a 0.741 point gain on a graph with 96 nodes and 394 edges.
3 tests pass locally and on GitHub Actions across Python 3.9, 3.11, and 3.13.