You could have each subscriber "produce" a new message once it's received the original message and send that to a new SNS topic. From there, set up an SQS that subscribes to that SNS topic and have your application/script read from that SQS and check for all 3 messages from each of the subscriber's. Once it has all 3 messages, delete the messages, and then continue processing/generating metrics.