Disclaimer: I have no slightest idea about economics. And I'm not sure the following is a good idea. So, don't listen to me.<p>As I get it, you probably want to let users start for free when their requirements are small, and start changing as they grow. I suppose everyone has different needs, though — some value ability to spawn a dozens of tiny private repos, but some want just one for a relatively large team.<p>Then — just a wild idea — maybe assign some value for resources and services you provide and give a quota of what's free? Say, maybe, the formula could be repository count multiplied by collaborator count, so mediocre usage will stay under the threshold, raising either repo count or collaborator number alone (possibly, until the number is sufficiently large) still wouldn't be enough to leave the free tier, but raising both would nearly instantly require paying for your services. Something along those lines.<p>This probably could be confusing to customers (although some flexible cloud providers seem to deal with it with those fancy price calculators page with resource sliders), but maybe you'll think something. Or not.<p>And it certainly depends whenever your customers actually want such flexibility and there's enough diversity of use cases among them. Maybe they don't care and everything fits into something simpler. Then, for me, I think it's BitBucket's model — even though most of my repos are public (and are on GitHub), I have two private ones (on BitBucket), with no collaborators.