One problem I always have in game design is designing the data. I can design the rules, like how units battles, but selecting which values those units have is complicated. There are various ways that I know how to deal with those situations, but feel free to give additional suggestions:
A) Improvise, give semi random values and make some tests. The problem is that I might be a bit too much OCD to be able to completely improvise. I am constantly thinking balance in my head.
B) Give all units the same stats, then vary slightly as the design progress. This solution could be more viable, as you only need 1 unit to design, and then you introduce new stats variation one by one as you make more tests. Still those variations would require at some point improvisation.
But I was thinking of another way, make the computer chose for me. The idea is simple. I wanted to create a computer program that simulates battles between designed units to determine the efficiency of each of them in order to balance the game.
Now I could do the other way around, generate units randomly, make them fight each other and keep the most efficient designs. Still, it will select the most efficient units according to the currently implemented rules, change of rules will require re-battling the units.
Maybe I am overthinking too much and should just use method B, unless you have other ideas for people who cannot improvise.
Once I have a set of units with working rules, I could make combat and probability simulation to determine what is the weight of each stats.
But I am not there yet, I am at early unit design. I need units to test if the rules works. Then determine which changes should I make to the rules.