The crystal ball should show whether the site contains affiliated links, which should be one of the signal that the site has commercial intent.
One possible edge case is discussion forum type where UGC content may contains affiliate links but it's not the site owner's policy to do so. Maybe flag the site as less severe if there are multiple affiliate codes? It's not abuse-proof though.