I'm not really sure how to think in those terms.
In publishing, we often had vendors offer to give us X,Y,Z to monetize traffic and they would do a 50/50 profit sharing. Sometimes it went to 60/40.
In your case, you're saying "We're going to bill % of subscription fees", but i'm not clear on how your software fits in. Are they just planning to resell your product and then you're getting a cut of that ? If that's the case, 20% sounds low -- you're really talking about an 80% sales commission.
The two sales notions that I keep thinking of are:
a) As far as they're concerned, your product should be done; you should be charging Professional Services fees for integration and customization. Ideally that's done so at a profit , so you underwrite the costs of internal projects/maintenance/other costs.
b) I'm not comfortable with the idea of developing a bunch of software for someone on the promise of revenue by them reselling subscriptions. You mentioned that the project could be abandoned at any point ? Do you have an exclusive contract , where they won't develop something in-house or use a competitor for X years ? Do you have a contract where they guarantee Y number of sales ?
I'd honestly push for professional services fees to customize your algorithms for their requirements and APIs for integration, and also insist on a "kill fee" -- if they drop the project or go with a competitor, you're awarded something. If you can't get that, I'd question whether or not this deal is worth it.
Usually kill-fees will be something like "pro rated project budget, not to be less than 75% of total budget" or that + the projected revenue for X months. As a quick example -- if you sign a contract with Akamai, they want 75% of your bandwidth for the year; and maintain rights to bill at the contract rates for the difference between their carriage and that 75% level; if you want to exit the contract, it's cheaper to pay their minimum monthly billings and hope they don't ask for more money, than it is to negotiate an exit ( where they will forecast what their bills should be ). Google(DFP) and Adobe(Omniture) do the same exact things.
Also, I'd definitely start talking to their competitors and be ready to play groups against each other. If you can't get a good deal, and decide to pursue because you had an interested investor, you'd still need to be able to quickly sell your product to any of their competitors on a moment's notice.