Guild of Project Controls: Compendium | Roles | Assessment | Certifications | Membership

Tips on using this forum..

(1) Explain your problem, don't simply post "This isn't working". What were you doing when you faced the problem? What have you tried to resolve - did you look for a solution using "Search" ? Has it happened just once or several times?

(2) It's also good to get feedback when a solution is found, return to the original post to explain how it was resolved so that more people can also use the results.

Project Scheduling and Multiple Cash-Flows

5 replies [Last post]
Bogdan Leonte
User offline. Last seen 3 weeks 2 hours ago. Offline
Joined: 18 Aug 2012
Posts: 284

First of all,

thank you Vladimir, Rafael for your help with my material ref-book problem, I managed to create ref-books and corporate ref-books for activities, material and resource assignments - very useful. Unfortunately today I got stuck on something else. Usually during a project I want to create and monitor several Cash-Flows. The issue I have encounterd is that if the start/finish date of the milestones which I use to create cash-flows exceeds the finish of the project the sheduling of the project is pretty much killed using any algorithm and is very unpredictable.

Here project scenarios, my leveling options and results:

1. Financial Constraints, Optimization+, no other cash-flows except the one for Financial Constraints and no Finish [NLT] constraints

In this scenario there is no doubt that this is the optimal scheduling. From here on out I things get a little weird for me.

 

1484
fin_constr_no_income_optim_no_nlt.jpg

2. Financial Constraints, Optimization+, another cash-flow Cost-Income (income has a separate cost component with the unit cost of -1) and no Finish [NLT] constraints. 
This cash-flow is represented by the expendituresres of the project and the payments (this cost component has unit cost = -1) for the work done. The first payment is usualy made after 2 months from the start of the project and then montly.

 

1485
fin_constr_income_-_optimization_no_nlt.jpg

As you can see the scheduling is not optimal.

3. Financial Constraints, Standard - Priority -> Start [ALAP], another cash-flow Cost-Income (income has a separate cost component with the unit cost of -1) and no Finish [NLT] constraints. 

1486
fin_constr_income_standard_-_startalap_no_nlt.jpg

This is somewhat optimal, since the 2 financing milestones are not considered critical.

4. Financial Constraints, Optimization+, another cash-flow Cost-Income (income has a separate cost component with the unit cost of -1) and Finish [NLT] constraints; Finish [NLT] = to the best schedule without the second cash-flow and with financial constraints. 

1487
fin_constr_income_optim_nlt.jpg

In this scenario the floats are minimal but the finish date is way off.

5. Financial Constraints, Standard - Priority -> Finish[NLT], another cash-flow Cost-Income (income has a separate cost component with the unit cost of -1) and Finish [NLT] constraints; Finish [NLT] = to the best schedule without the second cash-flow and with financial constraints. 

1488
fin_constr_income_standard_-_finishnlt_nlt.jpg

In this scenario the scheduling is optimal, both for the activities/resources and from the financial constraint milestones.

This is a very fortunate example because the finish date of the last scenario matched the finish date of the project in which I didn't create the second cash-flow. I tried it with a slightly larger project and I got some pretty weird results. When I say I didin't create the second cash-flow I meant that none of the milestone dates surpased the finish date of the project finish milestone.

I hope I was clear and to conclude my somewhat ambigous question, I want to know if there is a way to avoid this kind of behaviour (I found that using Previous Version in sheduling doesn't mess the schedule but I don't know if it is good practice). Perhaps there is something I'm missing or I don't know.

I uploaded the small and large projects here: http://www.filedropper.com/desktop_16

Replies

Bogdan Leonte
User offline. Last seen 3 weeks 2 hours ago. Offline
Joined: 18 Aug 2012
Posts: 284

Seems the new version of spider will have new major functionalities.

I look forward to the new release.

Best Regards,

Bogdan

Bogdan,

triggers are used for Monte Carlo simulation. They represent risk events that may happen with certain probabilities and may lead to different consequences also with defined probabilities. Please wait until we release next version of Spider Project (soon!) to play with them.

Rafael,

Spider calculates only one IRR for the whole cash flow. There may be several payback periods and users have a choice to calculate first or last one.

Best Regards,

Vladimir

Rafael Davila
User offline. Last seen 1 hour 7 min ago. Offline
Joined: 1 Mar 2004
Posts: 5229

http://en.wikipedia.org/wiki/Internal_rate_of_return#Problems_with_using_internal_rate_of_return

Since IRR does not consider cost of capital, it should not be used to compare projects of different duration. Modified Internal Rate of Return (MIRR) does consider cost of capital and provides a better indication of a project's efficiency in contributing to the firm's discounted cash flow.

In the case of positive cash flows followed by negative ones and then by positive ones (for example, + + − − − +) the IRR may have multiple values. In this case a discount rate may be used for the borrowing cash flow and the IRR calculated for the investment cash flow. This applies for example when a customer makes a deposit before a specific machine is built

In general, the IRR can be calculated by solving a polynomial equation. Sturm's theorem can be used to determine if that equation has a unique real solution. In general the IRR equation cannot be solved analytically but only interactively.

I wonder how Spider deals with the possibility of multiple values for IRR.

Bogdan Leonte
User offline. Last seen 3 weeks 2 hours ago. Offline
Joined: 18 Aug 2012
Posts: 284

http://www.datafilehost.com/download-59527950.html

I hope this link works. Actually my projects are from the point of view of the general contractor, thus the income represents what the investors pays the contractor. 

I tried using the payment feature, but the payments are made according to contract terms wich are different for each contract, also I have other cash-flows to create such as cash-flows between the expences of the subcontractors and the payments of the contractor for their work and so on.

Now that you mentioned acivity types, I am not able to figure out how the new 'trigger' activity works and how it is related to risck simulation.

I look forward to the new version. 

 

 

Best Regards,

Bogdan

Hi Bogdan,

your link is broken. Plese check.

When you add finish milestone that has Start No Earlier Than constraint any schedule looks optimal because the project finishes on the same date. Optimization does not work properly because all schedules finish at the same date. In new version of Spider Project that we will publish in January you may find new "automatic" milestones that do not participate in scheduling and thus will not prevent optimization.

I will look at your schedules when the link will become available. Meanwhile I suggest you to look at one useful Spider Project feature - automatic payment schedule creation.

Create cost center Expenses that includes all cost components that require payments.

Create cost component Payment with the unit cost -1.

Create payments calendar (for example, if payments for the last month work are done no earlier than on 10th day of the month, create a calendar with the exception that lasts from the first to 10th day and repeats each month.

In the cost calculation options select Create payments schedule. Then you shall enter cost center that shall be paid for (Expenses), cost component for payments (Payments), and payment calendar. Then tick Payment period By Months.

Now payment schedule and payment cash flow will be created automatically.

This schedule will be recreated with the schedule update and payment milestones do not participate in scheduling process.

If you start to pay since the second month add payment of the first month to the payments of second for second month payment milestone and make payment for the first month milestone equal to zero. This may be done manually or using formula.

Best Regards,

Vladimir