Skip to main content

We are analysing a contract cancellation process and I would like to calculate the average throughput time between the cancellation notice and the first customer touchpoint per touchpoint.

Different activities can be the first touch point, e.g. the cancellation confirmation or an outbound call. I would like to know the throughput time per touch point, e.g. "in cases in which the first touch point is the cancellation confirmation, the average time between cancellation notice and cancelation confirmation is xy"

Some additional info:

  • The process does not always start with the cancellation notice. There can be touch points before the cancellation notice, that we want to ignore
  • there can be several cancellation notices in one case; we want to start calculating the throughput time from the first notice. If there is another cancellation notice it is a customer touch point
  • We are working with an on prem solution, so not all pql formulas work
  • Here you can see the desired structure, with Source always being the cancellation notice and Target the closest following customer touchpoint

image 

What we tried:

We tried using source(), target() and Minutes_between(source,target)

However, when limiting source to the cancellation notice, target is limited to this activity, as well:

SOURCE(

 "CEL_PS_PC_ACT_FULL"."ACTIVITY_DE"

 ,REMAP_VALUES(

  "CEL_PS_PC_ACT_FULL"."ACTIVITY_DE",

  <'Kündigung geht ein', 'Kündigung geht ein']

  ,NULL

 )

 )

 

Is there a solution for this using pql?

 

Hi Johanna,

 

As i understand you wish to calculate the avg time between the cancellation notice and the immediate next touch point. You can try using this formula for calculating the same :

 

AVG(days_BETWEEN (

LAG("_CEL_O2C_ACTIVITIES"."EVENTTIME",ORDER BY ("_CEL_O2C_ACTIVITIES"."EVENTTIME"),

PARTITION BY ("_CEL_O2C_ACTIVITIES"."_CASE_KEY","_CEL_O2C_ACTIVITIES"."Kündigung geht ein"))

, "_CEL_O2C_ACTIVITIES"."EVENTTIME" )

)

 

Best,

Riddhi

 


Reply