A behavior-driven prioritization diagnostic to protect limited human execution capacity
GitHub Project Repository: customer-action-prioritization
The Decision
Customer operations run on limited human capacity. Differentiating treatment without a behavioral reason increases risk and wastes time, so the question is whether customer behavior warrants specialized handling under current resource constraints.
Intervention requires strong proof:
- Sending resources to the wrong customer is a material loss.
- Sticking to a standardized approach is the correct choice when evidence is weak.
Diagnostic Testing
Behavioral profiles were built from transactions and tested for natural separation, stability, direct action, and low risk.
Dimensionality Reduction Showed Artificial Variance
Assumption: Customer behavior forms distinct natural profiles that justify differentiated handling.
PCA loadings were dominated by account lifecycle and exposure profiles. Older customers look different because they have more transactions over time, not because their behavior differs.
Insight: Dimensionality reduction produced artificial variance and was dropped as a decision input.
Clustering Failed To Produce Clear Groups
Assumption: Customers separate into stable, actionable groups.
Silhouette diagnostics showed too much overlap; higher cluster counts forced arbitrary lines through continuous data.
Insight: Adopting these segments would create a real risk of misclassification, so segmentation was rejected.
Because the data lacked separation, abstract models were rejected. Only stable signals like seasonality and cancellation stability were kept for routing.
Recommendation
No reason exists to move beyond standardized or automated handling.
- Zero customers qualified for high-touch assignments.
- Most customers show enough stability for automation, which is the safest way to protect capacity.
- Some customers might benefit from manual help, but there is no reliable way to find them without guessing.