Opportunity GO/NO GO and Cost Tracking in Deltek Vision
Go/No Go decisions can often be tricky to do at best, and often end up being done informally without really viewing the associated risks and costs in pursuing an opportunity, not to mention how much variability can be introduced without a standard process. So with that in mind it might be worth considering adding a Go/No Go tab in your opportunity info center to show your risks and track yours costs when pursuing an opportunity.
One of the first component to look at in pursuing the opportunity is if the cost in pursuing opportunity even makes sense, so do rough estimation of cost to create the proposal for production, then ballpark the non-technical and technical staff costs and add any travel. In this example the hours are entered for each staff type are then estimated into rough costs, and then totaled with the other costs and finally divided by the opportunities estimated revenue. If it’s over a few percent, it might be time to move on to the next opportunity. To track the actual cost you can bring in the charges that actually hit the proposal project so that you can report on these later and identify any issues.
There are a few calculations that need to be done to make this example works. The first is calculate the Labor Cost, then calculate the Total cost, and finally calculate the % of Estimated Revenue. To create these calculations go to Configuration > Workflow > User Intiated Workfllow and choose Opportunities from the Application drop down. Either add a new Change Workflow to the top section first, or choose and existing change workflow and click Insert in the Actions and choose “Column Field Change”. For the first example choose the UDF to be updated, in this example it’s the field that holds the Labor cost, called custEstimatedHrlyCost, then click the “…” to get the SQL Expression builder.
The expression is pretty simple in this case, it’s the field containing the estimated Non Technical Staff hours multiplied by a rate, in this case $60/hr is uses, and again the same thing for Technical staff, and the two values are added. One thing that is important is the order of operations, so () are used to make sure the rate * hrs is calculated before the two values are added. So simply select the Estimated Hours user defined field from the Column list and click Add Column, then choose the *, enter your rate and then click and add the ( before and then ) after the rate. Click the + and do the same procedure for the technical staff.
The next step is to total up the Labor costs, which were just calculated, with the Production and Travel costs. To do this just add another Column Change Field workflow, select the column to store the total and choose the SQL Expression Builder by click the ellipses. Now just choose the 3 cost subtotal columns and add them.
The last step is to calculate the % of Estimated Revenue, again just add another workflow and choose the % of Revenue UDF to be updated and open the SQL Expression builder. And now you can simply divide the Total Cost by the Estimated Revenue. The one trick here is to use the Cast function to prevent rounding error’s, so after the TotalCost UDF is added enclose it with Cast([udfTotalcost] as float), this will ensure it’s treated as a decimal value. Then divide by the Opportunity’s estimated Revenue, again enclose with parentheses and multiply by 100.
Another common practice when estimating jobs is to look at the industry standard metric costs and compare them against your estimate to see if you’ll be competitive. In this case construction projects can be check by entering an estimated square footage and then estimated construction cost to get a Cost/Sq Foot and % of Construction Cost based on the estimated revenue. Those assist with making sure you’re in the right ball park. If you can’t deliver to the industry’s benchmarks, you’re probably not going to be in the running.
To get the Cost/Sq Ft and Est % of Construction, it’s the same type of workflow’s that were just covered. Create two more workflows and choose the UDF to be updated and create the expressions as seen below.