Supercharge Your HubSpot Reporting with Datasets

HubSpot datasets let admins and analysts join data explicitly, import external CSVs, and build custom KPIs that standard reports can't handle. Learn derived fields using row-wise and summary functions, then see live examples of win rate, channel-split revenue, and touches-before-deal calculations.
Questions this video answers
January 21, 2025.
David (founder of Traction AI) as primary presenter; Kyle moderated.
Prospect Activity Tracking and Marketing Channel Attribution example.
now; date_trunc; concat; trim; width_bucket; logarithms/exponents and other math functions; fixed (level-of-detail) and summary/row-wise functions.
Yes — presenters demonstrated bringing external CSV data (e.g., expenses by marketing channel) into data sets.
Chapters
Foreign.
We're going to talk through our agenda. So we're going to start today by going through what are data sets in HubSpot and what can they do. We're also going to talk a little bit about how they're different from just building a custom report in HubSpot. Right. I'm sure all the admins, analysts in this group have built dozens if not hundreds of custom reports. We're going to cover off what you can do in data sets that you can't do in a standard custom report. We're going to go into one of those big differentiators. These are called row and summary functions for the insiders. We're going to go into a little bit of a deep dive there and then we're going to try to make it real by sharing some recipes for KPIs. We'll give you them in presentation, in the presentation and we'll have a link to the presentation at the end of this in case you want to copy some of these and use them in your own reports. We're also going to go live into some example data sets. You can kind of see them in action. All right, before we dive into the topic, a little bit about who I am and where I'm from, I am one of the founders of Traction AI. We're a HubSpot partner and we specialize in providing revenue operations as a service. What that basically means, if you take some of the buzzwords out, is we help companies grow faster, more cost effectively and with lower execution risk using best in class tools like HubSpot. A few more details about me if you didn't join before the call. I'm an avid lover of tiki cocktails, a passionate birder. I also have a classical music background in opera and my newfound passion is finding the most adorable outfits for my daughter who was born earlier in November of last year. All right, let's talk a little bit though about what we're here to talk about today. Data sets. So what are they? Simply put, they allow you to create what we like to call templatized reporting frameworks. What that means is if you are going through the workflow to create a custom report, right, you got to connect your primary, your secondary data sources and then you got to pick what data fields you want to put in. First and foremost, data sets let you pre build what you want and then pre establish the fields you want to show up. So if you ever make a report from a data set, you'll be able to see all those fields without needing to click hundreds and hundreds of times. Rename amount to bookings in your sales report. Rename it to open pipeline. If it's an open pipeline report, it does a lot of quality of life things for admins that are going to really save some of that hair pulling time wasting activities. So first and foremost it's a starting point for your reporting. However, they give you three additional features that you can't get in a standard custom report. So one, you have more control over how you connect data. Custom reports do a really good job 95% of the time connecting data together across deals, line items and contacts. But sometimes it can get connects the data in ways that aren't optimal for your use case. With data sets you can explicitly define how they're connected. The next piece is you have the ability to create what are called derived fields using functions. Right? So much like all the admins in here, if you've used the calculated properties where you're writing little functions to build data out of data from other parts of the record, datasets takes that to the next level. You can write functions that reference all of the connected fields across your dataset and build summary data from them. Now finally a concept that is if you are familiar with other tool tableau or analytics in SQL, if you're not familiar with this, we're going to go into this, don't worry. But this is one of the things that I'm personally the most excited about with data sets is that data sets give you the ability to calculate metrics at what are called fixed levels of detail. So for now, suffice to say this just gives you a lot of granular control on how you roll up data. Okay, so we're going to go in a little bit more to talk about the key differences. Right. We summarize the big three categories, but we're going to show you a handful of things before we dive into some of the reporting KPIs. Okay, now hopefully these screenshots are big enough for you when we talk about how customizing how records are connected. This is a good example that I've built for a customer before. So the use case is they had a series of invoices and those invoices came from the general ledger, in this case QuickBooks, the amazing HubSpot integration. And it brought in the line items. Right. The invoices are also connected with deals which also have their own product line items and the rep and the customer actually wanted to see. Okay, are these line items the same as these? Now if you were to do this in a custom report, you couldn't go to that step. Right. You'd basically connect invoices, line items and deals and HubSpot would try to connect that data using its best judgment. So the first thing is you can explicitly define how everything is connected. You can actually also connect these using different properties. Right. So if you have a custom property representing a customer ID in the back end of your software, you could join deals with that instead of the standard deal to company association. So you got a lot more control over how you connect it. And then possibly the most slept on feature of data sets is you can also bring in external data in a CSV. So a really popular use case amongst our customers is we bring in expense data for different marketing channels. So traction attended inbound. Right. We spent money investing going to inbound this year. We can actually bring that data in and compare that to the leads we source from inbound. So this is amazing. It also will allow you to take certain things in like think recurring revenue data from other tools and build them into HubSpot reports. So that is one of the key things that's different between data sets and custom reports without the data set model. Next we're going to move on to some of these these derived fields. Now the terminology to think to get your heads around team. Now if you're unfamiliar with how this with higher level analytics principles, I'll talk through this in detail. The assumption here is that you've built a couple of custom reports in HubSpot. Everything else will talk you through. So data sets gives you the ability to write functions similar to if you've ever done this in calculated properties.
Right.
You can build the same style of functions in data sets. Now one group of them are called row wise functions. Now this is analogous to the data you'd get if you built them in a custom property. You're basically calculating for every row in your data set it's going to perform this calculation. In this case, this is a calculation for one revenue. It's saying, hey, if this deal is closed, check this logic. This is the API name of the isdealclosed helper function that'll tell you if a deal is won or lost. That's the first thing we're looking for. Then we're saying if it's closed, is it 1 and if it's 1, return the amount value. If it's not 1, it's already in this little loop. So we know it's closed, but it's not one. So it's lost. So it'll return zero. If not, it's not going to do anything. Now what that does in simple English is it's going to create a row just like this. So you see, this is a one deal and it's going to show up with $40,000. These deals are not closed or lost, so they're not calculating it. This one is lost, so it's returning zero. What that means is that you can build a data set where you compare one deal revenue, lost deal revenue, and active deal revenue without having to fiddle with filters. And I'm going to show you an example of that, right? I like to call this the bundled KPI report. So that's what a row wise function can do, right? Calculate row by row, the summary report. Summary functions will actually let you roll up data in your data set. So in this case, we're doing the same thing where we're just summing, if the deal is closed, one, we're just gonna sum the result. So in this, summing, every single one deal in our data set. So instead of throwing on the amount and summing it on the report, it's calculating it in the backend. Now we're gonna dive into fixed functions in a little bit more detail. And just as a note, guys, anytime you see this little tick in this color, these are the actual names of the functions in data sets themselves, right? So you can see what those are and how you can use them in the tool. What fixed allows you to do is fixed will let you explicitly say, hey, I want to sum up the 1 revenue. But I only want to sum it up if this product is true or if this deal type is true. In this example, we're counting the number of activities, but we're fixing it to the week. So we're not counting it on a day by day basis. We're counting it on a weekly basis. So I'll show you a couple of use cases with that as well. So the big feature number two that you gotta use data sets for versus standard reporting are summary functions and row wise functions to calculate results. Now I'm gonna clip into sharing a couple of things that I really like across our row wise functions. These are the two things. Now, Kyle, you mentioned working with today's date. There's a really good way to do that with what's called the now function. What this will do is this will return literally today's date, time, minutes and seconds. You can use that in all of your calculations. Let me go back one. You can actually use that in all of your datasets. Functions right away. There is another one called date trunk which is in my humble opinion the most slept on function and data sets. Ultimately what this will do is you can roll up what you're calculating by day, by week, by month, by quarter, by year. So in this use case, right, we want to count, we want to roll up all of the meetings per week. So the date trunk by week, right? The meeting may have started on this specific day, but it's being rolled up into this week. If it starts here, it's rolled up into this week. So anytime you're saying, oh, I want to count the number of meetings a week, but I don't want to look at the data in my chart in a weekly basis, Date trunk is how you do it. Combining these two guys together is a recipe for a lot of powerful things. So one of the ways you can deal with today's date end to end in reporting is with the now function in datasets. In addition, there are some other functions that are unique to data sets that aren't available in HubSpot. Calculated properties. There is a lot of overlap. You can do min, you can do max. But there's a couple that are right now just within data sets two that I really like. Concat. What concat does is it combines strings, right? So you have a first name and a last name. You can put them together with concat, right? Very, very helpful. I know I myself have done this dozens of times. I'll either have a full name field that I have as a calculated property. Back in the day I'd have a workflow that combined them. But this is very, very elegant, especially team. If you start running out of calculated properties, which I do all the time. The other thing is trim. Now what that is is if you see in this example here, there's a white space here and there's a white space here. Just by the function of people mistyping their names and form submissions, trim removes all the spaces on the front and the back. Now what I personally like to do is I like to captain planet these two functions, right? Combine things like names, combine things like job title and department and then trim it to make sure all of the mistyping gets cleaned up in your reports. If you work with very, very detail oriented leadership team, like having two records of the same company because one has a space and one doesn't. This is how you solve that and avoid getting on the hot seat. Last but not least, there is a lovely little function called with bucket which will let you bucket data in a single function. Now for our deep lore nerds out there, this will allow you to build histograms by bucketing data into it. There's a couple of other ways you can do that, but I really like this. It's a really handy way to quickly build up and sort of bucket deals of size, right? Like small, medium, large deals just by throwing that amount field into the width bucket function. So those are a handful of functions that I really like that I use all the time. You also get things like logarithms, exponents, all the classic mathy stuff if you're into that. They're in there as well. Okay, now let's talk a little bit about the fixed function and hopefully these, the, hopefully these charts are big enough so you can see them. And I will. There is a link team to the, to this presentation at the end of this that you can have so you can study this in more detail. I've seen that in a couple of instances in the chat. So we're going to go through an example of what it's like if we do it on a row wise calculation, then we're going to show an example of what it looks like on a fixed calculation and then we're going to go absolutely nuts. Now I want to take a step back and say if you're familiar with Excel or you use the pivot table report in HubSpot a lot, I'd say imagine this as a pivot table, right? So you have your baseline set of data, right? You got your deals, you got the marketing channels that source them, you got the companies. The pivot table mindset is really key in understanding how this works because this takes a minute to grok. So this is a function to sum up all of the 1 revenue, right? So we got our deal names here, right? Original deal, it's worth $40,000. Our two year original deal, which is we source from inbound is 100k, right? So that's how the, this is how a row wise field will work. Now in the company revenue, what we're doing is we are fixing this is the same function in between. But now what we're doing is we're saying look, I want you to sum this but what I want you to do is I want you to calculate this as though I'm looking at a pivot table where I have company name on the row, right? So you, you're summing the data but you're doing it at the company level. So we're looking at, we want to sum this on the company ID Right. So deal name is associated with our good friends over at Earthworm Jim's. They've closed $172,000. You see, we have another deal in this example with them. This was worth 40, but you notice the rows here are both the same. Incredibly powerful traction AI. Right. We've closed $200,000 with them. Right. So you can see we're building a data set that's showing individual deals, revenues and sorry if GROK is, is a deep cut reference. Yeah, I went to music school and they're my alma mater. The Jacobs School of Music at Indiana University had a very large Australian population of composers. We had a really RO exchange program. So I have picked up a handful of British and Commonwealth terms. So GROK is like, you know, to get a handle on, to wrap your head around. So this is basically doing the exact same thing, except it's doing it at the company. Now, the cool thing is imagine that pivot table you're building. Let's say you take away the company from the rows, that data at the, at the baseline is still going to exist. And we're going to show you some examples when we go into the data sets that are going to make this real. Now, this is the part that's really nuts. And you're just like, oh, my Lord, what does this even mean? I'll talk you through this. The fundamental principle team to think about is fixed is not just one level. Right. You know how when you put things in the pivot table rows, you can do company name, then deal type, then close date, you can fix the analysis at multiple levels. So in this case, right now, this is One of the 95 times out of 100, I am always asked, hey, I want to track how much revenue we've generated from each of our marketing channels. Now, if you did this with a custom report, you could be, okay, I'm going to bring in the attribution data onto the deal or I'm going to connect it with the contact. But the problem is what happens if that deal has two contacts and they're from different marketing sources. Most people I've encountered want to split the revenue between the marketing channels. This is how you do that. So in this example, right, we're still summing the data in the same way. I'm going to clear this up so it's a little less messy. We're summing it up in the same way, but what we're doing is we're fixing the sum. We're basically saying, I want to look at find the campaign Then sum up the revenue by the deal and then sum it up by the contact. And then what I'm doing is I'm dividing that number right by the number of contacts. So distinct count is the count of contacts for that deal. So think about it this way. Let's say we're summing up the revenue for both of the marketing channels, then we're dividing it by the total number of contacts associated with the deal. So in that example, if I have one contact I sourced from inbound and I have one contact I sourced from this webinar, the deal is worth a hundred thousand dollars. It's going to divide that number by the number of contacts. So that on this chart in our campaign revenue, it's going to split that money. So you see this, the deal's worth $40,000, but the campaign is going to get half of it. If you were to just summarize it up, it would double count the revenue. And I know this is very small. I could not figure out the optimal way to show this on a single screen. Scott. Okay, hopefully when we get into the actual live data sets, examples, it'll be a little easier to read. Okay, so we've covered off on the theory, right? So we've talked about how you can connect data, we talked about what functions are unique and different and then we went into a little bit more detail about fixed functions. Right? Once you get your head around all of the things those can do, it just unlocks a Aladdin style whole new world of possibilities. But now we're going to show some of these in action. Okay, firstly, this is a use case that I like to affectionately call the bundled, the bundled KPI report. So the use case of this is I have an executive team, right? I care about how many, how many deals have I closed in a period, how many much revenue has been won. But they want to also see the win rate, the days to close, the average deal size of one deals. Now for the eagle eyed amongst you, right, you're thinking, okay, I could easily do one deals, I could easily do one revenue, I could easily do average deal size, I could have, could easily do days to close. But win rate, win rate is the percentage of deals 1 divided by the percentage of deals 1 and lost. So I can't just use a simple filter to look for one deals to calculate that. So this is how you can do that, Right. Ultimately a lot of executives want to see how do I see all these metrics that matter to me in one view, right? So Waylon, you're exactly Right. It's really tough to do that in standard reports. Here's how you do that. What I'm doing is we're just looking to see if the deal is closed. Closed, AKA is closed one or closed lost. Any stage mapped in your pipelines to either one or lost. And then if it's one, you give it the number one. If it's lost, you give it zero. If it's neither, AKA it's an active deal, you just don't calculate it. Now what this means is when you throw this in, if you average it, it's ignoring all the nulls and it's taking the average of the ones and the zeros, right? So you actually can calculate a percentage from that, right? So if you have 1W deal and 1 lost deal, the average of 1 and 0 is 0.5. So you don't need to take this outside of HubSpot. You don't need to break out a separate donut chart, right? You can do this literally next to a booking, a 1 revenue deal, an active revenue deal. So this is a row wise function that you can use to calculate win rate. The other thing that's really cool is if you sum it up, you can actually get the number of one deals. So I'll show you this in real, in a real time example, what I also like to do, right? And this is a lot of executives that I partner with care about this, right? I want to see the number of one deals. I want to see my win rate. I also want to see how many deals are active in the period. I want to see how much active revenue is in the period that's projected to close. And a lot of times too, they want to see how many deals have fallen out. So these are some functions, right? The active deal is basically the inverse, right? If it's closed, give it a zero. If it's one, give it a O N e number one. So bundled KPI reporting, right? Here's an example of what this looks like, right? This is a single chart. These are the only filters, right? These are deals closing this month. We've won 13%. We have one that was W O N. We've got 61 active deals and seven deals have fallen out. Incredibly powerful, right? You don't have to have like one of the things I will say is executives really, really, really, really, really care about streamlined reports. They get really annoyed if you have to go one row down to see the lost data, one row down to see the active data. This is a path to solving that. Okay, we're also going to walk through how to talk through some initial use cases for fixed calculations. One of the things that I also find very helpful for our customers is when you're dealing with an SDR or a bdr, someone who's making outbound calls, sending out emails via sequences, these people usually have daily goals or weekly goals, right? Your goal is to book seven meetings a week, to make 40 calls a week. Higher level, you know, making 200 calls a quarter is a very high level abstract goal. Most people managing this group want to see goals on a very granular basis. However, with a custom report, you're going to have to look at that data weekly. So if you're looking at the norms for a year, that that chart gets pretty gnarly pretty quickly. What this will allow you to do is you can calculate the number of weekly calls and then average it up to a month to just make sure that the individual reps or the entire team are holding to their goals. So in this case, right, we're talking about the demos per week. So we're looking at the number of meetings that have started within this time. We're rolling it up here. So we're just counting the activities and we're rolling it up, right. We're fixing it at the week. So in plain English, that means just, we're, we're counting the number of weekly demos. Now if you do your chart like this, it's going to be exactly the same data, but if you rolled it up to a month, it would start summing those data points and it wouldn't show you this. We're looking at the average, we're looking at the average demos per week across the month of October, across the month of November, across the month of December. So really, really powerful. And you can see trend lines, right? You can set those goal bars, right. But now it's going to be anchored around something that's much more actionable for the team. And again, a lot of people get annoyed if you can't show them the data that they want at a time scale that isn't stressful. Right. I. Sharing weekly trends or daily trends with executives tends to be stress inducing for them. Okay, now this is getting in. This is sort of a gnarly function. This is the one we talked about before. I broadly bucket this into what I call conversion reporting. So simply put, right, when we talk about tracking roi, right, usually it requires breaking out data, right? So we talked about this a little bit more. We're calculating the percentage of revenue from the deal for each marketing channel where the contact came from, right? So if somebody came from inbound and somebody came from this webinar, that deal is going to be split 50% across across those data points. I'm just going to show you this right now. What I've done is I've built some custom fields where this could easily be the original source fields. So original source one, original source two. Sorry, original source. Original source one, original source two. What we oftentimes do is build wrapper fields where we take the great digital sourcing that HubSpot gives you out of the box and then build in some additional automation and logic to capture events more easily. So think marketing event registrations, webinar registrations. Really, really elegant. In this case, though, we're looking at, you know, digital channels, right? So we got search, we got social, and then we've got drill downs. Now you'll notice on this side, the red bar, this is what you get. If you just threw the amount field in, you notice at the bottom, right? The numbers all add up. The problem is this is double counting. It's summing the whole deal and crediting it to a person if they came from inbound, right? What you're going to want to do is you want to break out this data. So this is a way you can do this. And Connor, you're right. Like there will still be. This is not going to solve the debate of who gets credit for the deal. At minimum though, what we're trying to solve, and this is the. The admin's worst words to hear is like, the data is wrong, right? And I've gone through several fruitless conversations with executives where I was like, well, you see, it's rolled up. So the number here is correct. It's just double counting. They don't want to hear it. If it's not the numbers that they expect it to be, they'll usually say that. So this is what we're trying to go around is we're trying to break out the different marketing channels. All right? Now I want to share one or two other bonuses on this because another thing you can do with this is find relevant data across multiple record types. Now, in this scenario, right, I'm sure you guys have heard this before. You want to find the days between a deal and the first logged meeting or you want to count the number of touches required to source the deal, right? HubSpot has some great, has some great out of the box calculation fields like number of sales activities on the deal, right? But anyone who's used that, that sums up every single log, email, meeting and call. You want to find this stuff before the deal was created. So this is an example of what you can do. So in this case, right, so datedif, right. This is the data sets way of showing the same sort of days until days since. Right. That's going to come up on the next webinar topic. So we're basically finding the number of days and this is the part that uses the fixed. We're finding the. This little string here is finding the earliest meeting associated with the deal if its date is before the creation of the deal. Right. So the idea of this is you've tacked on all of your historic relevant commentary with the contact to the deal when you source the deal. This is going to find the earliest logged meeting as long as it's before the creation date and the fixed pieces. We're looking at this on an individual. We're looking for the meeting start time on an individual deal basis. It's fixed at the deal level. So you're calculating this before every deal. So then we find this and we find the difference between this and the date that it was created. That's incredibly powerful. So at the end of the day, right. I'm sure you've heard this question before. Like how many days is it between a demo and the creation of a deal? This is how you can get there depending on your sales cycle. Right. Where you only create deals once they've been deemed sales qualified. This will get you that number and it'll help you avoid some of the more messy workflow options of trying to timestamp that event happening from activities. There's some gnarly side effects there. Kara, you want to specifically call out your question. You are. You are. There is a function for this today's date. There's a function called now. Right now will return the exact timestamp of what of now. So you can use that in your calculations as well. Okay. The other tool, the other bonus is counting the number of touches before a deal was sourced. Right? So I've heard this probably more times than I can count before the creation of data says like, look, I don't care how many emails I have logged with the deal. I don't care about the number of sales activities. How many touches did it take for me to get to the deal. So this is the same kind of logic, right? We're looking at if the engagement is earlier than the creation date of the deal, we're going to count, we're going to count the times. I'm sorry we're going to count the time steps, the timestamp of that, and we're going to roll this up by the deal id. Right? So that's going to find all the associated engagement before the date, the creation date of the deal, not everything like the number of sales activities. Right? So number of sales activities counts, all activities right before the deal, during the deal, after the deal. If you're logging it, this shows you just before. And this is the previous example function. All right, cool. So I'm going to talk you through a couple of these live to show you how I built these. And then I'll give you a link, guys, at the end I'll just discard that. All right, now we're going to go in and do a little bit of a live demonstration of these things. And when we do the Q&Rs, I will put the link to the presentation. And I think I've seen a couple of places asking for this as a leap behind just so you can review it. And what I'll mention, team, is with the exception of that conversion channel snippet, everything else in here uses out of the box default HubSpot fields. So it should work entirely out of the box. The only reason we did that is a lot of our customers have a custom way of tracking and attributing deals, of tracking and attributing where contacts are sourced. You can pull out that value and I'll show you where that is. Okay, so all of those examples are sourced from two specific data sets, right? I have one called Prospect Activity Tracking and one called Marketing Channel Attribution example. So in this example, right, this is solving the bundled KPI report and the revenue source by Marketing Channel. So in the data set itself, you'll notice all of the little things that have this tiny. Let's see if I can I pinch zoom into this. Yeah, there we go. The tiny little FX symbol. These are the functions. So this is one of my little, my, my little scenario to connect first name and last name and then trim the white space, right? So you could easily do this with a calculated property team if you wanted a full name calculated property for every contact. But in case you've run out or in case you don't use it, you can easily do that. To summarize, right, here's all of our contacts, right? First and last name, no extra spaces. So that's a really nice little house cleaning function that we talked about. Now let's talk about these guys down here. Right? So, and this is where I think seeing this is helpful, right? I'm going to actually go back and edit the data source to show you how this is put together. This is a pretty simple object configuration, right? We're looking at deals and then we're just connecting the deals with the standard join to the contacts and we're connecting the companies to the standard with the standard connection. So it's nothing fancy there. This is exactly out of the box what you'd get in a custom report if you, if you selected deals as your primary source in contacts and companies as a secondary. Down here though, I'm going in. Let's refresh that little puppy. Okay, give me my preview. So we got our contacts, we got our deals, but you'll notice I'm only just looking at these two companies for the purposes of demonstration. But this is showing, this is showing open deals, it's showing one deals, it's showing lost deals all at once, right? So it's like, okay, I normally wouldn't be able to calculate win rate because it has active deals in there. I wouldn't be able to calculate one revenue or lost revenue. These functions here that we talked through give you that, right? So the one deals w o n, we're just saying, is the deal closed? If it is, is it close 1 w o n e and return the number one, if not zero? Ultimately, guys, right, since what we're trying to do is we're trying to sum up this data. You just need to convert this information, the little true falses into ones and zeros, and if not, you'll just ignore it so it won't be calculated at all. Now, admittedly, the, the 1 revenue by campaign is a little bit tricky to grok. But once, once you kind of get the hang of it, right, like you're looking at, if you're looking at traction, the fixed calculations are rolling it up by company, but the campaign revenue is rolling it up by, by campaign. You'll start getting more comfortable once you get one or two of these under your tool belts. And hopefully these functions that we give you will in these examples can help you get started. Okay, so let's actually go into the report and show this. Now, I took the liberty of bundling a few extra things. This is a very common, common thing that I like that my customers like to see where we're looking at. And you'll actually look if we do, if we look on the filters, there's no is closed one, there's no is active.
Right?
The win rate is being calculated, right? So we can get the win Rates by deal type, right? The bookings, that's the w o n revenue, right. This is the average of one deals. So you know, and you can compare the active deals. I'm sorry, the average deal size looks like it's being calculated based off of all deals, not just the average one. Excuse me, we're counting the one deals, we're still counting the active deals and we're still counting the lost deals because all of those are different functions calculating it underneath. So this is super useful. And you notice I could easily just rip the deal type off. Everything will auto calculate, right? So depending on what your, what your cohort wants to see, right. You could see the total win rate, you could see it by type, you could see it by customer segment, right. The beautiful thing about this approach is it doesn't make your reports brittle, right? Like when you have to hard code in that you're looking at one deals and lost deals and you're looking at these things, it makes it harder to iterate and adjust these reports. Now I don't know candidly if the, if the report for the. Sorry, let me get this back. I don't know candidly if the report for the revenue source by marketing channel will make it any easier but to grasp. But you see that just summing up this information, we've got this much active pipeline, we've closed this much. Let me take this filter off. We talked through how the function worked in detail. But I think the key part here is to showcase the outcomes, right? To say okay, I care about the active pipeline that we sourced, I care about the 1 w o n revenue, right? And this right, as you'll notice is going to double count a lot of this, a lot of these deals and the other thing too, right? Since there's no is closed one, there's no stage based filtering. If you just use the amount, it's going to actually, it's going to actually report on open deals too, which is going to be even more confusing or lost deals. So with these functions the active pipeline is basically the same as the campaign revenue. It's just looking for open deals, not closed. So these kinds of reports are entirely capable. Now Becky, I do want to call attention to one important thing. Comparing week over week or month over month. Hopefully this isn't too in the weeds in the data analytics game. Usually these are called windowed functions. If you're building them at the data level, datasets does not have that functionality at this moment. What you can do, if you're familiar with how the compare over time functions work in custom reports. You can build it there if you go in. I'm just going to build fresh, a fresh report so I don't destroy this example. Right. If you do something like an overtime. Piece, you can do a compare by with a time value. Right. So Becky, that's the best way to do it right now. It won't give you percentage conversions but you'll be able to see this week to last week, next week to last week. And Jeremy. Yeah, I, I would, you know, it's Christmas is over, but that's what I would have asked for in my stocking is window functions are like, I don't want to say fixed functions of the oxygen that I breathe, but windowed functions are three square meals a day for me. So it's a really, really powerful, a really, really powerful function. So I think that's enough walking through of these charts. I want to leave a little bit of time and space at the end. What I'm going to do is I'm going to put this up. There should be a QR code to the presentation here that you can scan to get a copy of it. And as always, the team makes the video recording live. So and if anybody wants to reach out with specific questions on how these are calculated, I can give, we can circle back following this as well.
Amazing. Thanks so much. The chat, as I think you have seen, has been warm. People are amazed. I don't know about anybody else, but my brain is full and so is my heart. This has been lovely. We have about 10 minutes for questions so if you all want to hop over to the Q and A pain, There are currently 21 questions in there which says to me we're not going to get through them all. I will sort them by most upvoted. So go ahead, look around for favorite upvote it. I'll give it, you know, 10 seconds or something and then we'll, we'll hop in.
I also put the direct link for the QR code in the chat for you guys.
Oh, nice.
And you know, I probably should have put my contact information here too. Let's see, I'll put that in the chat in case you have a question you want to answer. All right, so my email is DavidRraction AI. So any questions there, just shoot me a link. I have strangely open periods of time very late at night, depending on when little Audrey feeds. So shoot me a note and you might get something back from me at 2:30 in the morning.
Amazing. So our most upvoted question is whether there's a resource that lists all the functions. I am dropping a knowledge base article into the chat right now. David, do you have a preferred resource you rely on or do you just have the stuff memorized at this point?
That's a great question Kyle. So the knowledge based content does contain references to every single function that's available. What I would say is so that gives you a list of what's possible the pieces of like what I like to reach for that that's a. I have a little internal crib sheet and this is why one of the reasons why I called attention to date trunk basically that helps you extract the like weekliness or monthliness of a date value so that you can calculate it that and now is incredibly powerful. Those are my two favorites and then I think just I don't have a great recommend recommended resource for like understanding fixed functions. What I like to do is just go in, build a data set and like play around with it and just make sure that the results are what you expect and then just kind of keep experimenting with it. Is a good recommendation for like getting more familiar with it.
Amazing. This next question from Willem is related this is a question with an embedded assumption. I would love for you to address both. Aside from ChatGPT, what are the best ways to explore and master data set functions and capabilities?
That's a good I think the first. The first step is I'll shamelessly plug use this as the first step right play around with trying to bundle different KPIs into a single report. I think that's the first the first sort of like entry level piece that's going to be demonstrably different than standard HubSpot reporting. Willem though it's going to be similar if the enterprising among you may have played around with using HubSpot calculated properties to build these kinds of reports. You can do that in HubSpot custom sorry custom properties using the calculations. Sorry, custom calculations and custom properties. That's the full name of it. It's basically a nice entry level skill. Custom properties functions are going to be limited to just that data object, that data record. So then start there, get familiar, then go into data sets and start comparing things across record types. The next piece is once you feel really comfortable making these bundled reports, try to bite off a simple fixed calculation report. Once you grasp this it gets really really powerful and there is a really good resource and I'm sorry that I don't have a link to it on hand. Kyle, one of your product reps did a really good job On a series of preliminary videos when OpsHub was rolled out that showed a handful of these examples and it was shared in the HubSpot community forums. He goes through a couple of really good examples of like let's calculate the percentage of revenue you know of a single deal for a company. Let's calculate how what percentage of this deal is eligible for commission. It was a really nice entry point to fixed functions because it's like you're taking the value of a deal and then you're dividing it by the sum of the revenue of the associated company. Right. That's a really good training wheels. Next step. I would say.
Yeah, if that was Stephen McMillan, I have those looms somewhere but they are not in my direct messages and slack between me and him. So it might take me a while to dig them up.
What I can do, Kyle, I do. I have them somewhere in my bookmarks. I'll. I'll share them with you if you got. If you want to share them.
Yeah, that would be great.
That I think is a really good next step. He does a really good job walking this through in detail.
Amazing. Our next question is are there any courses or resources where we can learn these things and see sounds like that's the one. So we'll be sure to share that out in the email after where we send the recording and stuff. Is there a way to create an active list based on a data set? I know we can create a report, but a dynamic list will be super useful.
I don't believe that is a function at this time. Data sets are basically templated reporting reporting resources with additional functions. You can of course use list membership within the filters, but I don't believe that's the case. So Kyle, you. You. You may have more up to date information than I do.
Yeah, I mean as you said, they are designed as a jumping off point for reporting. I don't know whether there's a way.
To.
Close that loop back up, but probably not a straightforward one. I don't know if there's a way if you're clicking into a drill down on a report that you can export those out somehow or something. But it would not be simple and straightforward. It would be a hacky workaround thing I think. Is the correct answer there, Jeanette asked. Datasets are only for ops, Hub, Pro and Enterprise. Correct.
So that's a great question, Jeanette. The pre built templated connections using standard HubSpot record types that is available outside of Ops Pro and Enterprise. The custom functions and the unique joins and the Ability to bring in CSV data is a pretty pro feature and the difference between opsub Pro and Enterprise is you get more data sets and more functions per data set. So that is a fastly evolving product area.
Yeah. Yeah. I would say for those of you who don't have Operations, Hub, Professional or Enterprise navigate over in the reporting menu to data sets, you do if you are professional level. So basically if you have action acted, if you have access to the custom report builder and workflows and things like that, you have some lightweight version of data sets and getting in there and playing around with them couldn't hurt.
And it is incredibly valuable as a time saver team. Even if you can't use fixed functions and calculated functions, you will just not build the same 47 properties into the backend of your custom reports. Right. If you use it. If you use a pro level non ops hub data set, that's a really nice time saving feature.
Nice. Okay, we are just about out of time here so I think we'll go ahead and wrap it up. Thanks again not just for presenting but for sharing your your contact info. In the chat it has scrolled away. If you want to follow up with David, find those, reach out to him, connect with him. He's a wealth of knowledge. I really appreciate you you coming and sharing all this with us. Any, any final thoughts you want to share before we we end it?
No, I think it's an extremely exciting piece of tech. Hopefully it gives you just more resources to support your stakeholders, most often times your decision makers. So I'm excited to see what you guys do. I'm excited to hear from you. So hopefully it helped.
Amazing. I think it definitely did. Thank you so much again for being here. Deanna, thanks for tuning in from your, your off site in the snow and everyone thanks for joining us and I hope you have a great Tuesday and hope to see you back next week.










