Identify members who are likely to switch where they receive drug administration I have access to medical claim data from a large health insurance company. As some of you may know there is a large delta between the price of drug X depending on where it is administered.
My company wishes to help members to reduce the cost they pay in deductibles, co pays, and coinsurance as well as reducing the cost for the health play by identifying the lowest cost of care typically home infusion or physician administration.
I am researching various approaches and customer segmentation modeling seems like the best approach to this sort of problem.
The claim data goes back 3 years and is at a member level. For each member claim, there could be many records in the DB. One line could be for 2hrs of chemo admin, another for the drugs they were provided, others for nurse's time, etc. Each row specifies where the site of care was i.e. home infusion, physician, outpatient, specialty pharmacy. Each claim also provides details on the primary diagnosis I.e. rheumatoid arthritis (R.A) etc.
Ideally, I would like to identify those members who use expensive sites of care when there are cheaper alternatives available. I was thinking for example that for primary diagnosis for R.A I could filter down to R.A members using the diagnosis code and then cluster those members based on certain input features such as demographics, distance to home infusion center/hospital/physician, level of cover, frequency of refill, dosage, cost of a drug, the current site of service, etc.
Is my approach right or is there a better way to solve this problem other than clustering?
Given that the data is labeled, just perform supervised approaches, they will almost always beat unsupervised.

Intuition why thats the case is because we dont have target function in unsupervised approach. In other words function that discriminates classes given our data set. I like to think that in unsupervised learning this function is identity function and not (what in reality is) some complex one. Given an entire data set, we are asking for a partitioning of the input space, with particular properties (the partitions contain almost all examples, each partition is not too large, the partitions are not too close to one another) but this kind of partitioning does not map to the real classes (since we are expecting classes that are clearly seperated in the dataitself but in reality they have some non-linear seperation, and this non-linear/complex behaviour is represented in terms of some function. That supervised approaches approximate (you can think of almost every supervised approaches as an optimisation))