I like this question because it provides an opportunity to showcase how one can use the simplest of mathematical analysis, full of simplifying assumptions, and still get something useful/applicable.
So let's call "advanced" and "basic" the two versions of the software. Each customer buys one unit of the one or the other. Let's assume/approximate the demand function as linear and let's assume away cross-price and competition effects.
Assuming linearity is acceptable as a local approximation.
Assuming no competition effects is to assume either that the software is seriously differentiated from the competition, or that we examine the case with competition's prices fixed.
The worst assumption is the one assuming away intra-cross-price effects: we do expect that if we raise the price of the Advanced version, potential customers may turn to look to the Basic version (and, possibly, but less strongly, vice versa).
Anyway, with these assumptions we have the demand functions
$$Q_A = a_A - b_AP_A,\;\;\; Q_B = a_B - b_BP_B$$
and the Revenue function
$$TR = P_A\cdot Q_A + P_B\cdot Q_B = a_AP_A - b_AP_A^2 + a_BP_B- b_BP_B^2$$
Interpretation of the coefficients comes later. Maximizing this function with respect to the two prices is straightforward, and one gets
$$P_A^* = \frac {a_A}{2b_A},\;\;\; P_B^* = \frac {a_B}{2b_B}$$
Then optimal revenue share for the Advanced version can be shown to be
$$S_A^* = \frac {a_A^2}{a_A^2 + (b_A/b_B)a_B^2}$$
Now, $a_A$ is the maximum number of customers that we would have if we gave the Advanced version for free, and likewise for $a_B$. These quantities are routinely estimated/assessed by businesses. The beta coefficients are trickier, because they reflect the marginal loss of customers as we increase the price by one currency unit. But again, a business can and does make educated guesses on this matter also (perhaps considering bigger increases than one unit), based on past experience, and knowledge of the market and the potential customers.
So we see that the abstract and simplistic $S_A^*$ can be applied to an actual situation, and of course we can form some intervals by saying "$a_A$ is from... to..." etc. and so get a sense of where the optimal customer mix may lie.
The first step to make this a bit more realistic is to include an asymmetric intra-cross-price effect: namely, if we increase the price of the Advanced version, potential customers may turn to the Basic version, but if we increase the price of the Basic version we lose potential customers to the competition. In this case the demand function of the Advanced version remains as before, but the demand function of the Basic version becomes
$$Q_B = a_B - b_BP_B + c_BP_A$$
It is a bit more complicated but the final expressions are still workable. One of course would here have to assess the magnitude of $c_B$ also.