Add a configurable filter for the last call in a repeat-contact chain
Add a configurable filter that allows users to determine whether a call is the last call in a customer’s repeat-contact chain.
The filter should also support the reverse condition, allowing users to identify calls that were followed by another call from the same customer within the configured interval.
This will allow users to separately analyze:
calls that completed a repeat-contact chain;
calls that resulted in a subsequent repeat contact.
The second group can be used for further analysis of the root causes of repeat customer contacts.
Business Goal
Provide users with a flexible tool for analyzing repeat customer calls and identifying the position of each call within a contact chain.
The filter should help users:
identify calls after which the customer did not contact the company again within the defined period;
identify calls followed by another customer call;
analyze potential reasons for repeated contacts;
apply different chain closure intervals depending on the required methodology.
Recommended Filter Structure
Filter Name
Call chain position
Available Values
Last call in chainFollowed by a repeat call
Additional Parameter
Chain closure interval
Example:
Call chain position:
Last call in chainChain closure interval:
72 hours
If the existing filtering framework requires a Boolean structure, the filter may be implemented as:
Filter Name
Last call in chain
Values
YesNo
Where:
Yesmeans that no subsequent eligible call occurred within the configured interval;Nomeans that another eligible call occurred within the configured interval.
The explicit values Last call in chain and Followed by a repeat call are preferred because they make the filter behavior clearer to the user.
Terminology
Call Chain
A call chain is a chronological sequence of eligible calls associated with the same customer.
Calls should be linked using the customer identifier defined by the existing repeat-contact methodology.
Chain Closure Interval
The chain closure interval is the maximum time allowed between two consecutive eligible calls for them to belong to the same chain.
The interval must be configurable and must not be hardcoded.
Users should be able to specify any supported interval, for example:
24 hours;
48 hours;
72 hours;
7 days.
Last Call in Chain
A call is considered the last call in its chain when no subsequent eligible call from the same customer occurs within the configured interval.
The call can only be confirmed as the last call after the full closure interval has elapsed.
Followed by a Repeat Call
A call is considered followed by a repeat when another eligible call from the same customer occurs within the configured interval.
Calculation Logic
Eligible customer calls should be grouped by the customer identifier and ordered chronologically.
For each call, the system should check whether another eligible call from the same customer occurred within the selected chain closure interval.
Last Call in Chain
A call should match Last call in chain when:
no subsequent eligible call exists within the configured interval;
the configured closure interval has fully elapsed after the call.
Followed by a Repeat Call
A call should match Followed by a repeat call when a subsequent eligible call from the same customer exists within the configured interval.
The reverse filter must return the earlier call that led to the subsequent repeat contact, rather than the repeat call itself.
Configurable Interval
The chain closure interval must be selected by the user when applying the filter.
Changing the interval must dynamically change the calculation result.
The interval should use an exact elapsed duration.
For example:
72 hours should represent an exact period of 72 hours rather than three calendar days.
The interface should use the platform’s existing duration component where possible.
Pending Calls
A call cannot be confirmed as the last call in a chain until the selected closure interval has fully elapsed.
Until then, the call should remain unconfirmed.
An unconfirmed call should not be returned by the Last call in chain filter.
It should only be returned by the Followed by a repeat call filter after a subsequent eligible call has occurred within the selected interval.
Where appropriate, the interface may display an informational message such as:
Calls from the most recent selected interval may not yet have a confirmed chain status.
Date Range and Buffer Logic
The calculation must use an additional data buffer after the end of the user-selected reporting period.
The buffer is required to determine whether calls near the end of the selected period were followed by another call.
The buffer length must always be equal to the selected chain closure interval.
Calculation range:
Selected reporting end date + chain closure interval
The buffer should only be used for calculation purposes.
Calls located within the buffer but outside the selected reporting period must not be displayed in the results unless they independently match the selected reporting range.
A call outside the selected reporting period may affect the classification of a call inside the selected period.
If the user changes the closure interval, the buffer must be updated to the same duration.
Interaction with Other Filters
The call-chain status should be calculated using the complete set of eligible calls required by the repeat-contact methodology.
Other analytical filters should be applied after the position of the call in the chain has been calculated.
Filters such as agent, team, queue, topic, tag, call outcome, or other analytical parameters must not hide a subsequent eligible call from the chain calculation.
Otherwise, applying an additional filter could incorrectly change a call from Followed by a repeat call to Last call in chain.
Other filters should determine which calls are displayed in the final result, but they should not change the underlying chain structure.
Current Behavior
The platform does not currently provide a configurable filter for identifying:
the last call in a repeat-contact chain;
calls followed by another customer call within a selected period.
Users cannot directly isolate calls that potentially resulted in repeated customer contact.
This analysis must currently be performed manually or outside the platform.
Expected Behavior
Users should be able to:
add the call-chain position filter;
select
Last call in chainorFollowed by a repeat call;configure the chain closure interval;
combine the filter with existing analytical filters;
receive correctly classified calls within the selected reporting period;
use a calculation buffer equal to the selected closure interval;
export results consistent with the data displayed in the platform.
Functional Requirements
FR-1: Filter Availability
Add the filter to supported analytics sections where call or conversation filters are available.
FR-2: Position Selection
The filter must support two conditions:
Last call in chain;
Followed by a repeat call.
FR-3: Configurable Closure Interval
The user must be able to define the chain closure interval.
The interval must be greater than zero.
FR-4: Dynamic Calculation
The call-chain position must be recalculated based on the selected interval.
The same call may receive a different classification when a different interval is selected.
FR-5: Reverse Filter
The Followed by a repeat call condition must return calls after which another eligible call occurred within the configured interval.
FR-6: Calculation Buffer
The system must check calls after the selected reporting end date using a buffer equal to the configured interval.
FR-7: Reporting Range
Only calls within the selected reporting period should be returned as visible filter results.
Calls outside the period may be used for calculation but should not automatically appear in the results.
FR-8: Pending Status
Calls for which the selected interval has not yet elapsed must not be classified as confirmed last calls.
FR-9: Filter Order
Call-chain classification must be completed before analytical filters that could exclude subsequent calls are applied.
FR-10: Automatic Updates
The status of a call must be updated when:
a subsequent eligible call occurs within the interval;
the closure interval expires without a subsequent eligible call;
relevant historical call data is added or corrected.
FR-11: Export Consistency
Exported results must match the results displayed after applying the filter.
Calls used only as calculation buffer records must not be added to the export.
Acceptance Criteria
The call-chain position filter is available in supported analytics sections.
The user can select
Last call in chain.The user can select
Followed by a repeat call.The user can define a custom chain closure interval.
The system identifies calls followed by another eligible customer call within the configured interval.
The system identifies confirmed last calls when no subsequent eligible call occurs within the interval.
Calls for which the interval has not yet elapsed are not incorrectly classified as last calls.
The system uses a calculation buffer equal to the selected interval.
Calls from the buffer affect the classification but are not automatically included in the visible results.
Other analytical filters do not change the underlying call-chain structure.
Changing the closure interval recalculates the filter results.
The reverse filter returns the call that preceded the repeat contact.
Filtered exports match the results displayed in the platform.
The functionality uses the existing repeat-contact methodology and its documented corner cases.
Log in to comment and vote
No comments yet
Be the first to share your thoughts.