Serving the Quantitative Finance Community

 
User avatar
Wilbur
Topic Author
Posts: 0
Joined: August 12th, 2004, 7:39 pm

X orders

February 27th, 2007, 3:47 pm

Is there any way to solve this, other than brute force..?We have 10 prospects that are looking to buy the same product. We assign a probability of us being awarded a contract for each prospect (0-100%)How do I calculate:- The probability of us getting at least X orders, where X ranges from 0-10?
 
User avatar
mhughes
Posts: 0
Joined: May 8th, 2006, 1:48 pm

X orders

February 27th, 2007, 4:55 pm

Well, I don't know if this counts as brute force, but you can calculate all 11 of those probabilities fairly quickly as follows.Let p_k be the probability that the kth prospect buys the product. Now let P_k(n) be the probability that we get at least n orders from the first k prospects. Then P_k(0) = 1 for all k (including k = 0) and P_k(n) = 0 for n > k in the base cases. Inductively, we see that P_k+1(n) = P_k(n) + p_k+1 * (P_k(n-1) - P_k(n)), since to get at least n orders from the first k+1 clients, we can either have had at least n orders from the first k, or exactly n-1 orders from the first k and the (k+1)th also places an order. This gives a quick way to calculate each of the probabilities, and can be quickly made into a spreadsheet in Excel.
 
User avatar
vixen
Posts: 0
Joined: April 5th, 2006, 1:43 pm

X orders

February 27th, 2007, 5:04 pm

A practical way to do it is to use convolution. For example, if there are 2 prospects, construct the vectors [q1 p1] and [q2 p2], where p1 and p2 are the probabilities of an offer and q1 = 1-p1, q2 = 1-p2. Then convolve the 2 vectors to get [P0 P1 P2], and those would be the probabilities of getting 0, 1 and 2 offers respectively. So, with 10 prospects, convolve the 10 vectors to get [P0 P1 P2 P3 ... P10]. And you are done.
 
User avatar
MikeCrowe
Posts: 0
Joined: January 16th, 2006, 8:20 am

X orders

February 27th, 2007, 5:33 pm

Sorry for being dense, but could you expand on convolution for vectors a little, I'm more familiar with the term applied to functions...
 
User avatar
vixen
Posts: 0
Joined: April 5th, 2006, 1:43 pm

X orders

February 27th, 2007, 5:56 pm

Pretty much the same thing. Think of the discrete version of a function as a vector of values that the function takes over a grid of the domain: [ f(x1), f(x2), f(x3), ...f(xn) ]. Then C = A*B is given by C(k) = Sum( A(i)*B(k-i) ) for all i. Exact analogue to the integral for the continuous case.So, [q1, p1]*[q2, p2] = [ (q1*q2), (q1*p2 + q2*p1), (p1*p2) ].
Last edited by vixen on February 26th, 2007, 11:00 pm, edited 1 time in total.