How you partition your data should be determined by how you will access that data. For instance, if I will be accessing data from my large table one month at a time, then partitioning by some date field makes sense. If I will be accessing the data by district, then partitioning on the DISTRICT column makes sense. If I will be accessing the data by sales totals, then partitioning on this column makes the most sense. So you'll have to take a detailed analysis of the queries that will be issued against the data.
Look at the WHERE clause. See if you can spot a pattern which leads you toward the most logical method of partitioning your data. If your queries most commonly query data from one month or another, then partitioning by geographical region does not make much sense. Your queries for one month would most likely hit each and every partition and you won't realize performance benefits from this approach.