Coder Social home page Coder Social logo

final_project's Introduction

Title:

Monte Carlo Project Cost Estimator

Team Member(s):

Suyash Singh

Monte Carlo Simulation Scenario & Purpose:

The purpose of this simulation predicts the cost of completion of a project per employee. The University Startup IT company hires graduate students with skill sets to work within 3 of the following teams.

  1. Design
  2. Development
  3. Testing

These student's hourly wage depends on their skillset and their total wage would depend on the number of hours they have worked on that particular task.

The Monte Carlo Project Cost Estimator could be used in two scenarios.

Case 1 (MC_Cost_Estimator.py)

When the company works similar project where the timeline for the completion of these tasks does not vary a great deal and the company has enough historical data that would estimate the time taken for the completion of each task. In this scenario the company would load/update the average time required for the task. In this case, the hypothetical times for the completion of the tasks are considered as:

  • Design - 14 hours
  • Development - 10 hours
  • Testing - 6 hours.

And the overhead cost is considered as 5% to 40% of the Fixed Cost

Case 2 (MC_Cost_Estimator_Interactive.py)

The company works on a variety of project where the time taken to complete these tasks varies to a greater extent. In this case, the tool will ask the client to enter an estimated time and allowable overhead time associated with that task.

Simulation's variables of uncertainty

  1. Fixed Cost for the completion of the project
    • PERT Distribution
  2. Total overhead cost associated with the project (Resources, Interviewing cost, Training, Certification)
    • PERT Distribution

Here, I did research on the to UIUC hourly wages regulations for graduate assistants, they are paid within the range of $8.25 (minimum) - $18.00 (maximum) per hour. And hourly wages of students working on such technical tasks is usually on the higher side, hence the "most likely" value for PERT distribution is considered as $14.4 per hour. I feel this is a good representation of reality.

On the other hand, the overhead time required to complete the project was considered to be 5% (minimum) to 40% (maximum) of the fixed time for that task and the most likely is taken to be 32%.

The overhead time could really vary given that only graduate students are hired. Their availability can vary depending on various factors like exams, availability of resources, training cost for new employees, any extra certification required, interviewing cost). I feel the variability, in this case, is very difficult to predict without having any historical data.

Hypothesis or hypotheses before running the simulation:

  1. In case 1, The time of completion of each task is as follows: i. Design - 14 hours ii. Development - 10 hours iii. Testing - 6 hours
  2. The overhead cost would be a result of extra hours worked on a particular task. Which would range between 5% and 40%.
  3. The min and max values of the salary given to the graduate assistant as per UIUC regulations vary from $8.25/hour to $18.00/hour depending on the position and skillset.

Analytical Summary of your findings: (e.g. Did you adjust the scenario based on previous simulation outcomes? What are the management decisions one could make from your simulation's output, etc.)

Using Monte Carlo Simulation in this case, the company would be able to make informed decisionz like:

  1. How much could it cost the company per graduate student employees.
  2. The number of staff required for each task.
  3. The Cost required for each individual task.
  4. The Total Estimated cost for the completion of the project.
  5. In case of delays, the client could always go back and mention the updated time and find out the new estimated cost for task/project.

Instructions on how to use the program:

Case 1

  1. Download the folder
  2. Run MC_Cost_Estimator.py
  3. The code does not need any input.

Case 2

  1. Download the folder
  2. Run MC_Cost_Estimator_Interactive.py
  3. Enter the steps of simulation.
  4. Enter time for each task followed by the percentage of allowable overhead time.

All Sources Used:

  1. https://www.riskamp.com/beta-pert
  2. https://github.com/iSchool-590PR-2018Spring/in-class-examples/blob/master/week_12_Prob_Distributions.ipynb

final_project's People

Contributors

isuyash14 avatar ybull avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.