Before focusing on a specific algorithm or analytic tool, first identify one or more specific research hypotheses you would like to test with this data.
- What are the reasons why you want to segment these customers?
- Based on what you already know about the business, what information might be required to meaningfully distinguish between customers? Does this information already exist in a useable format? If not, what steps would I need to take to gather the necessary information?
- What would be my null hypothesis / hypotheses?
- For each null hypothesis, what would be my alternate hypothesis?
If you're trying to group customers into market segments, you'll need more information than what is provided in this data set.
For example, a number of the variables in the data set referenced in the original post don't change across transactions within an individual customer (e.g. a business account never does individual account transactions), and therefore likely contribute little valuable information to the analysis (i.e. you already know that minors behave differently than adults). Starting with a set of research hypotheses will allow you to determine the data you need to collect in order to conduct a useful analysis of the data.