initial work on product self_join and associated calcs