Cool. You can use a myriad of technology combinations to reach those goals. I'd next think about the type of developers you would come across in your area and what the salary ranges are. This will help you understand your business, timing, and finances better. As they relate to your technology/app/site/code/tool/dashboard/product. How easy is it to find and replace talent? Expect to replace talent in a startup. People will come and go or you'll be forced to sadly get rid of people. Happens.
So stay flexible. I'm not sure where this PHP hate is coming from and this push for Ruby. I would argue that Ruby is a dying language that's finding it increasingly difficult to differentiate itself (PHP and Node.js are eating into Ruby's distinguishing purposes from opposite directions). While it was an important part of internet history here, the fact of the matter is major companies and early supporters are moving away from it and on to other languages. This means you'll see less Ruby developers in the future and they will likely be more expensive as a result. Not a very wise business decision if you plan to stick around for a while. Again this has absolutely nothing to do with what you can or can't do with Ruby as a language. I'm trying to shed light on how our technology choices affect our business. Stay flexible and open to things.
Of course, if you have a ton of Ruby developers in your neck of the woods, then it may make sense to use it. Just understand why you're choosing a language. It goes so far beyond the technical aspect of things.
I just don't think Java or .NET is agile enough for a startup to be frank. PHP, Node.js, and Ruby are all web languages geared for rapid application development. Java and .NET are geared for the inefficient and slow corporate world that can support teams of 50+ people building a simple web app. Boggles my mind how that happens.
So I'd highly suggest sticking to Node.js or PHP to be honest. Sure Ruby too, I'm not hating on Ruby...But do your research and see what the developer market is like in your area. There's all types of developers all over...But you really may be in a weird pocket that has an abnormal amount of developers who are savvy with a certain language. I'm puzzled how this happens, but it does...Look at job boards.
I would suggest MongoDB for a lot of your data, but when you get to billing - if you aren't using something like Stripe's service you will likely want a transactional database. No reason you can't use multiple databases!
As far as your report engine, MongoDB is a fine fit there. Should you have heavy duty aggregation needs and the aggregation framework within MongoDB is not enough, nothing is barring you from Hadoop. You can also migrate to some Amazon Web Services for your data warehousing and aggregation needs just fine from MongoDB. I'd also suggest looking into Elastic Search for your reporting. It's a search engine and so much more.
One last reason I suggest AngularJS is because you may also want to use Elastic Search. Throwing your data set into that can do wonders for you and your database costs. And... Kibana to the rescue: http://www.elasticsearch.org/overview/kibana/
The real time reporting dashboard that Elastic Search and Kibana bring you, especially for the amount of setup time, is just sexy sex.
Again, this is just one approach out of many possible approaches. For what it's worth, I build many custom CMS' and dashboard tools with visualizations and work with big data. A lot.