GAAP accounting works on the principle of revenue recognition. Though a contract might have been signed and the money wired to your bank account, you don’t get to count that as revenue until you've earned it. To earn it, you actually have to deliver the service you promised.
That 'delivery' aspect is the foundation of GAAP accounting.
In traditional software companies, delivery of the software was a one-time deal. You delivered the software in a single delivery, were paid, and could recognize the revenue immediately.
For instance, you brought out a new version of your software in January. You can recognize that revenue the moment you receive cash in return for product:
For a SaaS company, however, the delivery is ongoing. You are delivering a portion of your software every day throughout your customer’s subscription period. Delivery in this case could mean having your app available to customers throughout their subscription term, as well as delivering consultancy services, support, or anything else you agreed, making earning revenue and delivering your service more complex and an ongoing concern.
If you get paid to provide a service for a month or a year, though you receive the money immediately, it can only be recognized as revenue gradually, each month that you provide the service for the prescribed time.
When things are simple, GAAP and SaaS metrics look similar. If you are recognizing revenue monthly (technically, it should be rated daily for the period you are delivering the service) then your revenue and MRR will likely be identical. In the above example, the monthly recognized revenue and the MRR are both $1666.67.