💬 RevOps Discussions

JMayhew6
Contributor

Dealing with Variable Monthly Revenue From Customers

SOLVE

I can't be the first CRM manager to encounter this situation, and if anyone else has figured out a system for dealing with this, I would be most grateful for any wisdom you could share. 

 

I've managed HubSpot for several different SaaS companies, but I have yet to try and manage HubSpot for a company with such a complex revenue stream as I am now. Rather than dealing in static, annual subscriptions, our monthly revenue from customers is based on the number of 'seats' that they are using in a given month; this is something that can fluctuate month-to-month. 

 

We want to have revenue accuracy and transparency stored and available in HubSpot, and we want to be able to report against it. (i.e. show forecasted revenue goals agains actuall MRR). However, at the moment, HubSpot seldomly matches our revenue numbers recorded on our Mothership platform (which contains accurate, up-to-date revenue information.) 

 

Sales reps are only expected to track the first deal for a new company, and then any additional deals that exceed $10K. However, what they are projecting a deal to come in at is often not precise, since customers often adjust their seat counts. We do not expect our sales reps to track the MRR for their clients. In point of fact, it would be a full time job just to keep track of that, if not impossible, given how frequently it may fluctuate. But we do want our sales reps to trust the numbers they see in HubSpot, and we want our sales managers to be able to rely on it for accurate reports. 

 

We are able to set up an integration and port over any and all revenue information into HubSpot, however we are still trying to decide what form that should take. Creating a deal for each month of revenue seems as though it would make things very overcrowded. In addition, if Deals had some properties that were being automatically updated by Mothership, and other properties being manually updated by sales reps (such as 'anticipated close date', for example), this seems as though it could get messy. 

 

We have also considered creating a new, custom object (tentative title "Invoice Object") which would contain all of a customer's revenue information to-date. This would ensure we would have accurate, comprehensive data and we would be able to generate reports off of this object. However, this leaves us wondering how, precisely, we should then approach our use of deals (if at all.) If the invoice object reflects the actual, up-to-date revenue, then our deal pipeline simply serves as the sales reps best estimate/forecasting for revenue, but ultimately the revenue listed on any deal 1.) Likely not fully accurate, and 2.) should eventually be overridden by the revenue information provided by the invoice object. It seems as though deals would almost be rendered superfluous at that point. 

 

Sorry if this explanation is long-winded and this problem overly complex. But, I think it is unavoidably a very complex issue. Ultimately, our end goal is that we want HubSpot to accurately report on revenue and we want our sales teams to feel like they are getting the information they need. 

 

If anyone has had to manage a similarly complex revenue stream and has figured out an elegant means of doing so, thank you in advance for the advice! 

1 Accepted solution
HubDoPete
Solution
Guide | Gold Partner
Guide | Gold Partner

Dealing with Variable Monthly Revenue From Customers

SOLVE

Hi JM and thanks @MiaSrebrnjak for the tag

 

You're right, this is a common scenario for a subscription business where revenue fluctuates monthly.

 

A couple of common approaches come to mind:

  • Subscriptions which have flat rate service plus a variable amount (think mobile plan plus talk minutes) inject monthly usage data into the total and report on them within total revenue. They also often allocate the amounts differently to retiring sales quota because margins vary. It sounds like you do not have a flat rate plus fluctuation price model, but if you do, factor that in too.
  • Deals are not a good method of tracking month to month subscription revenue. It's better to treat deals as a representation of pipeline deals through to won/lost. The Won deal closed value should reflect a value based on a business rule. HubSpot does have guidelines for using Deals to track MRR but it's better for annual changes. In your case you would be recycling deals every month. It's adding friction and little value.
  • Better to treat a different object as the record of revenue billed in a prior month, and that can capture the split between flat and usage-based (if any). That is ideal as a custom object, which you have already thought about, so you are on the money there.
  • Alternately, if you want to see it in HubSpot, is that just for reporting purposes, or is the data needed to drive other business logic inside HubSpot? If reporting, perhaps leave the objects where they are (probably in your accounts/revenue system), create reports from that system and iFrame them into HubSpot Reporting. I would really question why those payment records must be replicated in HubSpot, but if it does, I'd go custom object.

HubSpot's an excellent single source of truth but doesn't always justify the need to replicate purpose-built tools that integrate with it. I hope that helps. You're certainly not alone in solving it. 

 

best

Pete

View solution in original post

8 Replies 8
CP12
Member

Dealing with Variable Monthly Revenue From Customers

SOLVE

Hi @JMayhew6 

 

i am facing the same issue and was wondering if u have been able to find a solution to yours.  Our company has an annual deal however the invoicing is doen monthly and is a variable amount dependant on usage. We are into digital advertsing and the amounts are rarely the same. Currently we craete additional properties for each month to be able to track, and it is a tedious, time consuming task.

Any guidance will be appreciated.

 

Cheers

 

Chetna

0 Upvotes
AEhat
Member

Dealing with Variable Monthly Revenue From Customers

SOLVE

Hi JMayhew6,

 

I am in a very similar situation to you and haven't yet found a solution I really like.

As of now, I am considering creating custom properties for each of the month of the year, in which I could enter variable forecasted or boooked revenue for each applicable month - this would require monthly updates for both open and earning deals, but I think would meet this need?

 

I was curious what you decided to do here and also your thoughts on my potential solve.

 

-Alex

0 Upvotes
johnelmer
Top Contributor | Elite Partner
Top Contributor | Elite Partner

Dealing with Variable Monthly Revenue From Customers

SOLVE

@JMayhew6 This use case is quite common.  HubSpot has dramatically improved its reporting over the past few years. But in general, it's faster and easier to use BI software (Power BI, Tableau) for what you want to do. Connectors are readily available from HubSpot to both, and chances are good that your revenue platform has connectors. You can embed the dashboards inside HubSpot. This can be an inexpensive interim solution or a permanent one.

Did this post help solve your problem? If so, please mark it as a solution.






John Elmer, CEO
Bayard Bradford

Advanced CRM Implementation | HubSpot Custom Integration Services | Datawarehouse.io Apps for HubSpot
Elite HubSpot Solutions Partner
> Follow me on LinkedIn
HubDoPete
Solution
Guide | Gold Partner
Guide | Gold Partner

Dealing with Variable Monthly Revenue From Customers

SOLVE

Hi JM and thanks @MiaSrebrnjak for the tag

 

You're right, this is a common scenario for a subscription business where revenue fluctuates monthly.

 

A couple of common approaches come to mind:

  • Subscriptions which have flat rate service plus a variable amount (think mobile plan plus talk minutes) inject monthly usage data into the total and report on them within total revenue. They also often allocate the amounts differently to retiring sales quota because margins vary. It sounds like you do not have a flat rate plus fluctuation price model, but if you do, factor that in too.
  • Deals are not a good method of tracking month to month subscription revenue. It's better to treat deals as a representation of pipeline deals through to won/lost. The Won deal closed value should reflect a value based on a business rule. HubSpot does have guidelines for using Deals to track MRR but it's better for annual changes. In your case you would be recycling deals every month. It's adding friction and little value.
  • Better to treat a different object as the record of revenue billed in a prior month, and that can capture the split between flat and usage-based (if any). That is ideal as a custom object, which you have already thought about, so you are on the money there.
  • Alternately, if you want to see it in HubSpot, is that just for reporting purposes, or is the data needed to drive other business logic inside HubSpot? If reporting, perhaps leave the objects where they are (probably in your accounts/revenue system), create reports from that system and iFrame them into HubSpot Reporting. I would really question why those payment records must be replicated in HubSpot, but if it does, I'd go custom object.

HubSpot's an excellent single source of truth but doesn't always justify the need to replicate purpose-built tools that integrate with it. I hope that helps. You're certainly not alone in solving it. 

 

best

Pete

JMayhew6
Contributor

Dealing with Variable Monthly Revenue From Customers

SOLVE

Thanks for your response Pete. This is all helpful. Let me try and re-state the primary problem and why we want this revenue information in HubSpot: we are trying to figure out how to manage forecasting and working with/coaching our sales reps to see if we will meet our monthly sales goals. We want to treat the dollar amount listed in deals as 'forecasted' or 'committed' revenue, especially if it's revenue that isn't showing up yet in Mothership. But the problems with the deals are 1.) prorating monthly deals (for example a $30K deal will only actually be worth $1K if it closes on the last day of the month, and 2.) We can never predict how many seats a new customer will actually turn on. They may claim they will activate (and therefore, be charged for) 10 in the first month, but only activate 5. This means that a sales reps deal pipeline may look like they will exceed their monthly goal, but actually fail to get there. (once we prorate for the month, and once we see how many seats are in fact activated.) 

 

We are trying to figure out a way of forecasting that makes sense, and a way of coming close to being accurate. (or at least get to a place where our closed won deals for a given month aren't showing 2x as much revenue, or 1/2 as much revenue as we will actually be earning. 

 

Does that make sense? 

HubDoPete
Guide | Gold Partner
Guide | Gold Partner

Dealing with Variable Monthly Revenue From Customers

SOLVE

Thanks for expanding on that @JMayhew 

I don't think that solving the task of bringing the data into HubSpot is that likely to get you to your goal.  Your clients have the option to activate seats or not, so without a contract value, it's a crystal-ball guess what they might be paying on any given future month (or mid-month pro-rata). Pro-rata "should" be an outlier if it only affects month one, but if your software allows upgrades/downgrades mid-month, projected revenue is fluid by day.

It strikes me as more of a logic/business-rule problem to solve first. A bit like tuning % scores on deal stages for the likelihood to close, or HubSpot automated lead scoring based on AI over many leads, so is based on historical conversion rates. If you were calculating projected revenue by hand, what formula would use today to give you a predictable forecast, tuning it for accuracy? 

If you have all that historical monthly billing revenue history, using law-of-large-numbers (historical big data) maybe you could generate some weightings to apply to the forecast for a more realistic weighted number which you tune over time. Once you know the data/logic problem to solve, you can figure out the best tool to solve it. That's why I don't think bringing the data into HubSpot, as custom objects or otherwise, necessarily gets you closer to your goal. I'd also try and measure sales reps on forecast accuracy (ideal -5%, +10%) to minimise wildcard numbers in their forecast.

Tricky to solve, but less so a HubSpot problem than a problem to solve based on how much flexibility you are giving customers to dial up or down.

best

Pete

 

 

 

 

 

 

You need a sophisticated forecasting system that can forecast based on a set of business rules, and if you have to take pro-rata months into account too, it becomes really variable 

danmoyle
Most Valuable Member | Elite Partner
Most Valuable Member | Elite Partner

Dealing with Variable Monthly Revenue From Customers

SOLVE

Thank you for the tag @MiaSrebrnjak@JMayhew6 this is certainly an interesting and complex question. I'm going to share with my colleagues to see if there's someone I work with who has a good answer. 

 

Did my answer help? Please "mark as a solution" to help others find answers. Plus I really appreciate it!


Dan Moyle

HubSpot Advisor

LearningOps | Impulse Creative

emailAddress
dan@impulsecreative.com
website
https://impulsecreative.com/
MiaSrebrnjak
Community Manager
Community Manager

Dealing with Variable Monthly Revenue From Customers

SOLVE

Hi @JMayhew6,

 

Thank you for reaching out to the Community!

I think that an integration that would sync the revenue data between HubSpot and your primary revenue tracking platform is a good idea. I have a question about your end goal with HubSpot – you mentioned that you'd like to use HubSpot to report on revenue; would you like to manage & track all sales activities in HubSpot in the future? Or is the plan to keep using your current revenue tracking platform? 

 

I'd also like to invite a couple of subject matter experts to this conversation to see if they have any advice: 

hi @HubDoPete@johnelmer@ChristinaKay@danmoyle, do you have any recommendations for @JMayhew6? Thank you! 

 

Cheers
Mia, Community Team   


Wusstest du, dass es auch eine DACH-Community gibt?
Nimm an regionalen Unterhaltungen teil, indem du deine Spracheinstellungen änderst


Did you know that the Community is available in other languages?
Join regional conversations by
changing your language settings