I will try. ROI depends on number of MN's, coin price, reward for one block and how often block is solved during the day. Assuming we have one MN you will get each reward from block assigned for MN. so ROI for that case is 1 day. Increasing only number of MN's we decrease number of reward for one MN.
this is example from Innova debug console:
masternode winners
{
"27305": "i6E4ymouK39PrLyZsJe4y8H23dPZDMzyCu:10",
"27306": "iNG3cDGoyeJbkNu6VVah8CxywjPxwM6Vmx:2, iBQ8URSXmBXyDBwSrZPyszoJ6PEop1hgSv:7",
"27307": "iD1q4wVXSR8ZkjBFNSvDed2NjoYk6UPMoA:9",
"27308": "i6ZLwfdrv2Hqq2Hgu1ja51U93ux6mRYjNH:9",
"27309": "iGdHvf4dgL4o6zLmBrjohHqyNFW9iGodQ3:9",
"27310": "iGdHvf4dgL4o6zLmBrjohHqyNFW9iGodQ3:10",
"27311": "iPP2bJbJCcHvKbKTK22WUYDqDTkpT3gmiN:9",
"27312": "i8v3UetpcaLCWYFhPGAQA7mQiWzheiYn1p:10",
as you can see rewards are assigned for each MN and when block is solved MN gets his reward.
ROI is changing all the time because coin price, MN number is not fixed. you need to take ROI calculation as temporary value.
2 days ago many Innova MN expired and ROI was increased very high, now everything gets back to normal.