NFT Staking Reward

Hello, everybody.
I want to developer NFT staking platform.
Users will stake their NFTs to certain pool (with their ADA)
(But I don’t want to lock their NFT, they can transfer NFTs as they want)
And they will receive reward in native tokens (not ADA, custom Token)
Here, NFT they staked works as a perk in calculation of rewards.

How can we calculate this reward exactly, fairly, like the Cardano Staking pool reward calculation (but it is too complicated)?