Database
[{BusID:"1001",delayMinutes:"15.0",City:"LA"},{BusID:"1004",delayMinutes:"3.0",City:"PA"},{BusID:"1001",delayMinutes:"20.0",City:"LA"},{BusID:"1002",delayMinutes:"6.0",City:"CA"},{BusID:"1002",delayMinutes:"25.0",City:"CA"},{BusID:"1004",delayMinutes:"55.0",City:"PA"},{BusID:"1003",delayMinutes:"55.0",City:"KA"},{BusID:"1003",delayMinutes:"5.0",City:"KA"},]
Query
db.collection.aggregate([{$addFields:{A:1,B:{$cond:[{$gt:[{$toDouble:"$delayMinutes"},10.0]},1,0]}}},{$group:{_id:{BusID:"$BusID",City:"$City"},A:{$sum:1},B:{$sum:"$B"}}},{$match:{$expr:{"$gt":["$B",0]}}},{"$addFields":{"C":{"$divide":["$A","$B"]}}}])