Calculating Account Plan Progress Using the Account Plan Hierarchy
- iPad
- Browser
Key Account Managers (KAMs) can monitor progress of an account plan so they can understand where to invest time and resources and keep the plan on track.
Progress is calculated in real time by default for the fixed hierarchy. If other objects in the hierarchy are used, for example, action items or custom objects, admins can enable the Account Plan Progress job for daily progress calculation. When activated, progress is calculated daily for the customer-defined hierarchy (as defined in the Account_Plan_Object_Hierarchy_vod Veeva Setting). When using the Account Plan Progress job, progress is not calculated in real time for the fixed hierarchy.
Configuring Account Plan Progress Calculations
To enable progress calculations based on the Account Plan Object Hierarch:
-
Define the object hierarchy using a comma-delimited list using Vault relationship format in the Account_Plan_Object_Hierarchy_vod Veeva Setting.
Key considerations and restrictions for the hierarchy include:
- The top-most level is Account Plan
- The bottom-most level is either Call Objective or Action Item
- The middle tiers of the hierarchy can be Veeva objects or custom objects
- The first object in the comma-delimited list (if defined) corresponds to the second level of the hierarchy (i.e. the level immediately below the Account Plan itself)
- The second object in the comma-delimited list (if defined) corresponds to the third level of the hierarchy
- The third object in the comma-delimited list (if defined) corresponds to the fourth level of the hierarchy
Example:
Hierarchy - Account Plan > Plan Tactic > Account Tactic > Action Item
Veeva Setting - Plan_Tactic_vod__c.Account_Plan_vod__r,Account_Tactic_vod__c.Plan_Tactic_vod__r,Action_Item_vod__c.Account_Tactic_vod__r
- For custom objects in the hierarchy, add the following fields:
- Progress
- Field Name - Progress_vod
- Data Type - Percent(18,0)
- Status
- Field Name - Status_vod
- Data Type - Picklist
- Picklist Values - Completed_vod, Pending_vod
-
Grant at least Read permission to the Status_vod__c fields for all the objects in the hierarchy and add to page layouts as appropriate.
If users should manually edit the status, grant Edit permission. Status will be automatically updated to Completed_vod for all objects in the hierarchy except the last level when Progress reaches 100%.
-
Grant Read permission to the Progress_vod__c fields for the objects in the hierarchy and add to page layouts as appropriate.
-
Navigate to Setup > Custom Code > Apex Classes.
-
Select Schedule Apex.
-
Select the VeevaRollupsSchedulingWrapper and define the frequency for progress calculation.
-
Disable the following triggers:
- Account_Tactic_After_Upsert_Before_Delete on Account_Tactic_vod
- Plan_Tactic_After_Upsert_Before_Delete on Plan_Tactic_vod
- Call_Objective_after_upsert_before_delete on Call_Objective_vod
If any objects in the defined hierarchy are missing Status and Progress fields, the job will fail.
As a consequence, roll-up calculations for the fixed Account Plan model (Account Plan – Plan Tactic – Account Tactic – Call Objective) are not performed and the following field values are not calculated on the objects below:
- Account_Plan_vod
- Completed_Plan_Tactics_vod
- Plan_Tactic_Progress_vod
- Total_Plan_Tactics_vod
- Account_Tactic_vod
- Call_Objective_Progress_vod
- Completed_Call_Objectives_vod
- Total_Call_Objectives_vod
- Plan_Tactic_vod
- Account_Tactic_Progress_vod
- Completed_Account_Tactics_vod
- Total_Account_Tactics_vod
This feature also allows custom objects to be added to the hierarchy and considered when calculating progress and can be used in conjunction with Using Action Items for KAMs.
Progress Calculation Logic:
- Progress at the first level (for example, the Account Plan level) is determined by counting the number of completed records at the second level (defined by the first object in the comma-delimited list of the hierarchy Veeva Setting) and dividing that by the total number of records (for example, complete, incomplete, etc.) at the second level
- Progress at the second level (for example, the level immediately below the Account Plan, defined by the first object in the comma-delimited list of the hierarchy Veeva Setting) is determined by counting the number of completed records at the third level (defined by the second object in the comma-delimited list of the hierarchy Veeva Setting) and dividing that by the total number of records (for example, complete, incomplete, etc.) at the third level
- Progress at the third level (defined by the second object in the comma-delimited list of the hierarchy Veeva Setting) is determined by counting the number of completed records at the fourth level (defined by the third object in the comma-delimited list of the hierarchy Veeva Setting) and dividing that by the total number of records (for example, , complete, incomplete, etc.) at the fourth level
- Progress based on Call Objectives is determined based on the Completed Boolean flag (Completed_vod = TRUE)
- Progress based on objects other than Call Objectives is calculated using the Status picklist (Status_vod = Completed_vod)
Calculations only roll up for records with a status of Pending_vod.