From appraisal-valuation
Constructs comparable sales adjustment grids, quantifies adjustments via paired sales or hedonic regression, validates gross/net adjustment limits, and reconciles adjusted sale prices for sales comparison appraisals.
How this skill is triggered — by the user, by Claude, or both
Slash command
/appraisal-valuation:comparable-sales-adjustment-methodologyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**When users need to perform comparable sales calculations, use the Python calculator in the Comparable_Sales_Analysis directory.**
scripts/Comparable_Sales_Analysis/README.mdscripts/Comparable_Sales_Analysis/__init__.pyscripts/Comparable_Sales_Analysis/adjustments/__init__.pyscripts/Comparable_Sales_Analysis/adjustments/building_general.pyscripts/Comparable_Sales_Analysis/adjustments/industrial_building.pyscripts/Comparable_Sales_Analysis/adjustments/land.pyscripts/Comparable_Sales_Analysis/adjustments/office_building.pyscripts/Comparable_Sales_Analysis/adjustments/parameter_mapping.pyscripts/Comparable_Sales_Analysis/adjustments/site.pyscripts/Comparable_Sales_Analysis/adjustments/special_features.pyscripts/Comparable_Sales_Analysis/adjustments/validation.pyscripts/Comparable_Sales_Analysis/adjustments/zoning_legal.pyscripts/Comparable_Sales_Analysis/comparable_sales_calculator.pyscripts/Comparable_Sales_Analysis/docs/SCHEMA_DOCUMENTATION.mdscripts/Comparable_Sales_Analysis/paired_sales_analyzer.pyscripts/Comparable_Sales_Analysis/sample_inputs/sample_industrial_comps.jsonscripts/Comparable_Sales_Analysis/sample_inputs/sample_industrial_comps_ENHANCED.jsonscripts/Comparable_Sales_Analysis/sample_inputs/sample_industrial_comps_tight.jsonscripts/Comparable_Sales_Analysis/sample_inputs/sample_industrial_comps_unified.jsonscripts/Comparable_Sales_Analysis/sample_inputs/sample_industrial_rail_yard.jsonWhen users need to perform comparable sales calculations, use the Python calculator in the Comparable_Sales_Analysis directory.
Location: ${CLAUDE_PLUGIN_ROOT}/skills/comparable-sales-adjustment-methodology/scripts/Comparable_Sales_Analysis/
Main Files:
comparable_sales_calculator.py - Main calculator with adjustment grid constructionpaired_sales_analyzer.py - Paired sales analysis toolvalidate_comparables.py - Input validation utilityadjustments/ - Modular adjustment calculations by categoryCapabilities:
JSON structure (see sample_inputs/sample_industrial_comps.json or sample_inputs/sample_industrial_comps_ENHANCED.json in the Comparable_Sales_Analysis directory for complete examples):
{
"subject_property": {
"property_rights": "fee_simple",
"property_type": "industrial",
"lot_size_acres": 10.0,
"building_sf": 50000,
"clear_height_feet": 32,
"loading_docks_dock_high": 6,
"condition": "good"
},
"comparable_sales": [
{
"address": "123 Industrial Way",
"sale_price": 4500000,
"sale_date": "2024-03-15",
"lot_size_acres": 8.0,
"building_sf": 45000,
"clear_height_feet": 28
}
],
"market_parameters": {
"cap_rate": 7.0,
"appreciation_rate_annual": 3.5,
"valuation_date": "2025-01-15",
"lot_adjustment_per_acre": 15000,
"building_size_adjustment_per_sf": 2.0,
"clear_height_value_per_foot_per_sf": 1.5
}
}
Command-line:
cd ${CLAUDE_PLUGIN_ROOT}/skills/comparable-sales-adjustment-methodology/scripts/Comparable_Sales_Analysis/
python comparable_sales_calculator.py sample_inputs/sample_industrial_comps.json --output results.json --verbose
When assisting users:
JSON output includes:
adjustment_stages: Sequential adjustments (1-6)all_adjustments: Detailed list of 49 physical characteristic adjustmentsadjustments_by_category: Grouped by Land, Site, Industrial, Office, etc.validation: Gross/net adjustment percentages, status (ACCEPTABLE/CAUTION/REJECT)weighting: Statistical weight based on adjustment magnitudeLocated in Comparable_Sales_Analysis/sample_inputs/:
sample_industrial_comps.json: Original format (backward compatible)sample_industrial_comps_ENHANCED.json: Enhanced format with all 49 adjustment fieldssample_office_class_a.json, sample_office_class_b.json, sample_office_class_c.json: Office property examplesUnit tested (17 tests, 100% passing):
Adjustments must be applied in proper sequence because some adjustments affect the base from which subsequent adjustments are calculated.
1. Property Rights
Example:
2. Financing Terms
Example:
3. Conditions of Sale
Example:
4. Market Conditions/Time
Example:
5. Location
Example:
6. Physical Characteristics
Size adjustment example:
Final adjusted sale price: $797,000 (compared to subject property)
Multiple methodologies for deriving adjustment amounts, applied based on data availability and adjustment type.
Principle: Identify two sales that differ in only ONE characteristic, isolate the value impact of that characteristic.
Ideal paired sales criteria:
Example (size adjustment):
Sale A:
Sale B:
Analysis:
Application to subject comparable:
Example (highway frontage adjustment):
Sale C:
Sale D:
Analysis:
Principle: Use multiple regression to isolate value contribution of multiple characteristics simultaneously when sufficient sales data available (typically 20+ transactions).
Regression model:
Linear model: Price = β₀ + β₁(Acres) + β₂(Highway Frontage) + β₃(Servicing) + β₄(Zoning) + β₅(Age) + ε
Variables:
Example output (industrial land sales regression):
| Variable | Coefficient (β) | Std Error | t-stat | p-value |
|---|---|---|---|---|
| Constant (β₀) | $250,000 | $45,000 | 5.56 | <0.001 |
| Acres (β₁) | $95,000 | $8,000 | 11.88 | <0.001 |
| Highway Frontage (β₂) | $180,000 | $35,000 | 5.14 | <0.001 |
| Servicing (β₃) | $120,000 | $28,000 | 4.29 | 0.002 |
| Zoning (β₄) | $60,000 | $20,000 | 3.00 | 0.008 |
Model fit: R² = 0.84 (model explains 84% of price variation)
Interpretation:
Application to comparables:
Comparable sale:
Adjustment derivation:
Principle: Quantify adjustment based on cost to add/remove characteristic, less depreciation.
Use cases:
Example (building adjustment):
Subject: Vacant industrial land Comparable: Industrial land with 5,000 sq ft warehouse (built 2015, good condition)
Replacement cost analysis:
Example (superior finishes):
Subject: Office building, standard finishes (carpet, drywall, drop ceiling) Comparable: Office building, upgraded finishes (hardwood, millwork, high ceilings)
Cost differential:
Principle: Quantify adjustment based on income differential capitalized to value.
Use cases:
Example (location adjustment for investment property):
Subject: Industrial building, Location A, achievable rent $12/sq ft Comparable: Industrial building, Location B, achievable rent $10/sq ft
Rental differential:
Example (vacancy adjustment):
Subject: 100% leased industrial building Comparable: 60% vacant industrial building (requires lease-up)
Lease-up cost and delay:
Principle: Apply reasoned judgment when paired sales, regression, cost, or income methods unavailable or unreliable.
Requirements for defensible judgment:
Example (unique property characteristic):
Subject: Industrial land with rail spur (active connection) Comparable: Industrial land without rail access
Analysis:
Documentation: "Rail spur adjustment of $300,000 derived from depreciated replacement cost ($280,000) and market interviews indicating 5-10% premium. Comparable sale price $3.2M × 8% = $256,000 to $320,000 range. Adopted $300,000 as midpoint, supported by cost approach."
Testing adjustment grids for reasonableness and reliability before forming value conclusion.
Principle: Total absolute adjustments should not exceed reasonable limits, or comparable may not be truly comparable.
Industry guidelines:
Example:
Comparable Sale: $1,500,000
| Adjustment | Amount | % |
|---|---|---|
| Financing | -$50,000 | -3.3% |
| Time | +$75,000 | +5.0% |
| Location | +$150,000 | +10.0% |
| Size | -$30,000 | -2.0% |
| Servicing | +$60,000 | +4.0% |
| Condition | -$25,000 | -1.7% |
| Net adjustment | +$180,000 | +12.0% |
| Gross adjustment | $390,000 | 26.0% |
Analysis:
Gross adjustment calculation: Gross = |−$50K| + |+$75K| + |+$150K| + |−$30K| + |+$60K| + |−$25K| = $390,000 Gross % = $390,000 ÷ $1,500,000 = 26.0%
Principle: Net adjustments (sum of positive and negative) should be consistent across comparable sales.
Consistency test:
Ideal pattern:
Example (good bracketing):
| Comp | Sale Price | Net Adj | Adj % | Adjusted Price | $/Acre |
|---|---|---|---|---|---|
| 1 | $1,200,000 | +$120,000 | +10% | $1,320,000 | $132,000 |
| 2 | $1,450,000 | -$90,000 | -6% | $1,360,000 | $136,000 |
| 3 | $1,320,000 | +$45,000 | +3% | $1,365,000 | $136,500 |
| 4 | $1,550,000 | -$180,000 | -12% | $1,370,000 | $137,000 |
Analysis:
Example (poor pattern - all inferior):
| Comp | Sale Price | Net Adj | Adj % | Adjusted Price |
|---|---|---|---|---|
| 1 | $900,000 | +$350,000 | +39% | $1,250,000 |
| 2 | $1,050,000 | +$280,000 | +27% | $1,330,000 |
| 3 | $980,000 | +$310,000 | +32% | $1,290,000 |
Analysis:
Principle: When using regression to derive adjustments, validate model fit and coefficient reliability.
R-squared (Coefficient of Determination):
Coefficient significance (p-value):
Example regression output:
| Variable | Coefficient | p-value | Interpretation |
|---|---|---|---|
| Acres | $95,000 | <0.001 | Highly significant (use) |
| Highway Frontage | $180,000 | 0.002 | Significant (use) |
| Servicing | $120,000 | 0.015 | Significant (use) |
| Zoning | $60,000 | 0.085 | Marginally significant (use with caution) |
| Age | -$5,000 | 0.420 | Not significant (exclude) |
Model R² = 0.82 (good fit, 82% of price variation explained)
Validation:
Principle: Test how variations in key adjustments impact value conclusion to assess reliability.
Methodology:
Example:
Base scenario (highway frontage adjustment = $30,000/acre):
Sensitivity test (highway frontage adjustment varied ±25%):
| Scenario | Frontage Adj | Comp 1 | Comp 2 | Comp 3 | Reconciled |
|---|---|---|---|---|---|
| Low (-25%) | $22,500/acre | $142,500 | $145,500 | $143,500 | $143,833 (+5.8%) |
| Base | $30,000/acre | $135,000 | $138,000 | $136,000 | $136,000 |
| High (+25%) | $37,500/acre | $127,500 | $130,500 | $128,500 | $128,167 (-5.8%) |
Analysis:
Alternative if highly sensitive (e.g., ±25% adjustment → ±15% value):
npx claudepluginhub reggiechan74/vp-real-estate --plugin appraisal-valuationProduces comparable rent and sales analysis with adjustment grids, confidence scoring, and replacement cost anchors for CRE valuation.
Valuates land via income approach: capitalizes market rent for telecom ground leases, agricultural land, ground leases, and easements. Includes cap rate selection.
Appraises real estate for auctions using ABNT NBR 14653 standards: market value, forced liquidation, comparative/income/cost methods, CUB, and safety margins.