I'm bored, so I'm pulling a theory out of a hat.
Attractiveness variables:
b - Your base-level of attractiveness, physical (decimal, values 1-10)
c - Your base-level of attractiveness, chemical (decimal, values 1-10)
p - Your base-level of attractiveness, personality, surface (decimal, values 1-10)
P - Your base-level of attractiveness, personality, actual (decimal, values 1-10)
C - Your "creepiness" level. Anything that you do that deviates social norms elevates this variable.
d - The level of familiarity/closeness in the relationship
(Different sets of traits are weighed differently by different people. p and P are inclusive of hobbies, personality traits, and compatibility based on complementary and similarity traits)
Time variables:
t - time from initial-impression
Functions:
fA(t) : Function about how attractive you are to her right now:
k(b * fx1(t)) + k(c * fx2(t)) + k(p * fx3(t)) + k(P * fy(t)) - k * fz(t) - k * fz2(C) * fx4(t)
fx1(t), fx2(t), fx3(t) are functions of time, which converge to zero.
- fx(1) Has a linear distribution
- fx(2),fx(3) - have normal distribution
fy(t) - is a function of time, which converges to one
fz1(t) - Is a function to compute attractiveness based on familiarity, which may begin very low or very high, depending on the person, before stabilizing, then diverging.
fz2(C) - This function computes intolerance to violation of social norms (or, the creep-factor). This function may converge or diverge, depending on the other attractiveness variables.
k - Each k value represents a different constant value
fB(t)
The chance that you'll get a date:
(k + fA(t) + fB(d))
fB(t) - This is a function based on closeness. High closeness will cause the output of this function to go negative (eg., the 'friend zone'), which can only be counter-balanced by high attraction.
High levels of C, or low levels of fA(t) will increase the chances of total rejection (were the person stops talking to you entirely). Yes, this is the one place where having high fA(t) is good! Other types of rejection may exist, from damaging (distancing) to status-quo (no significant change in relationship), to temporal rejection (resulting in later re-evaluation) but are ignored for sake of simplicity.
Let's call the chances of total rejection fR(t). fR(t)'ing is bad.
Variables of how much you like someone:
f11(t) : Function in time that determines how much you like a person
fl2(t) : Function in time that determines how much physically attracted you are to a person
fl3(fl1(t),d) : The emotional risk involved with total rejection - Higher when fl1(t) is high.
Now, "should you ask her on a date"?
fA(t) * fl1(t) - fl3(fl1(t),d) * fR(t)
Or, simply put:
If you know someone well, chances are that you'll be rejected, since attractiveness is low, and emotional risk is high. This is a lose-lose situation. This is also the strategy that I had been following.
If you are highly attractive, you are more likely to be able to get a date near the time of initial meeting. Other, who are less attractive on the physical and surface-level will have the best chances some time after first meeting the other person, but before the familiarity equations begin to substantially deteriorate the attractiveness equations. Note: The time window may elapse before the value of fl1(t) begins to substantially increase.
The more you like a person, the more risk is involved, but all but the most attractive people will be shot down if they move immediately. So, the best time to ask someone out is:
When the answer to the question: Do I like/would I be interested in dating person ____ is 'maybe'.