Tuesday, January 28, 2014

The Next Step for 'Next Step'

Salesforce provides a standard 255 character Next Step field. For many sales reps on the go, this is plenty. It could be as simple as 'Schedule call with CMO...' It provides a little more color than a Sales Stage.

One of the very first things done on the 'Next Step' field is enabling History Tracking to help them see what was there before.  And users can see the previous values in the Opportunity Field History related list.  This history table is also reportable but since the table has so many entries, performance may suffer.

For a sales professional with 5 to 10 active deals at a time, noting down next steps may not be as useful, especially if he or she has good memory. But it also helps his manager see what the next steps are without having to call him.  For sales professionals that have 20 or more active opportunities, logging next steps is essential.

As an administrator, the simplest View to provide sales teams would be 'My Opportunities with No Next Steps' so that they can start filling them out.  That would be pretty straightforward with a criteria of Next Steps equal to '':


We can add other criteria like Closed equals FALSE as above to show just open opportunities.

But of course, once the sales person has filled out all his next steps for all his opportunities, the View becomes useless.  New items will pop up in the list only when new opportunities are added and Next Step was blank.

Making the field required on the page layouts will also help minimize having blank 'Next Step' fields.  But again, after they are all filled out, a sales person will forget to update them.

So what is the next step for 'Next Step'?

What we need is a time stamp to capture when Next Step was last updated.  This way users can have a view (and a report) of open opportunities whose Next Step has not been updated in the last x days.  We will have to determine with sales management what is an acceptable lag between updates, taking into consideration the sales cycle and the market we are selling into.

So how do we capture the date and time when Next Step is updated?

We need a Workflow Rule that checks if Next Step is changed.  The ISCHANGED formula is very handy in this situation:

ISCHANGED (  NextStep )

Make sure that the Evaluation Criteria evaluated every time the record is 'created, and every time it’s edited.'

We will also need a new Field Update on a new field, say 'Next Step Last Modified', and set it to 'NOW()'.  It is always a good idea to set this new field to Read Only for all profiles to maintain its  integrity.



This field update will be the only action on the workflow rule.  Once it's activated, each change to the Next Step field will trigger the workflow and capture the current date and time in the new field.

The new View would look something like this:


Note the use of 'LAST 60 DAYS'.  This link provides more information: Salesforce Date Literals.  If the link becomes obsolete, simply use Google to search for 'Salesforce Date Literals'.

In recent years, Salesforce has allowed field updates to reevaluate workflow rules.  It may be possible to add a time-based email alert 30 days later to remind the opportunity owner to update the Next Step on his opportunity.  We will explore this exercise in the future.


Wednesday, January 22, 2014

Expanding on Win Loss Ratio

One of the simplest reports that admins build in Salesforce is a Win/Loss Ratio report.  In its basic form, you create a report of all closed opportunities and break them up between Won vs. Lost (using the Won field or the Sales Stage itself).

I personally like to use the words Won and Lost, which may not be the exact words in Sales Stage.  So I create a bucket field called "Status" on my report that is based on the Sales Stage field.   I bucket my Won stages under "Won" and all my Lost stages under "Lost".






And with that, I can create a report with a chart based on my new bucket called Status.




This is especially useful if you have multiple sales processes or legacy data that had different stage names for Lost, e.g. Closed - Lost, Lost - Closed, Closed - Booked, Closed - Won.

Now the big question here is how useful is a raw Win/Loss Ratio for a sales manager.  It may be a mildly useful statistic that his sales team loses 50% of opportunities.  That may mean he must always have twice as much in his team's pipeline as his remaining target amount.

But if we take it a step further, a low win-loss ratio is just part of the story.  It would be useful to find out at what stage does his sales team lose your opportunities.  That may give the sales manager insight into how well his team qualifies an opportunity.

For example, losing an opportunity at an early sales stage may not necessarily be a bad thing.  It may just mean that the sales person qualified it, asked the right questions, and found that his product doesn't fit, or his customer has no budget.

Losing opportunities at a later stage may point to a different problem.  If a rep loses a deal right before the contracts were due back from the customer, it may mean he didn't qualify well enough, or he wasn't talking to the right people, or there was a change in direction at the customer.

On the flip side, winning an opportunity while it is still in an early stage could mean that you have too many stages, or the rep is not good at updating his pipeline for example.

Salesforce does not automatically capture the Sales Stage before a deal is won or lost.  While you can run reports on Opportunity History, it may be useful to create a workflow to capture the value on the Opportunity itself.  This helps you create reports based on Opportunities with Products, as Salesforce will not allow you to report on both the history table and the product object together.

Let's explore how to do it.

You will need a field to capture the Sales Stage Before Closure.  It could be a text field of 255 characters.

The workflow will be quite simple.  It should fire every time a record is updated, and the criteria would be when the Sales Stage is changed, and it is being closed.  Using a formula it would read:

AND (ISCHANGED( StageName ),  IsClosed )

This workflow will execute a field update on your custom field above to capture the previous sales stage.  To do so, you simply need the following formula:

TEXT( PRIORVALUE( StageName ))

This captures the Sales Stage before it is changed to Won or Lost.

And with this, you can create reports and charts to answer questions like: What is my Win Loss Ratio excluding those lost in Stage 1.  Or, how much is lost in Stage 4 through 7?  Who has been skipping Stage 1 to 3 and goes straight to Won?  And so on...













Monday, January 13, 2014

Salesforce: The Power of One in Action

A few years ago at Dreamforce, there was a session on reporting that discussed "The Power of One".  In summary, you create a number formula that always evaluates to 1.  In theory, you add this as a summarized column in your report and you can get record counts.

But why do you need this, when record count is available as a standard field?  Let me attempt to explain it, and then we'll see it in action.

The standard record count is fine if you are reporting on a single object.  In other words, your report type is based on a single object, say Accounts, or Opportunities.  Record count is the number of Opportunities in your report.

Now if you use Opportunity Products, which is a child object of Opportunities, and run a report of Opportunities with Products, your record count is actually the number of opportunity product lines, not just the number of opportunities.

You may recall high school mathematics concepts of Cartesian products and unions in Set Theory, but I won't go there.

Let's see this in action:

I have 3 opportunities, and each with 2 product lines.  If they are all in one report, the report record count will show 6.

But management wants to know how many opportunities there are, besides how much and what is product mix. In a recent example, a manager tasked with selling a specific family of products asked how much business is in the pipeline for his product family, and how many opportunities are there?


So, first create a field called "Opportunity Count", which is a number formula:




And then you can add this to any Opportunity report based on a standard report type.  If you have a custom report type already in use, you will need to add this field.

Summarize the count as a sum, and you can create a chart that looks like this, which tells you how much value is open and how many are open:






As you can see in the report itself, the standard record count is 30, but the sum of Opp Count is only 29.  I have one opportunity that has two line items.





It's pretty straightforward once the field is there.  Maybe in a future posting we can explore what else we can do with this Count field.


Saturday, January 4, 2014

Autonomous Driving Cars

In a recent article in Automobile Magazine, they said that by 2020, new cars would be able to communicate with each other.

I can only imagine the conversations that they will be having:

"Hey, move out of the way, slower traffic should keep right!"

"Watch out!  My driver doesn't know how to use the brakes!"

And of course, with assisted braking, traction control, and all new driver aids that will make us more "passengers"  rather than drivers, they may say something like:

"Take heed!  I'm applying the brakes myself because my driver is not paying attention."

Some models will also have self-diagnostics, and can communicate with the dealership.

"Looks like I'm due for service, and I'm not tracking straight.  Can you check my alignment when I come in?"

And with all that plus GPS location services, weather services and traffic info, it can call the police.

"Police department?  I'm parked at a dive bar, the road home is icy, I've got 5% tread left and 1mm of brake pads left.  Looks like I'm the designated driver.  This is not going to end well."