 Andy Lagan. It's just like everyone that I want to see. And the rest of you. Yeah. Okay. So I'm going to dive in real quick so we can spend most of the time kind of looking at spreadsheets. So this is a session. You're in a session about Google spreadsheets. Lots of fun. And the Google spreadsheets and tools that we use at Think Shout to be able to actually know what the heck we're doing. So a little bit more about us in Think Shout. Think Shout's based in Portland, Oregon. We're about four and a half years old at this point. It was started by me and Leve Sipin, my business partner. Leve is our CTO, I'm our CEO. I manage more of the sales, marketing, strategy side of the shop, and then he manages our development team. So again four and a half years old. We started out just with the two of us, like Leve and I did the traditional thing, just two independent contractors, each other out for about a year, decided that it's a lot like getting married, starting a business if you've done that. With a business partner, we just kind of recorded each other. We got a prenup in place, all that stuff. And then decided to pull the trigger. We just started out with, we each put 500 bucks in a bank account, and we were profitable on day one, which is really awesome with Drupal. You can really, if you have some customers, you can just start billing, and there's really not a lot of overhead to get started. Really fun. So now we're a team of 20 folks full-time, all on site. I think by the end of the year we'll probably be 26. We're starting a couple of new initiatives and some new kind of support services. And growing. So we've done a lot of open source stuff, like everybody else in this room, I'm sure. There's about 50,000 websites running on our code. You've probably used some of our modules. Mailchimp module. Mailchimp's rad. Redhand CRM, our native CRM for Drupal. Salesforce suite. We rewrote that for Drupal 7. And a lot of other stuff out there. Leaflet module, stuff like that. And then about a year ago now we were ranked the ninth fastest growing company in Portland, Oregon, which was really pretty cool. So what I want to kind of talk about is the tools that we've used to kind of, I think, and it's a little presumptuous for me to say this, and so please hold me accountable and question me and all that. But like, this stuff that we've done to kind of jump to that, I don't know, kind of mid-tier size if you took kind of the averages of Drupal shops. We kind of like a lot of folks, I don't want to say stalled out because we were doing really innovative work and hiring great people, but we kind of had a hump there around employee number like 10 to number 17 where there was kind of a lot of churn and it was kind of an awkward phase for us. It was kind of like our teenage phase. Now I'd say that we're like really arrogant freshmen in college. And our teens there we really kind of made a lot of mistakes, and I think probably more important than anything we didn't know what was going to happen at the end of every month when we did billing. We knew intuitively, oh yeah, we're profitable, we're doing fine, we've got tons, we have the right cash reserves, everything's stable, we're a stable, healthy company, but it was kind of this guessing game at the end of the month, like the day before billing went out to say what was our effective billing rate for this month? How much, you know, what was the average hour worth? You know, I knew basically what we were going to invoice and basically what our costs were, so there's never any concerns there. But it was a little, it's a little weird to be running a company that's based on building computer software and not know every single little detail. So what we're going to talk about are kind of the tools that we use hopefully to kind of take us to the next step and the stuff that's allowed us to actually scale really quickly this calendar year in a way that we find really sustainable. So, yeah, so we'll talk about that. And then if you're interested tomorrow, just kind of promoting another session, there is on the business track with this guy Kurt right here from Form 1 and me and Alex from ZivTech and Tracy from Balance Interactive, a panel on how to grow your business as well. So if you're interested in kind of more of the narrative side of things, there's some more sessions for that. Cool. And like I said to other folks, last time I was going to say it, when I show the spreadsheets, they're really hard to see because this projector stinks. So please feel free to move forward and then feel free to leave at any point and not be held accountable for that. So it's totally okay to sit in the front row and leave. All right, so what the problems were. You know, so I mean, to be totally honest, I kind of feel like in this sound again a little bit on the arrogant side. But to be honest, I feel like anybody who has strong charisma and has like a vision and cares about what they want to do can probably build like a three to four to five to even ten person shop. Like Drupal is really popular right now. If you've got spunk, you can make it work. But what I found is kind of what that spunk and what helps kind of folks like get these things started kind of on that double-edged sword is kind of the opposite side of what you really need to then grow that company. Like it's a different skill sets and sometimes that spunk can kind of get in the way. So what I want to talk about is really kind of moving away from that intuitive decision making process that a lot of us who founded shops have started off with. It's how young shops work. Early staffing decisions. It's like, can we hire this guy and can me and my business partner work enough hours into the evening to make sure that we can always hit payroll for that first employee, regardless of whether or not we can build them. So you can kind of just gut it and just kind of make things work. Probably some stuff. If you're a smaller shop you've encountered or a younger shop, it feels like it's always all hands on deck all the time. If you want to specialize, if you want to innovate, a lot of times you're doing it at night. You're doing it on the weekends. You're working for your business all the time so you don't have that time to really work on your business. And any kind of sales and operation stuff, that stuff you're just bootstrapping on the weekends and whatever you can. So that's kind of like the early days. At least our early days. So you get to this point where you start wanting to track data. Some things that we've found in starting this that I think are useful points. One, how many of you guys use a time tracking system? Like everybody. Good. That's a pretty important first step. But when you start tracking data what our experience was is that there's good metrics and meaningful metrics and then there's really lazy metrics. One of the metrics that we used a lot that is really lazy and what we found actually just in the last couple months we kind of made a shift from. It used to be that we tracked how many of you guys have your developers or your staff track all of their time. Like all 40 hours a week. So we were doing that and we were evaluating the success of developers based upon the lazy metrics we were getting there. If somebody logged 42 hours a week, every week, they worked harder than somebody who logged 41 hours or who worked 39 hours. And it was because we were just trying to have as much data as we could. But if you think about it and take a step back is that really meaningful? Like the fact that somebody didn't put a timer on on the weekend when they were doing some research and another person decided not to do that? Like is that really how you want to evaluate whether how two staff were performing? So we've made the shift and now we only track billable hours. Because we realized, not that we realized that tracking the energy and enthusiasm and commitment of our staff isn't important, but just how long they had the clicker, the timer running, wasn't what was really going to track that. Because you get that situation where someone just leaves a timer running to go use the restroom. Like you don't know. You can't really know those levels of detail. So trying to use that as information is lazy and probably doesn't give you the best data or the best information. So a couple other things. Yeah. Right. And you're not capturing that. If the only thing, if you only have a chance to look at like five numbers and one of those numbers is total hours in your time tracking system, are you really getting the information that you need? So we've started to kind of question that. The other thing is just kind of understanding what data is really good enough. So we've had the pitfall of trying to work out some sort of big, crazy tool to figure something out. And it was overkill and we ended up just missing opportunities to see data sooner. But then also on the flip side, kind of recognizing what kind of information you need to actually say that you're starting to see trends. So we've just been kind of with Agile. Like we're not an Agile shop necessarily. We're an iterative shop. But just kind of iterating on the tools and the reports that we're trying to do. And kind of the last kind of big learning that I've had in doing all this stuff is prediction as part of measurement. So when we build a tool, like when I build the spreadsheets I'm going to show you, one of the things that's been really critical for us is like use the tool, predict the results that we're going to get and then at the end of the month or whatever the reporting period is, going back and reviewing that. And that way I can actually see if the logic that we're using, if it's really the right tool to figure out the information that I want to figure out. So kind of an overview of this tool that we're going to show you and then we're just going to dive into some really nerdy spreadsheets for a little while. So kind of an overview of our system and our tools for tracking our business. Try and tracking tool. How many of you guys use Harvest? Somebody who feels really passionate about some other tool, time tracking tool, tell me what it is. Fresh books. With how many folks? Okay, awesome. Yeah, that's really cool. Anything else that people really like? Jiro Tempo. Awesome. Okay. Toggle. Yeah, awesome. What were you using? Okay, teamwork. Cool. Yeah, so we use Harvest. There's no right answer there. One thing that we like about Harvest, I'm skipping a bullet point here, is the new forecast app. They bought, I guess they bought forecastapp.com and they're rolling it in as an extra service. We haven't used it in production immediately, but it's a resourcing tool for staffing and it's awesome. It looks really awesome. It looks like it's really cool. It'll show you if you have people overbooked, it combines that against your project budget. So it's actually, we're pretty excited about it and it might cut out a spreadsheet that we've been using and that's really hard to work with. Time-tragging, the key thing, resource allocation spreadsheet. I'm not going to show you what that looks like because those are actually, there's a lot of ways to do that. There's two that I really want to kind of dive into in detail and one would be we have a billable hours matrix that we use and we're going to dive into that. And then what we call like an aggregated pipeline tool. That allows us to kind of see, allows us to forecast how much money we're going to make a month from now, two months from now and so forth. So we're going to dive into that. And then putting it all together. What sort of, what accounting, we're QuickBooks online folks. What other accounting stuff do you guys use? Zero. Okay, awesome. Zero, when I first looked at zero it seemed like it was better for folks outside of you. Like there was actually better adoption. It's out of New Zealand, right? Yeah, so that's awesome. Okay, zero. Oh, you do. Okay. Yeah, we've kind of gone to QuickBooks because accountants tend to, you know, be more familiar with it. So it just saves us money on the account on the CPA side. But that's interesting. Any other tools that folks are using for accounting stuff that's been really useful? Just works. Okay, I'm not familiar with that one. Cool. Okay. Yeah, that's neat. Yeah, it's outside of the topic of this presentation. We've also, just as a quick tip, we've adopted Zenefits. I don't know if anybody's using Zenefits or heard of them. But Zenefits is awesome. I mean, it's completely revolutionized our business. So Zenefits is a service as well. It's a web app as well. But more importantly, a service that does benefits managing. And it's being, it's a startup. So they kind of have this IT feel. And there's a really great suite of tools. But they basically, they manage all of our, all the procurement on healthcare, all that stuff. They provide a portal for it all. It's absolutely incredible and it's saved us a lot. That's it. Yeah, so check out Zenefits. It's really great. The CEO of the company, and it's like a 300 person company, actually on boards, all the customers directly. I mean, like, their tools are that efficient. It's amazing. It's absolutely incredible. Cool. Okay, so we're going to dive into spreadsheets. The last thing I kind of want to say with all of this, and this has been useful, kind of a concept for us as we've been rolling out these spreadsheets. Because obviously, you know, these spreadsheets are really great tools for founders or, you know, executive staff, but you're probably going to be showing this stuff or it's really going to impact your team. And so, you know, there's a bit of a risk when you roll out any kind of tool or kind of change your practices around tracking or managing expectations with your team. So we've kind of had to develop, we've developed a messaging framework about that and a way of thinking about that with our staff to make sure that they understand what's going on. So this is just kind of, you know, everything that we're doing in terms of the reporting kind of comes back to these three things that we're really trying to support internally. And whatever framework, whatever values you might have, internal values with your team, it could be whatever you want. But for us, the idea of, you know, we're really trying to balance innovation and clients' customer success or client success with staff satisfaction. So as we're, like, adjusting and tinkering with all these things, it's all in service to this. And so that way, like, if we roll out a new policy with our team and it fails, we can really kind of talk about that transparently with our team and let them understand, like, this is the balance we're trying to hit. We're not always going to hit it. Sometimes we're going to be in more service to our staff. We're going to send a boatload of people to DrupalCon, even though it might not make the most sense business-wise. We're going to, like, or on the flip side, we might have a couple weeks where we have to really push it and we're going to skip staff lunches or skip sprints and we're all going to work really hard on client stuff. So having this in place really allows us to kind of implement solutions that are coming out of the data we're looking at. Does that make sense? What's that? Xenofits? It's like benefits but with a Z instead of a B. Xenofits.com. Cool. All right, so now we're going to dive into some spreadsheets. So my Twitter handle is, I didn't have a great way of doing this. My Twitter handle is Sean underscore Larkin or you can just find Think Shout on Twitter and there's, I link to this, like, so all of the materials that I have here and all the spreadsheets, there's even a Google Drive folder and it's all available to you guys so please grab it, take it, manipulate it, use it however you want to use it. There's no secret sauce. So it's all out there if you just want to find the link on Twitter. But just because I didn't obviously want to use, like, actual client data or tell you exactly how much money we make or whatever. So the spreadsheets have all been adjusted a little bit to use the Mongolian Toruk. Has anyone ever used this currency? I have not. You have? You were awesome. I intentionally did not even look up the exchange rate, anything like that. It's just a placeholder. They had the coolest currency symbol in Google Docs so we used it for that reason. So none of the, this stuff's all been abstracted. It's not real data. There's no, like, algorithm to try to figure out what it would be in real life. But you'll see that and we'll dive into this. So one last thing before we dive into the spreadsheets. It sounds like really simple but for a long time like I couldn't figure out why my forecasts weren't all that great in terms of revenue stuff. We do all of this forecasting and you'll see it in here for the most part by week as opposed to by month. And that's because there's different numbers of business days in every month. So your targets for each month should probably change on the revenue side. Maybe even on the costing side depending on how your things are set up. So if you get confused as to how some of the equations work, that's kind of what's going on there. All right, so we are going to dive in and get going here. So cool, one other thing that you'll find in here that's just really helpful. A plug to someone that we don't even work with. These guys we were put onto them by the great folks here at Four Kitchens. I know that Lullabot uses them as well but some at CPA Group. They're a virtualized CFO firm. From what I hear they're awesome. Yeah, they're really great and they've helped a lot of Drupal shops really kind of navigate complex shareholder arrangements and profit sharing policies and all kinds of stuff like that. But one thing they put out at the operations camp. Operations camp I also heard is really cool. Did you go? Oh yeah, we should have hooked you up. We had people there. Operations camp, great conference. It's more business operations but it also kind of touches on project management operations and stuff like that too. So annual conference was just down in Louisiana. But this came out of that. So these are just some metrics that they recommend that you take or pay attention to if you're running your business. We won't really run through this right now but just as a reference. It's something that might be interesting and it's in the Google Drive. Cool. Alright, so the two spreadsheets that I am kind of most proud of that you can't see where the damn from way back there. So again, please feel free to come up. This billable hours matrix and then what we're calling a pipeline report or under contracts. So these two things work together. This billable hours matrix is the core thing that we figure out. What are reasonable expectations for our developers, for our strategists, for our designers in terms of what can we expect from them to do in terms of work for us. So I'm going to jump the size up here a little bit. Again, we're using our Mongolian currency. So cool. And I'm going to walk you through this and then again, you grab a copy of this, use it, do whatever you want with it. Cool. So the first thing that we try to figure out is kind of like what is our abstract profit margin that we want to hit. For us, it's generally something between 15% and maybe even like 22%, 23% and a crazy big month where we kind of want to catch up on stuff or really focus on client success. So we kind of looked at that and then everything else here is trying to figure out, well how can we support that goal while also supporting other internal goals that we have as our team. So the core, there's a couple of assumptions here and again just spreadsheet assumptions here. You can adjust this. This assumes in this case it costs us 100,000 Mongolian turks a month to pay our staff with our current size. And our target effective billing rate is going to be 100 turks per hour. So this is an interesting thing. What is effective billing rate? There's so many people that define that really differently. In our case here, I guess it's kind of like average billing rate so all of the hours that we're working on client stuff, what do we want at the average hour that's serving clients or working on client projects to be worth? Some people call that average billing rate and then they use effective billing rate to include all hours that are non-client related. In this case this is just saying averaged out for when we're actually doing client work. And then kind of what is your base number of hours per week per staff. So that's kind of where we start here. And then we go through our team for each role and I try to figure out what people are actually going to be working on. If you've ever tried to solve this, this is a complex problem too. When you talk about effective utilization, it gets really confusing what people call utilization when they're talking about their staff. So for us we have like a maximum utilization and then a realistic utilization. Mainly we have these two distinctions because communicating around these expectations to staff is really difficult. When you tell staff, it's really kind of confusing when you tell staff, hey, if you work 40 hours this week, we want you to do 32 or 35 or however many billable hours you have. Well then what happens when there's a vacation day? Like does that change the number of billable hours and so forth? So like it gets really confusing as to how you talk about this stuff with your teams. So we kind of have broken out both options here. So each staff by position, we're assuming that they work 40 hours a week and then we say okay, on a 40 hour week if they only did client work, what's a realistic expectation? So if they're not taking vacation, they don't have a conference and all of that, for this role for this designer role I'm assuming that you're going to work 32 billable hours that week. And then you kind of go through each of these staff people. Project managers if you're like us, your project managers are having more contact switches so you expect on a 40 hour week that they're probably not going to be of the bill as much as a developer because they're not heads down working. So we kind of run through that and that gives us kind of in that kind of ideal situation how many billable hours could we possibly hit in a week. So with this team here that's kind of got three unbillable staff on it and nine billable staff that are all billing different amounts because they have different roles. We're assuming that they could do like 300 and just shy of 350 hours. So that's kind of the course high level stuff in terms of how we talk with our staff. But the reality is that we have people that are doing a lot of different things. And we have senior engineers who we want to do presentations at Drupal cons and maybe our junior engineers have other stuff that we want them to prioritize so we're not asking them, we're not investing in them doing speaking engagements quite yet. They're really focused on developing their own skills. So here we've kind of broken out and this could be different for anybody, for anybody here. What are the realistic things that we're looking for them to do each week based upon their roles and their interests and so forth. So these are kind of the big buckets that we're using. Again this isn't translating the time tracking but just in terms of expectation management. You know management responsibilities for people who are leading teams. You know there's a couple folks who might have that and so forth. And this allows us to say okay on average looking at vacation time and PTO and all this other stuff that we know we're going to have Drupal con, the non-profit technology conference, whatever it might be what can we actually expect on an average week in terms of the billable hours that this team is producing. So there's a big gap there. You know if everybody was just working and not taking PTO, 350 hours. But knowing that people do take PTO and they should probably about 278 hours. So that lets us kind of really kind of get a bigger picture of what is actually going to happen in our business. So down here in this part what we're doing here is we're just projecting out okay we know what our costs are, we know what our salaries we want our salaries to be, we know how much people can work, what could we expect in this scenario in terms of profitability in these two scenarios. The ideal everybody's cranking 40 hours and then the realistic people taking vacation and so forth. So that allows us to kind of sanity check okay well if all this stuff is working the way we think it is and our costing is right we can expect under this scenario to get about 16% profit margin and the realistic scenario of having folks actually take vacation and so forth. And then we can kind of play with that. So if we want to pump that up then we could make a business decision well you know what some of these unbillable tasks here like team sprints instead of doing sprints every month we're going to do a sprint every other month. And that might allow us to get more billable hours out the door each week and pop that and bump that profitability margin up. Or on the flip side if that margin is like because of your equation is working out to be like 20% profitability well maybe you need to focus more on long term innovation as a marketing strategy and start including more meaningful sprints with your team. Take you know a day every month off or every other month off with your team to work on some open source project that isn't client related. Does that make sense? So kind of having figured this out it allows us to actually start doing some forecasting for what we can expect for the rest of the year. So I'm assuming on this spreadsheet here that we're starting out in January and looking at the whole year. So what we have here and all these spreadsheets tabs are all interactive obviously is pulling over from that matrix that I had. Here's that team that we have right here this is what their monthly targets are and then this is you know showing what we can expect each month. And what this allows us to do that is an ugly spreadsheet right there is start to get a sense of what sort of what growth might look like if we start hiring a different additional folks. So for us we just kind of kept it really granular here and assume that you know average engineer it's like how many people we're going to hire over the course of the year. This is not real we're going to hire a different strategy but just kind of to show you okay well let's say in June we hire another developer then in July let's hire a designer and then a theme and then another engineer and that allows us to kind of get a sense of what are the total billable hours that we can expect in this growth scenario for the course of the year. This variance right here and this deviation is kind of like allows us to kind of worst-case scenario stuff. You might not need this we've just kind of found it helpful to like in terms of managing expectations to kind of think about well certain months maybe we know that we are probably going to decide to do some strategic open source contributions or send a bunch of people to conferences so maybe being able to kind of adjust down or up each month than the way that we know it's going to be. But again that allows us this allows us to kind of forecast well how many billable hours are we going to have this whole year if this scenario works. And then you know given that effective billing rate or that average billing rate what can we expect in terms of revenue with this growth pattern that we have here. And this kind of allows you to start playing with it and we've actually used this in practice kind of like we'll get more specific and be like well we know we're hiring somebody next month but they start mid month you know so actually just saying that they're not they're not an expense for that full month they're not going to bill for that full month they're only going to bill for half of it. Or being able to say well we're hiring a junior person and they're going to have some ramp up time so let's kind of get specific about the hours that they're going to provide. And that allows us to kind of get a sense for what our total revenues are. And then down here just because we can we can start to just kind of do some month to month over tracking to see how well this model is working for us. So where it gets interesting is actually then translating this to profit which revenue you make well I guess it does in some ways but start thinking about profit here. So this is again just kind of linking off the last spreadsheet. This is our current base those 14 staff you can see this number goes up just I just added a little multiplier saying that you know obviously the staff we currently have they want raises bastards. And so assuming that you know that base that base salary is going to go up. And then looking you know this is really course but looking at what are our additional costs if we start bringing on these other developers that allows us to get kind of what our projected costs are and then compare that to our revenue to kind of get a sense of kind of predicting what our profitability would be for the year in these different growth scenarios. Does that make sense? Cool. So you can kind of see with how that impacts you know what your forecast would be for that year if you hit those targets. And then this last tab and this one is the most kind of arcane and I don't really know a great way of doing this stuff yet. I'd love to talk to somebody else who has incredible sales metrics and forecasting and stuff like that. But what kind of a pipeline do we want to maintain? A sales pipeline do we want to maintain to be able to hit these revenue targets. So here are those revenue targets that have been blown up. Here are the revenue targets that we brought over from the second tab and then you know what size pipeline do we want to maintain to be able to hit that. And this is where it's kind of a weird, it's a pseudoscience essentially you know because just because you have something in your sales pipeline you're not going to obviously that doesn't translate to revenue that month you know. So this is kind of me guessing around saying well you know I really want this pipeline to reflect the revenue goals that I have in the next quarter or three months down the pike. So you know, oops that's not a good number. What kind of revenue goals would I, how big do I want that sales pipeline to be? And how do I actually kind of want to weight the value of that pipeline knowing that it's not all going to close. So does that make sense? Cool. So this is again like this is what this tool here, this billable hours matrix is what we use to kind of like do the theoretical work to kind of figure out what our goals are. And again you know the goals change and you can adjust them you know you might decide over the summer like summers are going to be when we really innovate. Drupal 8's coming out. So we know okay this summer we're probably going to reduce the number of billable hours that we focus on so that we can have better Drupal 8 preparedness. And then you know in the fall we're going to crank it back up and really focus on client work. And this stuff is important again in terms of messaging to your team because they want to understand what the logic is in terms of the decisions that you're making as a business owner or as a team manager. They want to understand that there is some sort of logic going into those decisions so it doesn't feel arbitrary. Cool. Alright so this is my pride and joy. The thing that I love the most of anything that we use in our company. It's what we call an under contracts spreadsheet. And our team, our project managers, Marcy can tell you over there you would probably spend, you guys spend 15-20 minutes on this every day. Yeah so it's got like four or five people updating this thing throughout like kind of asynchronously all the time. We tried to think of other tools for this and I hate using the Google spreadsheet like having so much of the business based on the single Google spreadsheet but like we just couldn't find anything that worked. So the problem that this spreadsheet is trying to solve is how do I figure out, like I said at the start of this, how do I figure out how much money I'm going to make next month? So I know that I've got like, I don't know, 15 projects or five projects or whatever that number might be. And because business is business I've got to negotiate different rates for different customers. Some people are at a historical rate, some people are at a new rate, some projects have technical debt. So that's kind of pulling down the effective billing rate on that project. Like how do I actually know it's made 12th right now, how do I know how much money I'm going to make this month? So that's what this thing is intended to kind of solve. And then beyond that like three months from now, how much money am I going to make three months from now? I've got some projects that are going to be finished by then. I've got stuff in the sales pipeline that might be at, maybe we're doing awesome and so we have stuff in the sales pipeline at a much higher rate. Or maybe like I'm a little desperate three months from now and so, you know, I want to take on something that's technically risky because it's a really cool project and it'll let me do a technology that I want to play with. So I know that there's probably going to be some technical debt on a project that's probably going to close in the next month and that will start three months from now. How do I figure out, do I have the right suite of current projects, support projects, and new business? So that's what this spreadsheet's trying to solve. So it starts out with a tab that's just every single contract, every single opportunity that's on the board. And it might actually be stuff that's closed out too. So this first tab here gets really long for us. So I'll show you at kind of a high level here. And again, you don't know what the heck's going on from that view. But essentially it's every contract and then a bunch of parameters about each one of them. We do not work with Major League Baseball, but just as an example here so we have a line for each of these. The other thing that this does, what we found is that actually this spreadsheet, everybody on our team, everybody who's managing projects pretty much everyone but the development team or the design team uses this tool all day long. Because the other thing that we found that it does is it's just like kind of the one document of record. Like how many of you guys have at this point in your business have like probably some Google Drive folder that has like a hundred contracts in it? Like how do you know how to find them? Like you try to do naming conventions and then business development people were terrible at naming conventions. We throw stuff all over the place. So how do you actually keep all that stuff straight to know what contract you're working on? So we came up with a contracting naming convention here and this translates to Harvest. Harvest has really great project codes. These client codes, this is kind of our document of record for client codes. Client codes are really easy to implement in QuickBooks. It allows us to kind of have everything on the right naming convention here. So our contract IDs here, it took a lot for the nerds to get the biz dev people to be cool with this. But the naming convention here you can't really see it but it's the client code. Then there's an M for the master services agreement that we're working under. So the MSA that we're using, the scope of work, the SOW has a naming convention and then this last part here, the C and then the zeroes. That's change orders. So that allows us to actually have kind of like our own Dewey decimal system to kind of track like, okay this project is a change order but to which scope of work and then which master services agreement do I go back to if I need to kind of understand the contracting terms. It allows us to kind of see how all that stuff works out. You know this is just a link to that document in Google Drive. The link to the Harvest project. So the idea here is that anytime we bring on a new project manager or account manager they can just use this form here and know where to go to actually figure out what's going on. That was like when I talked about that awkward stage like we had a project manager leave, I think we had two project managers leave between the size of like from being 12 to being like 20. And those are incredibly expensive transitions for project information but also just account information like how do you figure out what that change order that PM kind of got sign off on and all of that. So this document allows us to manage that. And again for each of these line items what is it? Is it a scope of work? Is it a master services agreement? Like so not, you know is it a change order? Is this a support contract or is this a proposal that we're managing? And what's cool here too if variables in Google Docs are awesome I can actually just define these pick lists in a spot here. I don't have it turned on now because I wanted you to be able to use this tool but Google Docs actually has really great new cell protection. Like to be able to have certain tabs or certain ranges actually be protected. So this way you can kind of like your admin, you can set this stuff up, let your project managers use it but there's certain stuff that you know that they can't accidentally hit a keystroke and kill everything. So I kind of manage what these tabs are, what these pick lists are. But we have our you know type, our status. You know so this is an active project? Is it in sales? Is it on hold? Is it completed? Is it a deprecated meaning that like we had this scope of work and then we gave it to the client, we have a copy of it in Google Drive but it's not the one we're working off of. Or you know we actually even use it for like managing sales metrics like did we lose the project? Or did we disqualify the lead all of that? So that we can do a lot of reporting on this. AMs and PMs this has kind of become our document of record to figure out wait we've got like four project managers and like three account managers. Who the heck is responsible for this project? Like as you grow it gets more and more difficult to think about all that and keep it all on your head. Percentage likelihood to close this is going to come in when we talk about sales stuff. Date we want it date we started it, date we completed it. The contract value which in most cases is I'm going to drop the size here just a little bit. Can you still see it okay? Contract value which is going to be billable hours under contract times billable rate. Unbillable hours under contract so this has actually been really helpful too. We were struggling with like not all of our contracts are set up the same way. We'd love it if it was just like we negotiate a rate everything's billable but sometimes you have clients where you need to have certain line items be listed as unbillable or we'll donate this feature so how do you actually manage that? Some projects it's flat rate, other projects it's a rate plus a discount of hours and features and stuff like that so this kind of allows us to kind of normalize all of that. When we get into this looking at support work like what's the max velocity that we can work on a project? Is this contract set up so we can only do 10 hours of support and then what are we actually tracking? What do we actually track against these contracts in harvest? So this is admittedly a bit of a pain in the butt to actually have to go through this and update what the actuals are in harvest to know kind of like okay well we have this contract for 100 hours, we've done 50 hours, how many hours do we have left? What's the value of this contract moving forward? So it's a little bit of a pain in the butt Marcy would you agree? Whatever. Marcy does this stuff. You know it's a little bit of a pain but the one thing that we've done just to kind of make it a little bit easier is like so we had these reports and then we would say we would actually just have a different one like we would change the data of the report to say okay let's do this all at once but what's interesting is when you get a lot of project managers they can't all just like do this on the same day at the same time so we've kind of and again it's a little old school to have to be doing this but we have this date checked value in here that says okay this is the last time that this line of the spreadsheet has been looked at. And that allows us to do updates to this spreadsheet asynchronously. Different people can touch it anytime they want throughout the week and we can kind of pay attention to that. So this is just a date field and what's kind of cool about it is that we have this conditional formatter in there and Google spreadsheets just a format conditional formatting that says if the date checked is not within eight days show that line item is red show that contract is red. So this for me as a manager it sounds silly but it's like a huge thing to have that in there because I can look at the spreadsheet and if I see a lot of red it means that the data is probably not the data is a little stale. So it's just kind of this visual indicator to me that okay like I'm not using the most recent data. I want to obviously there's obviously for us there's always going to be some amount of red in the spreadsheet. We can't update everything all the time. But this way I can kind of see okay am I working with good data or bad data. And again I can figure out what my tolerance is for bad data in terms of the decisions I'm trying to make. So this is kind of the data side here. So this is everything. Sales you know we have another conditional formatter. If something's in sales it automatically just turns to green. If it's been completed we just kind of have it grayed out but this is everything. So for our copy of this we've been using this for about two or three months. This tab here is big. There's probably 100 lines on it at this point. But again it kind of surfaces the stuff we need to surface with sorting and stuff. So where it gets really cool is actually the spreadsheets that deal with this data. So pretty much the only thing that our staff touches is this first tab and everything else is just getting calculated for us and it's just providing reports. So there's this cool function in Google Spreadsheets that I'm hiding here. The filter function in Google Spreadsheets. It'll actually do dynamic filters. So essentially what this filter is doing here is it's actually creating an entire list from that initial proposal of all of the contracts that are listed as active. So it's pulling this data right here and it's just pulling in that data straight away from the other tab and filtering the data that I want to see. Does that make sense? So I hide all of that because it's not really useful. And then this is all calculations based upon, this is all just doing some calculations based upon what I'm seeing there. And the long and the short of this thing is it allows me to say these are all the stuff that we have under active project. This is not support work. This is not sales work. These are just builds like feature development and new features. Whatever we have like a scope of work for and a project plan and a budget. It grabs all of that. And what it does is it says okay for everything active given what we've updated here in the other tab from Harvest. And I'll make this big because it's what do we have left to do? And again this is one of those things that like every time I wanted to figure this out before the spreadsheet I'd sit down in a coffee shop for like four hours and I'd go through every single contract for a project in Harvest on a piece of scrap paper and I would try to figure out what this meant. I never knew it was like such a pain that I probably did that only like once a quarter. So I didn't really have good insight. It was all just intuitive. So this is saying in this scenario given everything that we've recorded and done, here's the bill of hours we have available for us. This technical debt, this has also been something that's been incredibly helpful. So going back to that contracts and proposals I have a column that says what do I predict as of today is the technical debt that I'm going to need to do for this project that I'm not going to get paid for to make everything work. That's a good question. Everybody kind of finds it differently. For us it would be the client's not going to be happy unless we do these ten hours and we're not going to get paid for them. It could be other stuff. I mean so for us it's like Harvest, it depends a lot of the stuff has to get adapted to the tool which kind of stinks but like Harvest with kind of the way that the billing stuff goes. We just found the easiest thing was to have our rates per project. We do a blended rate. If you do a rate card, this stuff, I don't know how you're going to do this stuff. That's just, I current maybe you guys have this stuff with a rate card. I don't know like predicting. Yeah. No just in general like if you're doing like how do you know like how many hours you have available at the different rate card rates. Yeah. And those are, you guys have 100 plus people at different types of problems. Different types of oh yeah okay. Yeah so different types of problems. But for us with the blended rate this kind of works. So yeah so it's just how many hours are going to need to do you know like we know we finish this. We know we have a time immaterials contract but like good will is not going to be saved unless we do some extra work. And obviously we'd love for that to be zero but that's just never the case. It's not. No it's like we put a junior developer on this and they messed up a CSS thing and we're not going to build a client for it. And so but this is also something that we, this number right here is huge for us because it kind of just lets us say this is all the technical debt because then the next decision that's outside of the spreadsheet is I've got 50 hours of technical debt that I'm not going to get paid for. How do I manage that in terms of cash flow and client expectations you know. So that's a whole other conversation about how to manage that but like that number basically or this number is also helpful when I'm trying to negotiate a new sales contract and again it's some project using some cool technology and I know I'm not going to get billed for all of it but I really want that engagement so I'm going to give something away. How much can I give away given the amount of technical debt that I have moving forward that I know I have to give away. So that aggregate number is helpful. Technical debt, outstanding work the value of all the outstanding work again this is saying how many hours versus the rate that I'm probably going to get paid in reality for this work and that's kind of that's the order of these is a little off I just realized but that's kind of taking the effective billing rate and multiplying it by the outstanding work. So again I've kind of got a color coding conditional field here these numbers here these effective billing rates. If it drops I have a threshold of 100 Mongolian currency pieces for this if it drops below that it turns red and that is an owner I look at this number right here all the time and I'm trying to figure out oh I'm sorry I jumped spreadsheets but to figure out again like am I in trouble and are we dropping below the effective billing rate that we need to be able to hit our revenue goals and if I am that means well maybe I need to have some more uncomfortable conversations with some clients to say hey like this isn't a month or a two month period as I spill everything all over my computer where we can afford to do a lot of unbillable extra work or vice versa maybe you these conversations aren't static like the way you approach conversations with customers about stuff outside of contract changes some months you might be doing great and so you're like you know what this month cranking out billable hours I'm going to have a higher tolerance for a customer saying hey could you just do me a favor and do this extra feature here and not bill me for it this gives us a framework for that so again this is for our active projects and what's been helpful here is actually having two separate lines here one is what is our effective billing rate for all of our outstanding work so all the contracts that we have the amount of work we've done is the amount of work we've done just moving forward what can I expect to bill and then related to that but different is what is the effect of billing rate on those contracts so including the work on those contract the open contracts including the stuff that we've billed already so those are two different data points there right and it's helpful in different decisions with different decisions to be able to see either one largely this one's the most important how much money I'm going to make everything's done up till today how much money can I make moving forward so that's active projects again we have a similar tab here for support work this one admittedly I don't understand the exact science to this this is one of those tabs that we're iterating on trying to figure out and forecast support work has been something that's been really tricky for us it's not a big portion of what we do probably represents about 20% of our business at this point it supports a totally different beast you know I'm just trying to get some data and then going to go from there so on this one you know I'm not going to talk too much about this one because it's not great but you know trying to look at this is basically got some rough algorithms in here to look at okay well historically how many hours have we billed on average for the support contract you know we set up our support contracts generally like not to exceed we don't do retainers but it's like not to exceed 10 hours a month or 20 hours a month or 50 hours a month and then we kind of try to figure out well you know on the one hand you know if we're really good at kind of being proactive with the customer like we might be able to bill more hours under that support contract because we might be able to identify things that they want or you know figure stuff out and really push you know so you know we know we have a max that we can't a cap that we can't go over every month but we can hit that cap there might be other times where you know we have a cap but a client just doesn't ever hit it their sites really stable they don't have a lot of feature requests so you know the cap might be 10 hours but in reality we're doing security updates every month and it's like two hours of work you know so what we're trying to do here is kind of figure out well what's our average velocity you know what's our max velocity daily and then you know for a projected period you know going through this date and I just have it through the end of Q1 like how many business days are there what's our averages max and then try to have this spreadsheet kind of figure out well what could we bill under this and then what's kind of a realistic scenario for that does that make sense this tab admittedly like every organization is different I haven't nailed this one but it represents about 20% of the business so I'm not if it's off by 50% like it's not throwing off all of our numbers that badly so it's just kind of a predictive one the sales pipeline this one as a sales I love and spend a lot of time in so again this is just going back to that contract spreadsheet pulling in the percentage likelihood to close for these projects from that other tab from that first tab the likelihood of stuff to close and then what is the actual weighted value of our sales pipeline we just have some kind of internal not even written down kind of just rules of the road you know it's kind of sales meeting every week and our sales team kind of sits down and we just kind of play poker on it to figure out what it is different folks have more kind of robust categorizations on that and if you use like pipe drive or one of those some of those project products they'll actually have stages that are set you know so if a project's been submitted and you're in best and final it gets 40% likely to close we found that kind of having rough criteria for that wasn't as nuanced as we want because like best and final if you're doing that final presentation then there's two people that you're competing against versus ten like the percentages should be different you know so we just kind of we just kind of horse trade to figure that out so you know we have our proposal value and the billing rate and again like each project might have a slightly different billing rate if you're trying to like increase your billing rate percentage likelihood to close and then this is the weighted value the weighted number of hours given the likelihood to close and then the weighted value given the likelihood to close yeah we have a CRM we use Zoho I'm not super stoked on it it's ironic that we're Salesforce leads and we don't use Salesforce but Salesforce is friggin expensive we use it for non-profits so it's free for them so but yeah we use a CRM mostly for marketing stuff to be honest like the reports we just couldn't figure out I'm a terrible developer so I just I didn't want to have to try to figure out API stuff to populate this from something else so it's a little duplication you know but again like okay so how many and that allows us to have this roll up how many hours do we have in our pipeline what's the face value of that sales pipeline because like these are also two different ways of looking at it what's the face value of all the leads that we're going after what's the pipeline value if we kind of adjust for percentage likelihood to close on each of those projects and that allows us to figure out what's the face value effective billing rate that we can anticipate for the stuff is in the pipeline versus what's the weighted value knowing that different things are more likely or not that makes sense cool so that lets us roll up to this single dashboard right here and again this I just kind of keep this open all the time throughout the day and this is kind of like the ten thousand foot view if we take all of our active builds you know we take our support work that we have we take our sales pipeline what is kind of our forecast what's our runway moving forward so I get the details again just kind of pulling in the recaps from each of those other spreadsheets and then these numbers right here these four numbers are the ones that if I did stay up at night not be able to sleep would be the things that I would stress about the most so taking everything sales pipeline everything that we have how many hours from today moving forward with likelihood to close and support and all that can I kind of just anticipate that our team needs again these are made of values what's the value of that work what's the effective billing rate for that work what's the average billing rate going to be there what my costs are in this case you know a hundred thousand of these current this kind of made up currency what's my runway like what what can I comfortably say that like if we stopped selling if we didn't have any change orders you know if we if we didn't do any additional sales work from today forward like what can I anticipate in terms of the number of months that I have available to me so for us with this I'll say that I like this number to be like seven and a half months you know that's all a matter of risk a matter of like cash flow a matter of like cash reserves all of that kind of other information that's just like a decision that you have to you know tolerance for risk and stuff like that but for me and for our business you know I'll just say we like to keep I'll be very transparent with you guys we like to keep like probably two months worth of expenses cash in the bank then we want to have like another three months another two months of accounts receivable so stuff that we build but you know you never know if it's not cash you don't know that people are going to pay it and then like a month or two of credit so that's kind of like what we have you know obviously accounts receivable cash in the bank those numbers are variable so we're still trying to work out what would be the right algorithm for that because they're not worth the same you know three months of cash receivable and no cash it doesn't matter you know you're kind of screwed and then that line of credit like we would never want to ever touch our line of credit but just kind of having that out there just kind of allows us to kind of worst case scenario things and then in terms of our runway you know for us twenty person shop being fairly very conservative fiscally you know we try to have at least six months of work lined up in terms of support and active projects and then I'd say another well not six I'd say like four months six would be awesome but again like is this if there's a balancing act between amount of work that we have under contract versus what's in the sales pipeline you know and those kind of go up and down correspondingly I'd say probably like three to five months of work under contract that we haven't touched and then another like three to six months of stuff that's in the sales pipeline so it makes sense cool alright I don't think it's just like two minutes two three minutes for questions you guys have any questions any feedback or stuff that we're totally missing here that means our business sucks that's a great question we don't practice open books because I think to practice open books takes a level of maturity in your management style that like if you open books done wrong it's catastrophic you know so we in our organization we have what we call our small council it's our kind of director level folks is plus a couple other folks who kind of like have operational roles and with those folks we're very transparent on top line numbers and bottom line numbers some of the stuff on salary we've been slow to kind of roll that out you know it's a new thing for us to have a middle management structure so we've again just wanted to make sure that information is useful to those managers so we're kind of rolling that out and educating directors on how to make hiring decisions being a team of 20 and having four directors and two C level staff is a little bit overkill but it's kind of like you know for us it's a future proofing thing so we're rolling it out but yeah I mean some shops do that everybody knows what everybody else makes and I've heard of it being effective but like it can also get really misconfusing yeah I think the thing there that's tricky is like stupid developers get more expensive every year so it's like you know sometimes the raises are on a different schedule from like what you need because like you just close the deal you have to have somebody tomorrow and so you're negotiating like it gets a little awkward sometimes if you don't have the time to tell everybody everything but you're a larger team too right yeah so yeah so you guys have some different things you're dealing with anything else what's that well that's mostly in this sales pipeline oh like actual lead gen we you know we're we're just that's an area where I need to focus this summer like we I don't have great metrics on that you know we're starting like once a quarter to do that's an area where we're iterating really quickly like win-loss rates stuff like that it's also an interesting one like marketing dollars like what month of revenue should be tracked against the marketing dollars to know how effective they are because obviously the marketing you do this month is not the revenue you make this month so trying to figure that out if folks have ideas on this and have other templates I'd love let's share them over Twitter and let's keep a dialogue going because I don't know what the right answer is there we're still playing with it yeah that we have a different spreadsheet like I said like we're exploring whether or not forecast app could replace it but we have just a big spreadsheet that is every staff person every project they're working on all the unassigned work for each different project and by different category and we kind of we just horse trade with that the project managers love it it's it's it's very it's a very crude tool like there's just a lot of it's prone to user error but it's the best tool we could come up with we have a we have a resource allocation meeting every week and then every other week we have an ampm account management project management meeting and so we're constantly just trying to it's it's very manual unfortunately I wish that it wasn't no well it's all fixed it's all time in materials not to exceed yeah so yeah yeah it it plays into it it it keys off of this billable hours matrix to try to understand what are reasonable what are reasonable commitments we can make based on staff you know and that's something too like PTO debt is an interesting one too you know people take people earn you know 4.6 hours of PTO every single week but they don't take 4.6 hours every week so that's another thing sorry I haven't turned off that's not me so we have a yeah so that's another kind of we do in our P&L report at the end of the month like if we've made a ton of money in a given month but nobody took any PTO then you know that's great from a cash flow perspective but we're accumulating PTO debt like technical debt that comes up down the road you know typically December or whatnot so yeah so that's and Zenifitz actually has some decent reporting on on that that kind of help out a bit so cool anything else we are over on time yeah maybe I need to change the access control