teaching old dogs new tricks - moving beyond excel
TRANSCRIPT
Teaching Old Dogs New TricksTeaching Old Dogs New Tricks--Teaching Old Dogs New TricksTeaching Old Dogs New Tricks--Moving Beyond Excel EstimatesMoving Beyond Excel EstimatesMoving Beyond Excel EstimatesMoving Beyond Excel Estimates
ACEIT Users WorkshopFebruary 1, 2011Chris Gardiner
Wilson Edwards
Approved for Public Release
AbstractAbstractAbstractAbstract“Whatever they say about not being able to teach old dogs new tricks, it is patently untrue. Old dogs may not learn as quickly as they did when they were young, but with time and patience, most older dogs can be taught to do anything that a young dog can.” (petplace.com)Some “old dogs” continue to use Excel to build estimates for a
i t f Oth ll ACEIT it lvariety of reasons. Others casually use ACEIT, use it less efficiently than they could, or revert back to Excel because they believe Excel to be “easier”. Regardless of the reasons, “old dogs” can be taught new tricks that will begin to reveal some ofdogs” can be taught new tricks that will begin to reveal some of the features and capabilities of ACEIT that will make them feel “young” again. Thi t ti ill dd ti t hThis presentation will address questions as to why some use Excel over ACE; it will show examples of “tricks” that, based on our experience, are often not used because they haven’t been discovered or are not understood; it will also show how those
01 February 2011 Approved for Public Release 2
discovered or are not understood; it will also show how those “tricks” can be utilized to create more powerful, dynamic estimates.
ALL DATA IN THISALL DATA IN THIS PRESENTATION ARE ENTIRELY NOTIONAL
AND DO NOTAND DO NOT REPRESENT ACTUALREPRESENT ACTUAL
DATA OF ANY CONTRACTOR OR
PROGRAM01 February 2011 Approved for Public Release 3
PROGRAM
Presentation OutlinePresentation OutlinePresentation OutlinePresentation Outline
Presentation HistoryReasons for Using Excel vs ACEITReasons for Using Excel vs ACEITACEIT BenefitsEliminating ErrorsUsing Dates and Date FunctionsReferencing Data Tables in ACEReferencing Data Tables in ACETips and Tricks
01 February 2011 Approved for Public Release 4
Summary
Presentation HistoryPresentation HistoryPresentation HistoryPresentation History
Discussions with Students and other cost estimators revealed extent of Excel use Surveyed Excel users to identifySurveyed Excel users to identify reasons for Excel preferenceId tifi d i d l tiIdentified common issues and solutionsObtained Excel Models and Converted to ACEIT
01 February 2011 Approved for Public Release 5
Reasons for Using Excel vs Reasons for Using Excel vs ACEITACEIT
Reasons for Using Excel vs Reasons for Using Excel vs ACEITACEITACEITACEITACEITACEIT
Culture – “It’s the way we have always done it”Familiar and comfortable with software “It’s easier”Familiar and comfortable with software – “It’s easier”Unfamiliar with ACEIT; Don’t understand the features, capabilities, and benefits - “Lack of training andcapabilities, and benefits Lack of training and experience”“Effort converting Excel models doesn’t seem worth it”“ACEIT is more cumbersome for documentation purposes”“ACEIT b f i l i ”“ACEIT too cumbersome for simple estimates”
01 February 2011 Approved for Public Release 6
Reasons for Using Excel Reasons for Using Excel vsvsACEIT (cont)ACEIT (cont)
Reasons for Using Excel Reasons for Using Excel vsvsACEIT (cont)ACEIT (cont)ACEIT (cont)ACEIT (cont)ACEIT (cont)ACEIT (cont)
“More flexibility to customize the spreadsheet”“Able to write Macros for files”“A tool that can be shared among more people”“Excel’s capabilities are more versatile…very specific templates in Excel”“Easier to show and explain methodologies to PM” “I’ve been too busy”
01 February 2011 Approved for Public Release 7
ACEIT Provides Substantial ACEIT Provides Substantial BenefitsBenefits
ACEIT Provides Substantial ACEIT Provides Substantial BenefitsBenefits
Implements Standardized ProcessSupports development of consistent, systematic and defendable Life Cycle Cost EstimatesDelivers integrated, automated documentation, with complete audit trailg pImproves estimate review and verification process through consistent model structure Contains industry approved algorithms and databases to model inflation, learning, and phasingIntegrates statistical and risk analysis to quantify uncertainty in estimatesIntegrates statistical and risk analysis to quantify uncertainty in estimatesEnhances quality by eliminating many errors often made in spreadsheets (which frequently go undetected)
Provides Flexibility to Model any System TypeU li it d fl ibilit t d l t f t li ki ll lif l h d f ilit tUnlimited flexibility to model any type of system linking all life cycle phases, and facilitate any type of Analysis of Alternatives.Automated and customizable reports
Integrates with Other Applications Through an Open PlatformAbility to link to virtually any other toolRobust Application Programming Interface (API) to facilitate electronic interaction
Reduces Management ChallengesStructured modeling platform shortens time for ACE users to learn a new model
01 February 2011 Approved for Public Release 8Copyright © Tecolote Research, Inc. December 2009
Structured modeling platform shortens time for ACE users to learn a new modelEases organization-wide distribution of key standards (WBS, inflation, etc)
Eliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating Errors
01 February 2011 Approved for Public Release 9
Eliminating ErrorsEliminating ErrorsEliminating ErrorsEliminating Errors
Excel Cost Estimate Model ExampleExcel Cost Estimate Model ExampleReprogramming the Thinking ProcessConversion to ACEITConversion to ACEITACE’s Error Log
01 February 2011 Approved for Public Release 10
Excel Cost Estimate Excel Cost Estimate Excel Cost Estimate Excel Cost Estimate Model ExampleModel ExampleModel ExampleModel Example
01 February 2011 Approved for Public Release 11
Excel Model Items of Note Excel Model Items of Note Excel Model Items of Note Excel Model Items of Note
Concatenate used in Excel model for cell reference name (unique ID) requires multiple
tstepsExcel requires formulas on parent rowsExcel model inflation requires separate inflation worksheets/tables and multiple look up equations vs BY and unitsvs BY and unitsDocumentationAll Excel phasing requires separate phasingAll Excel phasing requires separate phasing tables and multiple look up equationsExcel dollar units fixed without separate tables
01 February 2011 Approved for Public Release 12
Excel dollar units fixed without separate tables and calculations
Errors in Excel Estimate Errors in Excel Estimate --CommonCommon
Errors in Excel Estimate Errors in Excel Estimate --CommonCommon
Many errors often go undetected in Excel
CommonCommonCommonCommon
Examples of errors in example Excel ModelProduction Kit costs multiplied by incorrect Qty row
Unit 2 Kit multiplied by Unit 3 QtyUnit 3 Kit Multiplied by Unit 2 Qty
I t ll t f U it 2 d U it 3 itt dInstall costs for Unit 2 and Unit 3 were omittedMaintainer Training referenced the wrong schedule cell and costs were calculated one year earlyand costs were calculated one year earlyAllocations of total costs for travel and ECO’s did not equal 100%
01 February 2011 Approved for Public Release 13
Excel Cost Estimate Model Excel Cost Estimate Model Excel Cost Estimate Model Excel Cost Estimate Model Converted to ACEITConverted to ACEITConverted to ACEITConverted to ACEIT
01 February 2011 Approved for Public Release 14
Conversion of Excel to ACEITConversion of Excel to ACEITItems of NoteItems of Note
Conversion of Excel to ACEITConversion of Excel to ACEITItems of NoteItems of Notete s o otete s o otete s o otete s o ote
WBS/CES indenture and numberingACE i ID f l llACE unique ID reference vs annual cell referenceC t I t t ti (BY U it ) d ACost Interpretation (BY; Units) and Appropreplace Excel tables to convert units, inflate, and convert BY to TYand convert BY to TY Phasing methodologies replace Excel tables and formulas in every celland formulas in every cellDocumentation - convenience and usefulness
01 February 2011 Approved for Public Release 15
usefulness
Conversion of Excel to ACEITConversion of Excel to ACEITItems of Note (cont)Items of Note (cont)
Conversion of Excel to ACEITConversion of Excel to ACEITItems of Note (cont)Items of Note (cont)te s o ote (co t)te s o ote (co t)te s o ote (co t)te s o ote (co t)
Use of functions to automate modelACE Dates and Date Functions allow for schedule sensitivity and linkingFYYR F tiFYYR Functions
Integrated risk analysis Reports easily created and modified without creating new tables and redundant formulasACE’s error log identifies the problem, or
01 February 2011 Approved for Public Release 16
g p ,potential problem, and where it is located
Conversion of Excel to ACEITConversion of Excel to ACEITItems of Note (cont)Items of Note (cont)
Conversion of Excel to ACEITConversion of Excel to ACEITItems of Note (cont)Items of Note (cont)te s o ote (co t)te s o ote (co t)te s o ote (co t)te s o ote (co t)
It takes only one-fourth to one-tenth theIt takes only one-fourth to one-tenth the time to perform the same analysis in ACE that is required for the sameACE that is required for the same analysis in Excel
01 February 2011 Approved for Public Release 17
ACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error Log
01 February 2011 Approved for Public Release 18
ACE’s Error LogACE’s Error LogACE’s Error LogACE’s Error LogACEIT Enhances quality by eliminating many errors often made in spreadsheets (whicherrors often made in spreadsheets (which frequently go undetected)Common ACE Error MessagesCommon ACE Error Messages
01 February 2011 Approved for Public Release 19
Conversion of Excel Model Conversion of Excel Model to ACE to ACE –– Error LogError Log
Conversion of Excel Model Conversion of Excel Model to ACE to ACE –– Error LogError Logto ACE to ACE Error LogError Logto ACE to ACE Error LogError Log
Duplicating the errors found in the Excel Model in our ACE Sessions resulted in the followingin our ACE Sessions resulted in the following Fatal Errors
01 February 2011 Approved for Public Release 20
Conversion of Excel Model Conversion of Excel Model to ACE to ACE –– Error Log (cont)Error Log (cont)
Conversion of Excel Model Conversion of Excel Model to ACE to ACE –– Error Log (cont)Error Log (cont)to ACE to ACE –– Error Log (cont)Error Log (cont)to ACE to ACE –– Error Log (cont)Error Log (cont)
Duplicating the errors found in the Excel Model in our ACE Sessions resulted in the followingin our ACE Sessions resulted in the following error messages
01 February 2011 Approved for Public Release 21
Using Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date FunctionsUsing Dates and Date Functions
01 February 2011 Approved for Public Release 22
M i l e s t o n e D a t e S e c t i o n s Milestone Date Sections --DateAddDateAdd FunctionFunction
Milestone Date Sections Milestone Date Sections --DateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunction
Example with Duration in Months:
Use the DateAdd function to calculate the fi i h d tfinish date
01 February 2011 Approved for Public Release 23Copyright © Tecolote Research, Inc. October 2010
Calculating Start and Finish Dates Calculating Start and Finish Dates from Other Element Schedules from Other Element Schedules
Calculating Start and Finish Dates Calculating Start and Finish Dates from Other Element Schedules from Other Element Schedules
Time Phased Buy Quantity
Use DateOf function to calculate start and end dates
D t Of S tDateOf Syntax DateOf ( Year, [Month], [Day], [Year_Type] )When used with only the year parameter this function
01 February 2011 Approved for Public Release 24Copyright © Tecolote Research, Inc. October 2010
When used with only the year parameter, this function returns the first day of the fiscal year
Referencing Data Referencing Data Referencing Data Referencing Data Tables in ACETables in ACETables in ACETables in ACE
01 February 2011 Approved for Public Release 25
Tables in ACETables in ACETables in ACETables in ACE
L k f ili ??? W i d t iLook familiar??? We are given data in this format time and time againSome users think it is relatively simple toSome users think it is relatively simple to continue using and manipulating the data in the form it was given
01 February 2011 Approved for Public Release 26
But if…..
Tables in ACE (cont)Tables in ACE (cont)Tables in ACE (cont)Tables in ACE (cont)The Yearly phasing workscreen has more uses than many have previously beenuses than many have previously been exposed toYou can store a table of data (parts list,You can store a table of data (parts list, technical data, site component tables, etc.) that has nothing to do with the fiscal yearsWhen working with fiscal year data you should use FYCVal() function, but when the data is entered as a table, the Matrix functions are easier ways to utilize the data
01 February 2011 Approved for Public Release 27
Utilizing data tables in ACEUtilizing data tables in ACEUtilizing data tables in ACEUtilizing data tables in ACE
Accessing the data is similar in functionExcel uses these functions:Excel uses these functions:
Direct reference (“=C4”, etc.)Lookup (Lookup, Vlookup, Hlookup)p ( p, p, p)SumIf, SumIfsCombinations of above
ACE uses these functions to retrieve data from particular fiscal year columns:
FYCValFYCValMatrix (MatVal, MatColCol, MatColTot, etc.)Vlookup
01 February 2011 Approved for Public Release 28
VlookupDot Notation (X.1999, X.FYTot)
Why use MatricesWhy use MatricesWhy use MatricesWhy use Matricesin ACE?in ACE?in ACE?in ACE?
01 February 2011 Approved for Public Release 29
Benefits of using MatricesBenefits of using MatricesBenefits of using MatricesBenefits of using Matrices
Organization - Easier to logically arrange datadataInput Flexibility – Data inputs are easily modifiedmodified
Changing configurationsFrequently updated buy quantities/scheduleFrequently updated buy quantities/schedule
Scalability - Easy to increase/decrease the size of matrixsize of matrixRepeatability and ease of model building -Allow you to use the same equation on
01 February 2011 Approved for Public Release 30
Allow you to use the same equation on multiple rows
ACE ACE MatricesMatricesACE ACE MatricesMatricesSetting up matrices
Use a comment row (*) to describe the matrix andUse a comment row ( ) to describe the matrix and establish column ‘table’ headings –technically optional-
The “Parent” row will have a Unique ID to reference the matrixThe “Child” rows are the ‘table’ rows and are indentedEstablish phasing, as applicable
01 February 2011 Approved for Public Release 31
FYCValFYCVal FunctionFunctionFYCValFYCVal FunctionFunctionFYCVal retrieves a value from a particular year on the yearly phasing workscreenyear on the yearly phasing workscreen
Inputs:
Output: FYCVal(@LRate+3, FYFirst)(@Reference, Year)
01 February 2011 Approved for Public Release 32
FYIVal also retrieves data from the yearly phasing workscreen
MatValMatVal FunctionFunctionMatValMatVal FunctionFunctionMatVal retrieves a value from a matrix ll
Inputs:
Output: MatVal(@LRate, 3, 1)(@Matrix, Row, Column)
01 February 2011 Approved for Public Release 33
Matrix FunctionsMatrix FunctionsMatrix FunctionsMatrix FunctionsInstead of inserting extra rows for intermediate calculations, MatColRow() will
i th f d tgive the sum of products:
01 February 2011 Approved for Public Release 34
MatTotTot FunctionMatTotTot FunctionMatTotTot FunctionMatTotTot FunctionMatTotTot multiplies two vectors together
Example: What is the Total Personnel Cost per a p e a s e o a e so e Cos peYear (across all four pay groups)?Inputs: TotalUnique
IDWBS/ CES Description
Output: MatTotTot(4, @SS_P, @PRate)
01 February 2011 Approved for Public Release 35
Total = (55*28) + (35*150) + (45*150) + (12*12) = $13,684
MatColTotMatColTot Function (cont)Function (cont)MatColTotMatColTot Function (cont)Function (cont)MatColTot multiplies result from a selected column of a matrix by a vector
Example: What is the Total Personnel Cost (across all four pay groups)? – Pay data is in a FY column not the Total
UniqueInputs: FY 1Unique
IDWBS/ CES Description FY 2 FY 3
TotalUniqueIDWBS/ CES Description
Output: MatColTot(4, @SS_P, @LRate, 1)
01 February 2011 Approved for Public Release 36
Total = (55*28) + (35*150) + (45*150) + (12*12) = $13,684
MatColCol FunctionMatColCol FunctionMatColCol FunctionMatColCol FunctionMatColCol multiplies a year of an FY-dependent matrix by a single column in another matrix
Example: What is the Total Personnel Cost per year?Inputs:
Output: MatColCol(4, @People, @LRate, 1)
01 February 2011 Approved for Public Release 37
FY2003 = (11*55) + (60*35) + (60*45) + (4*12) = $5,453
MatColRow FunctMatColRow FunctionionMatColRow FunctMatColRow FunctionionMatColRow multiplies a year of an FY-dependent matrix by a single row in another matrix
Example: Personnel Rate Matrix is now transposed -What is the Total Personnel Cost per year?Inputs:
Table Transposed
Output: MatColRow(4, @People, @LRate2, 1)
Table Transposed
01 February 2011 Approved for Public Release 38
FY2003 = (11*55) + (60*35) + (60*45) + (4*12) = $5,453
Useful Matrix TipsUseful Matrix TipsUseful Matrix TipsUseful Matrix TipsStart small, then build on it to verify functionalityThe System By Site Wizard can help!Dynamic Equation Columns (DECs) can be y q ( )used to automate and add further functionality to your matricesColor code matrix-related data to make it easier to find
Text ColorText ColorHighlighting
01 February 2011 Approved for Public Release 39
The The VLookupVLookup & & The The VLookupVLookup & & ppStepValStepVal FunctionsFunctions
ppStepValStepVal FunctionsFunctions
01 February 2011 Approved for Public Release 40
The VLookup FunctionThe VLookup FunctionThe VLookup FunctionThe VLookup FunctionThe Vertical Lookup Function searches for a value stored in the first FY column, oncevalue stored in the first FY column, once found, returns the value on the located row from the specified columnVLookup and StepVal perform similar operations, the difference being that StepVal is limited to returning values only from one specified vector (@Y), and is oriented horizontallyhorizontallyVLookup allows for a matrix to be specified and values returned from any vector in the
01 February 2011 Approved for Public Release 41
and values returned from any vector in the matrix
VLookup ExampleVLookup ExampleVLookup ExampleVLookup ExampleVLookup Function Syntax:
VLookup(LookupVal, @DataTable, ColIndex, NumRows)VLookup(LookupVal, @DataTable, ColIndex, NumRows)
01 February 2011 Approved for Public Release 42
The The StepValStepVal FunctionFunctionThe The StepValStepVal FunctionFunctionUsing previous scenario for determining Fuel Tanks and Manpower based on HW Qty
The StepVal function allows you to simplify and automate, especially for multiple year inputs, or case analyses
01 February 2011 Approved for Public Release 43
The The StepValStepVal Function Function (cont)(cont)
The The StepValStepVal Function Function (cont)(cont)(cont)(cont)(cont)(cont)
StepVal Function Syntax:StepVal(xval @x @f of x num steps )StepVal(xval, @x, @f_of_x, num_steps )
Automate relevant informationEstablish criteria and desired functionalityEstablish criteria and desired functionality
01 February 2011 Approved for Public Release 44
Tips and TricksTips and TricksTips and TricksTips and TricksTips and TricksTips and TricksTips and TricksTips and Tricks
01 February 2011 Approved for Public Release 45
Tips & TricksTips & TricksTips & TricksTips & TricksAppropriation ChoicesACEIT eNews Tips of the Month
OpCycle Function vs FYRepeat FunctionOpCycle Function vs FYRepeat Function
Definition CleanupACEIT.comConvergenceConvergenceTemplates
01 February 2011 Approved for Public Release 46
p
Tips & Tricks Tips & Tricks ––Tips & Tricks Tips & Tricks ––ppAppropriation ChoicesAppropriation Choices
ppAppropriation ChoicesAppropriation Choices
01 February 2011 Approved for Public Release 47
Appropriation ChoicesAppropriation ChoicesAppropriation ChoicesAppropriation ChoicesIn the published system (US Government) inflation tables the same appropriation number (i.e. 3400) is used for multiple indices
3400 - GS & Wage Board Pay3400 - O&M Non-Pay, Non-POL
ACE distinguishes which index to use based i i h ion appropriation choices
3400 - O&M Non-Pay, Non-POL3401 - GS & Wage Board Pay
Be aware when using codes in ACE
01 February 2011 Approved for Public Release 48
Using 3400 for GS & Wage Board Pay would use the wrong index
Appropriation Choices (cont) Appropriation Choices (cont) Appropriation Choices (cont) Appropriation Choices (cont)
USAF Raw Inflation IndicesBased on OSD Raw Inflation Rates
General Operations Research,Military Compensation Services & Maint Develop
Based on OSD Raw Inflation RatesBase Year (FY) 2011
Military Compensation Services & Maint. Develop.,Pay Other & Wage Non-Pay, Testing,
Fiscal Base Expenses Total Retirement Board Pay Non-POL EvaluationYear (3500) (3500) (3500) (3500) (3400) (3400) (3600)
2005 0 837 0 863 0 840 0 713 0 848 0 891 0 8912005 0.837 0.863 0.840 0.713 0.848 0.891 0.8912006 0.864 0.886 0.866 0.709 0.876 0.918 0.9182007 0.885 0.903 0.887 0.726 0.897 0.943 0.9432008 0.913 0.930 0.915 0.820 0.925 0.966 0.9662009 0 948 0 960 0 949 0 863 0 960 0 980 0 9802009 0.948 0.960 0.949 0.863 0.960 0.980 0.9802010 0.981 0.988 0.982 0.981 0.985 0.989 0.9892011 1.000 1.000 1.000 1.000 1.000 1.000 1.0002012 1.021 1.020 1.021 1.021 1.021 1.016 1.016
01 February 2011 Approved for Public Release 49
Different Indices – Same Appropriation
Appropriation Choices (cont) Appropriation Choices (cont) Appropriation Choices (cont) Appropriation Choices (cont)
01 February 2011 Approved for Public Release 50
ACE Distinguishes which index to use based on appropriation choices
Tips & Tricks Tips & Tricks ––Tips & Tricks Tips & Tricks ––ppACEIT ACEIT eNewseNews Tips of the MonthTips of the Month
ppACEIT ACEIT eNewseNews Tips of the MonthTips of the Month
01 February 2011 Approved for Public Release 51
OpCycleOpCycle vsvsFYR tFYR t F tiF ti
OpCycleOpCycle vsvsFYR tFYR t F tiF tiFYRepeatFYRepeat FunctionsFunctionsFYRepeatFYRepeat FunctionsFunctions
Function OpCycle FYRepeat
Description Calculates a cyclical schedule where a value is repeated every x years for a specified number of cycles
Repeats a schedule every x years a specified number of times
Parameters Value – Single value or C‐phased @var – Row where time‐phased schedule is variable input or calculated
StartYear – First Year to repeat value NumTimes – Number of times to repeat the schedule
CycleYears – Number of years between RepeatSize – Number of years before beginningCycleYears Number of years between value
RepeatSize Number of years before beginning to repeat the schedule again
Multiplier – (optional) – Increase the value by some percentage each cycle
FY – (optional) – Retrieves a specific year of the schedule
MaxCycles (optional) Repeat the
Phasing F method F method
MaxCycles – (optional) – Repeat the value a specific number of times
01 February 2011 Approved for Public Release 52
OPCycleOPCycle FunctionFunctionOPCycleOPCycle FunctionFunctionInputs:
Results:
01 February 2011 Approved for Public Release 53
FYRepeatFYRepeat FunctionFunctionFYRepeatFYRepeat FunctionFunctionInputs:
Results:
01 February 2011 Approved for Public Release 54
OpCycleOpCycle vsvs FYRepeatFYRepeatF tiF ti
OpCycleOpCycle vsvs FYRepeatFYRepeatF tiF tiFunctionsFunctionsFunctionsFunctions
OpCycle FunctionOpCycle FunctionUse if you want to repeat a single value
FYRepeatFunctionUse if you want to repeat a stream of values
01 February 2011 Approved for Public Release 55
Tips & Tricks Tips & Tricks --Tips & Tricks Tips & Tricks --ppDefinition CleanupDefinition Cleanup
ppDefinition CleanupDefinition Cleanup
01 February 2011 Approved for Public Release 56
Definition CleanupDefinition CleanupDefinition CleanupDefinition Cleanuppppp
If you delete definition keywords fromIf you delete definition keywords from session rows, these definitions are actually still in the sessionactually still in the sessionIf significant in size, these unused definitions can require significantlydefinitions can require significantly longer calculation times Thi f l d fi i iThis feature lets you remove definitions from the ACE session
01 February 2011 Approved for Public Release 57
Definition Cleanup (cont)Definition Cleanup (cont)Definition Cleanup (cont)Definition Cleanup (cont)
01 February 2011 Approved for Public Release 58
Definition Cleanup (cont)Definition Cleanup (cont)Definition Cleanup (cont)Definition Cleanup (cont)
01 February 2011 Approved for Public Release 59
Tips & Tricks Tips & Tricks --Tips & Tricks Tips & Tricks --ACEIT.com ACEIT.com ACEIT.com ACEIT.com
01 February 2011 Approved for Public Release 60
Tips & TricksTips & Tricks--Tips & TricksTips & Tricks--ppConvergenceConvergencepp
ConvergenceConvergence
01 February 2011 Approved for Public Release 61
ConvergenceConvergenceConvergenceConvergenceHow many iterations is enough?
From discussions with other estimators “enough” isFrom discussions with other estimators, enough is“making the S-Curve smooth”10,000,100,000 (?!!??!)“I don’t know”
Is there an easy way to find out how many iterations is appropriate for my specific cost model?
01 February 2011 Approved for Public Release 62
Convergence (cont)Convergence (cont)Convergence (cont)Convergence (cont)The Convergence Chart in POST
Provides guidance on how many iterations should be used in the uncertaintyused in the uncertainty analysis“A good rule of thumb is that once your desired confidence level result stabilizes to within 0.5 percent, the number of0.5 percent, the number of iterations corresponding to this is how many you should run ” POST Help
01 February 2011 Approved for Public Release 63
run. -POST Help
Convergence (cont)Convergence (cont)Convergence (cont)Convergence (cont)Provides guidance on the number of iterations to use in the uncertainty analysisiterations to use in the uncertainty analysis
Measures relative difference of 50, 70, 90 percentile (default user can choose others) results to those at(default, user can choose others) results to those at 10k iterations (or other selected maximum)Applying correlation requires more iterations to pp y g qconverge
01 February 2011 Approved for Public Release 64Copyright © Tecolote Research, Inc. July 2010
Convergence (cont)Convergence (cont)Convergence (cont)Convergence (cont)When results are within 0.5% of 10k iterations, convergence is assured as any simulation will yield a 0.5% difference from the results by changing the random seed
01 February 2011 Approved for Public Release 65Copyright © Tecolote Research, Inc. July 2010
Tips & TricksTips & Tricks--Tips & TricksTips & Tricks--Tips & TricksTips & TricksTemplatesTemplates
Tips & TricksTips & TricksTemplatesTemplates
01 February 2011 Approved for Public Release 66
TemplatesTemplatesTemplatesTemplatesCasual ACEIT users have commented that they continue to use Excel instead becausethey continue to use Excel instead because they have created templates that they re-use
Templates feed into specific reports or formsConsistency in the way their reports look
The same template can be created in ACE pand the versatility of POST allows for customizing reports, charts, etc.
01 February 2011 Approved for Public Release 67
Templates (cont)Templates (cont)Templates (cont)Templates (cont)Create sections of ACE models that can be
f l i lti l d luseful in multiple modelsSpecific customer requests (PAUC, APUC, other metrics)metrics)Phasing by milestones, dates, etc.Date functions Matrix functions etc can be re-usedDate functions, Matrix functions, etc. can be re-used with minor adjustmentsPOST Reports and Charts can be customized to look and report differently to fit needs
01 February 2011 Approved for Public Release 68
Templates (cont)Templates (cont)Templates (cont)Templates (cont)Templates in ACE models:
Color coded with formattinggAdd definitions to provide additional insight and documentation
01 February 2011 Approved for Public Release 69
Templates (cont)Templates (cont)Templates (cont)Templates (cont)POST contains 27 Reports that can be customized and saved
Select 1 or multiple casesFiltered by categoryBY, TY, SYRisk (un/adjusted)
StatisticalAllocated
Various levels of indentureVarious levels of indentureSpecific rows included/excludedFormat the look and feel of the chart
01 February 2011 Approved for Public Release 70
Format the look and feel of the chartColors, fonts, etc.
SSSSSummarySummarySummarySummary
01 February 2011 Approved for Public Release 71
Presentation SummaryPresentation SummaryPresentation SummaryPresentation SummaryACEIT and Excel:
Just because you have a nail gun and aJust because you have a nail gun and a drill doesn’t mean you won’t use your hammer and screwdriverhammer and screwdriverACEIT has become more versatile, and provides the functionality necessary for justprovides the functionality necessary for just about any estimateContinuous education is valuable to beContinuous education is valuable to be able to learn and apply tools that will improve the efficiency and effectiveness of
01 February 2011 Approved for Public Release 72
improve the efficiency and effectiveness of cost models
B k SlidB k SlidB k SlidB k SlidBackup SlidesBackup SlidesBackup SlidesBackup Slides
01 February 2011 Approved for Public Release 73
Error TypesError TypesError TypesError TypesFATAL:
ACE found a critical error in your estimate that you must fix before it can generate a result. Typical FATAL problems are improper function equation or column syntaxTypical FATAL problems are improper function, equation, or column syntax.
WARNING: ACE found a problem with your estimate that you should be aware of. For example, you may have specified a methodology on a parent row where it is not appropriate, or you may not have provided a required phasing method.appropriate, or you may not have provided a required phasing method. Warnings indicate situations that may or may not affect your results. While an action on your part is not always required, you should examine every WARNING message. ACE still calculates a result if it generates a WARNING.
INFO: ACE found a minor problem with your estimate and will take an appropriate action unless you cancel the calculation. For example, ACE may add a new row to your estimate if it finds a variable that has not been defined. INFO t i ll d t h lt b t h ld i th t bINFO messages typically do not change your results, but you should examine them to be sure. ACE still calculates a result if it generates INFO messages.
UNUSED VARIABLES:ACE found variables with Unique IDs that were not entered any place in the ACE
01 February 2011 Approved for Public Release 74Copyright © Tecolote Research, Inc. December 2009
ACE found variables with Unique IDs that were not entered any place in the ACE session.
Milestone Date Sections Milestone Date Sections --DateAddDateAdd FunctionFunction
Milestone Date Sections Milestone Date Sections --DateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunction
When working with flexible schedules there are three main elements to include in theare three main elements to include in the estimate:
Start Date – enter the activity start dateDuration – enter the duration of the activity in years, months or daysFinish Date – calculated from the start date and duration
Use DateAdd() to add Years, Months and/or Days to a dateIf decimal values are specified for years or months they will be recognizedDecimal day values will be truncated
01 February 2011 Approved for Public Release 75Copyright © Tecolote Research, Inc. October 2010
Decimal day values will be truncated
Milestone Date Sections Milestone Date Sections --DateAddDateAdd FunctionFunction
Milestone Date Sections Milestone Date Sections --DateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunctionDateAddDateAdd FunctionFunction
Implement the DateAdd function with year, month and/or day durationsFunction Syntax:
DateAdd(Date, Year [,Month [,Day [,Truncate]]])Date – Enter the starting dateWays to enter duration
For years only enter a variable for the year and remove the month and dayFor years only, enter a variable for the year and remove the month and day parameters (e.g., DateAdd(2007, 5))For months only, enter 0 for the year, include a variable for number of months, and remove the day parameter (e.g., (DateAdd(2007,0,13))For days only enter 0 for the year and month and a enter a variable for theFor days only, enter 0 for the year and month, and a enter a variable for the number of days (e.g., DateAdd(2007,0,0,200)You can build durations using combinations of years, months, and daysTruncate is optional and indicates whether or not the function should operate on fractional years and months, e.g., 1.5 years. By default, the p y g y yfunction does recognize and add partial years and months.
Be sure to remove the square brackets for the optional parametersMost popular implementation uses duration in months
E l D t Add(St td t 0 D ti ) if l t th 0 f
01 February 2011 Approved for Public Release 76Copyright © Tecolote Research, Inc. October 2010
Example: DateAdd(Startdate, 0, Duration) – if you leave out the 0 for the year parameter, the month is interpreted as a year
DateOfDateOf FunctionFunctionDateOfDateOf FunctionFunctionDateOf ( Year, [Month], [Day], [Year_Type] )
Year - This argument is used to reference the year of the date. [Month] - Optional argument used to reference the number of months (positive or negative) into thenumber of months (positive or negative) into the specified year. The first month of a year is specified as the value “1”. [Day] - Optional argument used to reference the number of days (positive or negative) into a month. The first day of a month is specified as the value “1”The first day of a month is specified as the value 1 . [Year_Type] - This is an optional argument used to reference whether the specified year is a Fiscal Year
01 February 2011 Approved for Public Release 77
p y(0) or a Calendar Year (1).
MatDotMatDot FunctionsFunctionsMatDotMatDot FunctionsFunctionsMatDot can be used instead of MatColCol or MatColRow. It multiplies multiple columns or rows together.
MatColDot (Num_Rows, Index1,@Var1, I d 2 @V 2 )Index2,@Var2,…)
Indexi is the column index for the vari. When the Indexi = 0 the total @var is used. When Indexi >0 then @vari is the column index of the matrix. When Indexi<0 then the @vari is calculated for each year and the equation shouldIndexi<0 then the @vari is calculated for each year and the equation should be time phased.
MatDot(N_Rows, Type1, Index1, @Var1, Type2, Index2 @Var2 )Index2, @Var2,…)
The typei argument determines whether @Var is a row or a column vector (0=column, 1=row). The indexi provide the same function as in the MatColDot.
01 February 2011 Approved for Public Release 78
The The VLookupVLookup FunctionFunctionThe The VLookupVLookup FunctionFunctionVLookup Function Syntax:
VLookup(LookupVal, @DataTable, ColIndex, NumRows)VLookup(LookupVal, @DataTable, ColIndex, NumRows)LookupVal – The value to search in the first yearly column of the DateTable matrix. If the exact value is not found, the value that is closest but not greater than the LookupVal will be used If theis closest but not greater than the LookupVal will be used. If the LookupVal is larger than the largest value in the first yearly column of the DataTable matrix, VLookup() returns the largest value.@DataTable – A table of data (matrix) using the yearly columns to store the data. The values in the first column are the ones searched. As with all ACE matrices, the row addresssearched. As with all ACE matrices, the row address @DataTable is the row preceding the actual matrix.ColIndex – The column number of the @DataTable matrix from which the value must be returned
01 February 2011 Approved for Public Release 79
which the value must be returned.NumRows – The total number of rows in the @DataTable matrix.
The StepVal FunctionThe StepVal FunctionThe StepVal FunctionThe StepVal Function
StepVal Function Syntax:StepVal(xval, @x, @f_of_x, num_steps )
XV l Th l i f hi h th t f tiXVal – The value or expression for which the step function evaluates.@x – The array of values defining the highest values for each x-
th t i h h “ t ” (A ith ll ACErange, that is, where each “step” occurs. (As with all ACE matrices, the row address @x is the row preceding the actual matrix data and is just a marker for the beginning of the matrix.)@f_of_x – The array of values defining the step function value in the ranges defined by @x, that is, the value at each step.Num_steps – The number of years with non-zero values defined
01 February 2011 Approved for Public Release 80
by @x and @f_of_x
OPCycleOPCycle FunctionFunctionOPCycleOPCycle FunctionFunctionOpCycle (Value, StartYear, CycleYears[ Multiplier MaxCycles] )[,Multiplier, MaxCycles] )
Value - The value to be entered each cycle. This can be a number or a variable, but must be a constant (i.e., a u be o a a ab e, but ust be a co sta t ( e ,phased using C phasing method)Start Year - The first year the cycle begins. This may be a decimal value to denote a cycle beginning in the middle of the year (e.g., 2006.5 would be six months into FY 2006))Cycle Years - The number of years between each cycle. This may be a decimal value for spans other than
( 18 th ld b 1 5)
01 February 2011 Approved for Public Release 81
years (e.g., 18 months would be 1.5)
OPCycleOPCycle Function (cont)Function (cont)OPCycleOPCycle Function (cont)Function (cont)
OpCycle (Value, StartYear, CycleYears[ M lti li M C l ] )[,Multiplier, MaxCycles] )
Multiplier - This is an optional parameter. The Multiplier to increase or decrease the value each cycle Theto increase or decrease the value each cycle. The multiplier may be any positive number. A Value of 1.0 means the value will be the same each cycle. 1.0 is the default value if not defined.Max Cycles - This is an optional parameter. The maximum number of cycles in the schedule If excludedmaximum number of cycles in the schedule. If excluded, ACE will extend the cycle through the last year of the session.
01 February 2011 Approved for Public Release 82
OPCycleOPCycle Function (cont)Function (cont)OPCycleOPCycle Function (cont)Function (cont)
OpCycleThis function is ideal for software maintenance and depot maintenance refresh schedules.The function can be year constrained using the Start Date and Finish Date columns.The function requires the row to be phased with the “F” phasing method.p gIf you want to repeat a yearly throughput (e.g., buy schedule), use the FYRepeat function.
01 February 2011 Approved for Public Release 83
y ) p
FYRepeatFYRepeat FunctionFunctionFYRepeatFYRepeat FunctionFunctionFYRepeat ( @var, NumTimes, RepeatSize, [FY] )
@var - This argument refers to the ACE row containing@var This argument refers to the ACE row containing a procurement schedule. The @var syntax identifies an ACE row, where var is the Unique ID of the row (item) to
freferenceNumTimes - This argument is the number of times you wish to have the procurement schedule (@var) repeatedwish to have the procurement schedule (@var) repeatedRepeatSize - This argument is the number of years before repeating the schedule againFY - This optional argument tells which fiscal year of the repeated schedule to retrieve
01 February 2011 Approved for Public Release 84
FYRepeatFYRepeat Function (cont)Function (cont)FYRepeatFYRepeat Function (cont)Function (cont)
FYRepeatpThis function can be used in place of a fiscal year argumentyear argumentThis function can be used within other functions as part of an expressionas part of an expression
01 February 2011 Approved for Public Release 85