Skip to main content

📊 Valuation Fields Data Dictionary

📋 Overview

This document provides a comprehensive data dictionary for valuation-related fields in the Asset Valuer Pro system. It maps technical field names to their business purpose, data types, validation rules, and usage examples across various valuation methods.

📋 Core Valuation Method Fields

The AssetValuationMethod abstract class defines these common fields for all valuation methods:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
GrossDecimalReplacement costYesGross replacement cost500000.00
GrossLongDecimalLong-life portionYesLong-life component of gross375000.00
GrossShortDecimalShort-life portionYesShort-life component of gross125000.00
DepreciationAmountLongDecimalLong-life depreciationYesDepreciation amount for long-life75000.00
DepreciationAmountShortDecimalShort-life depreciationYesDepreciation amount for short-life60000.00
DepreciationAmountTotalDecimalTotal depreciationYesTotal accumulated depreciation135000.00
CurrentValueDecimalFair valueYesCurrent/fair value365000.00
CurrentValueLongDecimalLong-life fair valueYesFair value of long-life portion300000.00
CurrentValueShortDecimalShort-life fair valueYesFair value of short-life portion65000.00
AccumulatedDepreciationDecimalAccumulated depreciationYesTotal accumulated depreciation135000.00
DepreciationExpenseDecimalAnnual depreciationYesAnnual depreciation expense15000.00
DepreciationExpenseLongDecimalLong-life expenseYesAnnual depreciation for long-life9000.00
DepreciationExpenseShortDecimalShort-life expenseYesAnnual depreciation for short-life6000.00
WeightedAverageULDecimalWeighted useful lifeYesWeighted average useful life (years)45.5
WeightedAverageRULDecimalWeighted remaining lifeYesWeighted average remaining useful life32.75

📋 Direct Cost Valuation Method

The DirectCostValuationMethod extends the base class with:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
ComponentValuationsCollectionComponent detailsYesComponent-level valuationsList of ComponentValuation objects
TotalApportionmentDecimalApportionment checkYesSum of component apportionments1.0 (100%)

Business Logic

Direct Cost valuation calculates asset value by summing component values:

// Simplified logic
public override decimal CalculateGross()
{
return ComponentValuations.Sum(c => c.Gross);
}

public override decimal CalculateCurrentValue()
{
return ComponentValuations.Sum(c => c.CurrentValue);
}

📋 Apportionment Cost Valuation Method

The ApportionmentCostValuationMethod extends the base class with:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
AssetReplacementCostsCollectionCost elementsYesAsset-level replacement costsList of AssetReplacementCost objects
ComponentApportionmentsCollectionComponent allocationsYesHow costs are apportioned to componentsList of ComponentValuation objects

Business Logic

Apportionment valuation distributes asset-level costs to components based on apportionment percentages:

// Simplified logic
public override decimal CalculateGross()
{
return AssetReplacementCosts.Sum(c => c.Gross);
}

// Components get apportioned values
private void ApportionToComponents()
{
var totalGross = CalculateGross();
foreach (var component in ComponentApportionments)
{
component.Gross = totalGross * component.ApportionmentPct;
}
}

📋 Market Approach Valuation Method

The MarketValuationMethod extends the base class with:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
TypeStringMarket valuation typeYesType of market approach used"Direct Comparison"
PropertyValueDecimalTotal property valueYesTotal property market value1200000.00
LandRateDecimalLand unit rateYesRate per unit of land area750.00
LandAreaDecimalLand areaYesTotal land area1500.00
LandAreaUnitStringArea unitYesUnit of measurement for area"sqm"
LandTotalDecimalLand valueYesTotal land value1125000.00
ImprovementsPctDecimalImprovements percentageYesPercentage for improvements0.25 (25%)
ImprovementsValueDecimalImprovements valueYesValue of improvements300000.00
MarketValueDecimalFinal market valueYesFinal determined market value1425000.00
IndexationPctDecimalIndexation factorNoAdjustment for time0.03 (3%)

Business Logic

Market valuation uses comparable sales data and standard valuation techniques:

// Simplified logic
public override decimal CalculateGross()
{
return MarketValue;
}

public override decimal CalculateCurrentValue()
{
return MarketValue;
}

📋 Income Approach Valuation Method

The IncomeValuationMethod extends the base class with:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
LandRateDecimalLand unit rateYesRate per unit of land area750.00
LandAreaDecimalLand areaYesTotal land area1500.00
LandValueDecimalLand valueYesTotal land value1125000.00
ImprovementsPctDecimalImprovements percentageYesPercentage for improvements0.25 (25%)
ImprovementsValueDecimalImprovements valueYesValue of improvements300000.00
MarketValueDecimalFinal market valueYesFinal determined market value1425000.00
IncomeApproachItemsCollectionIncome streamsYesIndividual income streamsList of IncomeApproachItem objects

Income Approach Item Fields

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
ItemNameStringIncome sourceYesDescription of income source"Retail Tenancy"
InflowDecimalIncome amountYesAnnual income120000.00
OutflowDecimalExpense amountYesAnnual expenses40000.00
VacancyFactorPctDecimalVacancy rateYesExpected vacancy rate0.05 (5%)
LeasedUpMonthsIntegerLease-up periodNoMonths to fully lease3
CapitalisationRatePctDecimalCap rateYesCapitalization rate0.07 (7%)
CapitalAdjustmentDecimalAdjustmentNoCapital value adjustment50000.00
NetFlowDecimalNet incomeYesNet annual income80000.00
ValuationDecimalCapitalized valueYesCapitalized income value1142857.14

Business Logic

Income valuation capitalizes income streams to determine value:

// Simplified logic
public override decimal CalculateGross()
{
return MarketValue;
}

public decimal CalculateNetFlow()
{
return IncomeApproachItems.Sum(i => i.Inflow - i.Outflow);
}

public decimal CalculateCapitalizedValue()
{
return IncomeApproachItems.Sum(i =>
(i.NetFlow * (1 - i.VacancyFactorPct)) / i.CapitalisationRatePct + i.CapitalAdjustment);
}

📋 Insurance Valuation Fields

The Insurance class contains:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
CoverageStringCoverage typeYesType of insurance coverage"Full"
LeadBuildMonthsIntegerLead timeYesMonths required to rebuild12
DemoMonthsIntegerDemolition timeYesMonths required for demolition2
ReplacementAdjustmentPctDecimalAdjustment factorNoAdjustment to replacement cost0.05 (5%)
EscalationFactorPctDecimalCost escalationYesAnnual cost escalation rate0.04 (4%)
ProfessionalFeesPctDecimalProfessional feesYesProfessional fees percentage0.10 (10%)
DebrisRemovalPctDecimalDebris removalYesDebris removal percentage0.05 (5%)
DebrisRemovalMinimumDecimalMinimum removalNoMinimum debris removal cost10000.00
DebrisRemovalDecimalCalculated removalYesCalculated debris removal cost25000.00
TotalDecimalBase insured valueYesBase insured value500000.00
EscalationFeesDecimalEscalation amountYesCalculated escalation amount20000.00
ProfessionalFeesDecimalFees amountYesCalculated professional fees50000.00
TotalPlusEscalationDecimalWith escalationYesTotal plus escalation520000.00
TotalPlusEscalationPlusProfessionalDecimalFull insuranceYesFull insurance value570000.00

Business Logic

Insurance valuation calculates replacement cost with allowances for time delays:

// Simplified logic
public decimal CalculateEscalationFees()
{
var totalMonths = LeadBuildMonths + DemoMonths;
var annualFactor = Math.Pow(1 + EscalationFactorPct, totalMonths / 12.0) - 1;
return Total * (decimal)annualFactor;
}

public decimal CalculateProfessionalFees()
{
return TotalPlusEscalation * ProfessionalFeesPct;
}

public decimal CalculateDebrisRemoval()
{
var calculatedRemoval = Total * DebrisRemovalPct;
return calculatedRemoval < DebrisRemovalMinimum ? DebrisRemovalMinimum : calculatedRemoval;
}

📋 Component Valuation Fields

The ComponentValuation class contains:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
NameStringComponent nameYesDescriptive name of component"Roof Structure"
TypeStringComponent typeYesType of component"Structural"
SubTypeStringComponent sub-typeYesSub-type of component"Roof"
ApportionmentPctDecimalCost allocationYesPercentage of asset cost0.15 (15%)
ConsumptionScoreIntegerCondition scoreYesCondition rating (1-10)7
ScoreChangedDateDateTimeScore updateNoWhen condition score was last updated"2023-09-15"
GrossDecimalReplacement costYesGross replacement cost75000.00
LongLifePctDecimalLong-life portionYesPercentage of long-life portion0.70 (70%)
ShortLifePctDecimal (Derived)Short-life portionYesPercentage of short-life portion0.30 (30%)
ValuationProfileStringValuation profileYesProfile for valuation calculations"Standard Building"
ULShortDecimalShort-life spanYesUseful life of short-life portion (years)15
ULLongDecimalLong-life spanYesUseful life of long-life portion (years)40
RULShortDecimalShort remaining lifeYesRemaining useful life of short portion9
RULLongDecimalLong remaining lifeYesRemaining useful life of long portion28
RSPPctShortDecimalShort RSP percentageYesRemaining service potential (short)0.60 (60%)
RSPPctLongDecimalLong RSP percentageYesRemaining service potential (long)0.70 (70%)
DepreciationPolicyStringDepreciation methodYesMethod of depreciation"Straight Line"
ObsolescenceProfileStringObsolescence patternNoPattern of obsolescence"None"

Business Logic

Component valuation calculates depreciation based on condition:

// Simplified logic
public decimal CalculateRSPPct(int consumptionScore, string profile)
{
// Get profile mapping from valuation profile service
return _valuationProfileService.GetRSPPercentage(profile, consumptionScore);
}

public decimal CalculateCurrentValue()
{
return CalculateCurrentValueLong() + CalculateCurrentValueShort();
}

public decimal CalculateCurrentValueLong()
{
return GrossLong * RSPPctLong;
}

public decimal CalculateCurrentValueShort()
{
return GrossShort * RSPPctShort;
}

📋 Replacement Cost Fields

The AssetReplacementCost class contains:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
NameStringItem nameYesDescription of replacement item"Main Structure"
AreaTypeStringArea typeNoType of area measurement"GFA"
LengthDecimalLengthNoLength measurement25.0
WidthDecimalWidthNoWidth measurement15.0
AreaDecimalAreaNoArea measurement375.0
QuantityDecimalQuantityYesQuantity of items1.0
TotalDimensionDecimalTotal dimensionYesTotal dimension for costing375.0
SpecifiedRateDecimalRate specifiedNoClient-specified rate2000.00
LocalityFactorPctDecimalLocality adjustmentNoAdjustment for location0.10 (10%)
AdoptedRateDecimalRate usedYesFinal rate adopted2200.00
IndexationPctDecimalCurrent indexationNoCurrent period indexation0.03 (3%)
AccumulatedIndexPctDecimalTotal indexationNoAccumulated indexation0.07 (7%)
GrossDecimalTotal costYesTotal replacement cost882750.00

📋 Valuation Profile Fields

The ValuationProfile class contains:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
NameStringProfile nameYesName of valuation profile"Standard Building"
DescriptionStringProfile descriptionNoDescription of profile usage"For standard building components"
ValuationProfileScoresCollectionCondition mappingsYesMaps condition scores to RSP/RULCollection of ValuationProfileScore

Valuation Profile Score Fields

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
ConsumptionScoreStartIntegerScore range startYesStarting condition score6
ConsumptionScoreEndIntegerScore range endYesEnding condition score7
RSPPctStartDecimalRSP range startYesStarting RSP percentage0.60 (60%)
RSPPctEndDecimalRSP range endYesEnding RSP percentage0.70 (70%)
RULPctStartDecimalRUL range startYesStarting RUL percentage0.55 (55%)
RULPctEndDecimalRUL range endYesEnding RUL percentage0.65 (65%)

📋 Valuation Class Fields

The ValuationClass class contains financial reporting classification fields:

Field NameData TypeBusiness PurposeRequiredDescriptionExample Value
NameStringClass nameYesName of valuation class"Property, Plant & Equipment"
TechniqueStringValuation techniqueYesTechnique used"Cost Approach"
LevelIntegerFV hierarchy levelYesFair value hierarchy level3
DescriptionStringClass descriptionNoDescription of valuation class"Assets valued using cost approach"

📋 Integrated Business Logic Chains

Condition Score to Fair Value

The system uses a chain of mappings to convert condition scores to fair value:

  1. Condition Score Assignment: Inspector assigns condition score (1-10)
  2. Profile Mapping: Score mapped to RSP percentage via ValuationProfile
  3. Remaining Service Potential: RSP calculated as a percentage
  4. Current Value Calculation: RSP applied to Gross to determine Current Value
  5. Depreciation Calculation: (1-RSP) of Gross equals Accumulated Depreciation

Depreciation Expense Calculation

Annual depreciation expense is calculated based on pattern and useful life:

  1. Useful Life Determination: From component assumptions
  2. Pattern Selection: Straight line, diminishing value, etc.
  3. Expense Calculation: For straight line: Gross / UL
  4. Remaining Life Calculation: Based on RUL percentage or explicit assignment

📋 Business Value and Impact

Financial Reporting Impact

Valuation fields directly impact:

  • Asset carrying values in financial statements
  • Depreciation expense in income statements
  • Fair value measurement disclosures
  • Movements reconciliation reporting

Asset Management Impact

Valuation data supports:

  • Asset renewal planning
  • Remaining useful life estimation
  • Maintenance timing and budgeting
  • Strategic replacement decisions

Risk Management

Valuation fields contribute to:

  • Insurance coverage adequacy
  • Replacement cost accuracy
  • Disaster recovery planning
  • Financial risk assessment

📋 Version Considerations

Version 2 vs. Version 3 Differences

  • Version 3 adds more comprehensive condition score history
  • Version 3 enhances valuation profile flexibility
  • Version 3 improves calculation performance
  • Version 3 adds more detailed validation for valuation fields