Final Presentation
Nikhita Singh Zach Mulder Jeff Khvu Winne Yan Ray Valadez Michael Tran Christopher Au Freddy Kurniawan
Alterre Partners acquire new properties Asset Construction renovate properties Anthony Associates rent and sell properties
nd
invest
renovate
rent + sell
EER Diagram
'%,"(.
!%"5#.
N,@% @,O%5
DE?EF DE?NF
N,@%
&#&,09"%&8".
(.;%5&@%.&
DE?NF
#?&
(.;%5&#"
H8'%" <%.,.&
DEGNF
DE?NF
=5+"#41 7##">-.,&#"
DP?EF
N,@%
!6#.%1 N8@J%"
!()
1K1K1K1K1K1K
DE?EF
N#&%()
A#%51-.
$"-@,"'90,-5#.9#V
DE?EF
<-&0%1 7#@$,.'
DE?NF
C>>"%55
6,5
*#+,&-#.
DE?EF
1K1K1K1K1K1K
3&6%"
N#&%()
DP?NF
L%,"0'1!##0
!"#$%"&'1 70#5-.A17#5&
-.58"%5
/%.&,012.-&
DP?EF
"%.&5
DE?NF
34.%"56-$
!"#$()
38&5->%1 :%00%"
J8'5
DE?NF DE?EF
DP?EF DP?EF
/%,01=5&,&%
>?&
!"#$%"&'
DE?EF
6,5
DE?EF
7#5&1 =5&-@,&%
6,5
>?&
=5+"#41B%%
DEGNF DE?EF
DE?EF
5+6%>80%5
78""%.&9:&,&% /%.#;,&-#.9<'$%
DE?EF
58$%";-5%5
:8JK+#.&",+&#"1 DLMNF
:O-009N%%>%>
!"#$%"&'1 S,.,A%"
DEGNF
I#J()
4#"O59#.
DEGNF DE?NF
:8$%";-5#"
I#J
DE?EF
:79()
R#"O1 70,55
=.>9>,&%
:&,"&9>,&%
DEGEF
#?&
*,J#"%"
DE?NF
4#"O59#.
DPGNF
N,@%
3&6%"
7#.5&"8+&-#. 9&'$%
+,&%A#"-U%>9J'
DE?NF
:8JK +#.&",+&#"
DE?NF
DPGNF
!"#$%&'($
$6#.%Q
DEGNF
58$$0-%"()
.$-/$(&0 /'1.#$&$)
!,'1:&,&85
.%49"%;98.-&9 +#5&
@%A,9"%;98.&9+#5&
+,&%A#"-U%>9J'
DEGNF
DEGNF DE?NF
:8$$0-%"
+,&%A#"-U%>9J'
DEGNF
7#.5&"8+&-#. :+6%>80%
),-+&"'(
5&,"&9>,&%
R#"O1 70,55
@-.-9"%;98.-& 9+#5&
N,@%
+,&%A#"-U%>9J'
$()*)+&$
+#.>#9"%;98.-& 9+#5&
$,'95&,&85
! ! ! ! !
Overview of property data Record key data for all individuals involved Track employee data Manage employee skills Track tenants for rental properties
Investment (NoteID, PID2a, Renewal, Investor_Name, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Prot_Share, Total_Return, Year5) Yearly_Pool (NoteID, PID2a,Year, Investment, Prot, Investor_Prot) Title_Company (TCID, Company_Name, Company_Phone#, PID2e)
! ! !
Manage individual investments View investment data on an annual basis Track prot sharing and returns
! ! ! ! !
Subcontractor_Insures_Property (PropID1b, SCID13, Maximum_Coverage, Policy#, Insurance_Type, Deductible, Term_Length) Supplier (SupplierID, Supplier_Name, Street, City, Zip_Code, Trade_Code, Pay_Status, Phone#, Website, Construction_Type) Job_Has_Supplier (SupplierID16, JobID10, PropID1b) Construction_Schedule (ScheduleID, PropID1b, Milestone, Start_Date, End_Date, Duration, %Completed) Milestone (PropID1b, MilestoneID, Milestone, Start Date, End Date, Duration) Job (JobID, Duration, Start_Date, Finish_Date, Predecessors, % Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N PropID1b, Cost_Estimate (CEID, PropID1b)
Manage construction schedules Track subcontractor and supplier info and projects View milestones for each property Identify necessary jobs for each property Estimate construction costs
QUERIES
Query 1: Construction Budget How can we estimate the construction costs based on data from previous properties?
129K mega mini 90K
A B C
134K
110K 35K
construction types
nd
Microsoft Excel
Given the renovation type and characteristics of a new property, generates mean and condence intervals for construction budget
Microsoft Access
Access provides a form to add estimate to the related table
Matlab
Generates analytics on previous properties through box plots nd invest renovate rent & sell
nd
invest
renovate
nd
invest
}
renovate
}
rent & sell
}
nd invest
box plots show spread of construction costs for each type of property
Matlab Code
function []= myBoxPlot(data1, textdata1) X4 = textdata1(:,4); X5 = data1(:,5); n = length(data1); A = []; for i=2:(n+1) ! ! if strcmp(X4(i),'New Property') == 1 ! ! ! ! A(i-1,1) = X5(i-1); ! ! ! ! A(A==0) = []; ! ! elseif strcmp(X4(i),'Condo') == 1 ! ! ! ! B(i-1,1) = X5(i-1); ! ! ! ! B(B==0) = []; ! ! elseif strcmp(X4(i),'Mini') == 1 ! ! ! ! C(i-1,1) = X5(i-1); ! ! ! ! C(C==0) = []; ! ! elseif strcmp(X4(i),'Mega') == 1 ! ! ! ! D(i-1,1) = X5(i-1); ! ! ! ! D(D==0) = []; ! ! end! ! !! end! subplot(2,2,1),boxplot(A,'orientation', 'horizontal'); title('New Renovation'); subplot(2,2,2),boxplot(B,'orientation', 'horizontal'); title('Condo Renovation'); subplot(2,2,3),boxplot(C,'orientation', 'horizontal','whisker', 4); title('Mini Renovation'); subplot(2,2,4),boxplot(D,'orientation', 'horizontal'); title('Mega Renovation'); set(gcf, 'color', [1 1 1]) end!
renovate
Query 2: Project Management How can we track the progress on a property and identify critical tasks?
28 To-dos
Design Demolition Grading & Site Prep Plumbing Foundation Framing Roong Windows Exterior Doors & Frames Electrical HVAC & Sheet Metal Insulation Drywall Cabinets Doors & Trim Garage Doors Painting Tile Granite Wood Top Shower Doors Finish Hardware Flooring Appliances Decorative Light Fixtures Cleaning Fencing Landscaping
Gantt Chart
Tasks
Time
nd
invest
renovate
Microsoft Excel
Links to Microsoft Project data and tracks changes.
Microsoft Access
Displays jobs related to each property and provides analytics + progress reports. nd invest renovate rent & sell
budget
critical tasks
nd
invest
renovate
}
track % completion displays current date
timeline
slack assigned to ID
} }
determines 1) Tasks that are complete 2) Tasks in progress 3) Tasks pending 4) Tasks that are late
displays by property
nd
invest
renovate
nd
invest
renovate
22
nd all employees sort by skills & availability generate optimal schedule
nd
invest
renovate
Python
Code initiates the AMPL program run
AMPL
Solves integer program that minimizes cost of worker wages while fullling skill and worker requirements
nd
invest
renovate
} }
SELECT id, pid, job.skillid, [Skill Rating (1-10)] AS rating FROM job INNER JOIN [employee skill rating] ON job.skillid = [employee skill rating].skillid ORDER BY pid, id;
nd
invest
renovate
! !!
! ! !! !!" ! !!! $
!! ! !! !! $
!!" ! !!" !!" ! !!!!! ! !! ! $ !!" ! !!!!! ! !$$ !$ !!!" !!"#$%# !! !!"!!"!!"#$!" !!"# !!"# !! $ !!!"!!"#$%!
()*+*$!!" !
!$"%$')*$#,-.*+$/0$1/+2*+%$ $ $ $ "$"%$')*$#,-.*+$/0$3/.%$ #$"%$')*$4/%'$/0$1/+2*+$$$4/-56*'"#7$3/.$%$ &$"%$')*$89*+87*$%2"66$#**:*:$0/+$3/.$%$ '$"%$')*$%2"66$/0$1/+2*+$$(0/+$3/.$%$ $ $ ( $ )$"%$')*$898"68."6"';$/0$1/+2*+$$$0/+$3/.$%$<=%%,-*$!!" ! !>$ *$"%$')*$#,-.*+$/0$1/+2*+%$#**:*:$0/+$3/.$%( !!" ! $$ !!!" !!"# !! !!"#$%&'(!!"# !! $ !!!"!!"#$%!
nd
invest
renovate
nd
invest
renovate
+
apply analysis
multiple regression models ANOVA
$
rent & sell
invest
renovate
SQL
Based on multiple regression model, outputs the optimal price for a new property based on property characteristics.
Microsoft Access
Displays similar properties in a detailed report.
nd
invest
renovate
2 R =
0.95
2 R
adjusted = 0.91
renovate
nd
invest
}
}
outputs optimal sales price based on Excel regression model uses IF statements to account for different property ZIP codes
nd
invest
renovate
}
nd invest renovate
Sq. ft:
1800
$
nd investments + prots for a given year apply analytics
nd invest renovate
$
determine return per $1 for each investor
Engineering Economics
Microsoft Excel
Conducts analytics on investments and actual prots and % for each investor
Microsoft Access
Displays analytics in investor table
SQL
SQL extracts info and calculated per $1 return for each investor and outputs report nd invest renovate rent & sell
} } }
nd
invest
renovate
2008 to 2009 ratio: 0.78 2009 to 2010 ratio: 1.02 2010 to 2011 ratio: 1.15
nd
invest
renovate
NORMALIZATION ANALYSIS
To normalize to 1NF and 2NF: Job (JobID, PropID1b, Duration, Start_Date, Finish_Date,% Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N) Predecessors (JobID, Predecessor)
To normalize to 3NF: Job (JobID, PropID1b, Start_Date, Finish_Date,% Complete, Cost, Skill_Need, Workers_Needed, Subcontractor Y/N) Job_Predecessors (JobID, Predecessor) Job_Timeline (Start_Date, Finish_Date, Duration)
Decomposing to 2NF
Investment (NoteID, PID2a, Renewal, Investor_Name, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Prot_Share, Total_Return, Year5)
To normalize to 2NF: Investment (NoteID, PID2a, Renewal, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Prot_Share, Total_Return, Year5) Investment_Name (PID2a, Investor_Name)
ScheduleID
PropID1b
To normalize to BCNF: Construction_Schedule (ScheduleID, PropID1b, Milestone) Schedule_Milestone (PropID1b,Milestone, Start_Date, End_Date, % Completed) Schedule_Start (Start_Date, End_Date, Duration)
}
Milestone Start_Date End_Date Duration %Completed