You are correct - if you just look at the indicators they are aggregated at the delivery level and can't be broken down to the recipient level.
You will want to refer to the nms: broadLogRcp (recipient delivery log) which has a field, "status". You can do a distinctCount on the number of broadLogIDs grouped by delivery to get a count of the number being sent.
The next thing you would want to look at is the nms: trackingLogRcp (recipient tracking log). If you break out the URL types into opens, and clicks and do distinct and total counts you can get the number of opens, clicks, optouts, etc... grouped by delivery.
Looking at your table, though, you'd want to group it by deliveryID and broadLogID instead. The broadLogID should be specific to a recipient, so you could definitely add recipientID to the schema as well.
Additionally, I think its easiest to query each table on its own, add data or enrich to create your matching schemas, then union all the values you need, and then group as necessary.