AI-Powered Real Estate Analytics

Intelligence
Meets Real
Estate

Make data-driven decisions with unprecedented accuracy using our AI-powered property analysis platform.

2,000+ real estate professionals trust BlueNest
99% Accuracy
Secure Data
Real-time Analysis

Property Market Analysis

AI-powered insights

Market Value

$1.25M

3.2%

Price/Sqft

$856

5.8%

AI Confidence

96%

High
Property Market Trends

AI Insight

Properties in this area show 12% higher appreciation rate compared to neighboring districts.

Powered by Advanced AI

Intelligent Real Estate Analytics

BlueNest leverages cutting-edge artificial intelligence to transform how real estate professionals analyze properties and make decisions.

Advanced Market Analysis

Real-time market insights powered by AI algorithms that analyze thousands of data points to provide accurate property valuations.

Price trend prediction
Market liquidity assessment
Competitive positioning

AI Property Matching

Intelligent algorithms find truly comparable properties based on multiple criteria beyond simple metrics, ensuring accurate comparisons.

Multi-factor similarity scoring
Contextual neighborhood analysis
Quality-matched comparables

Visual Property Analysis

Computer vision technology evaluates property images to assess condition, renovation quality, and potential value-adding features.

Automatic renovation detection
Quality assessment of finishes
View and exposure analysis
99.3%

Valuation Accuracy

3.5x

Faster Analysis

25K+

Properties Analyzed

2,000+

Active Users

Client Success Stories

Trusted by Real Estate Professionals

See what industry leaders are saying about how BlueNest AI has transformed their real estate business.

"BlueNest's AI-powered analysis has completely transformed how I value properties. The accuracy is remarkable and gives me a competitive edge in my market."
JS

Jennifer Smith

Real Estate Broker, NYC

"The visual property analysis feature is incredible. Being able to automatically assess renovation quality saves me hours of work on every property listing."
MJ

Michael Johnson

Property Developer, Chicago

"My clients are always impressed by the detailed market analysis I provide. BlueNest helps me close more deals by giving clients confidence in my valuations."
SL

Sarah Lee

Luxury Real Estate Agent, Miami

Frequently Asked Questions

Got Questions? We Have Answers

Everything you need to know about BlueNest AI and how it can transform your real estate business.

BlueNest's AI property valuations achieve 99.3% accuracy compared to final sale prices. Our algorithms analyze thousands of data points including historical sales, market trends, property features, and visual assessments to provide the most accurate valuations possible.

Our computer vision AI analyzes property images to detect renovation status, quality of finishes, layout optimization, and distinctive features. The system has been trained on millions of property images, allowing it to accurately assess visual aspects that impact property value.

Absolutely. We implement bank-level security measures including AES-256 encryption, secure data centers, and strict access controls. We're fully GDPR compliant and never share your data with third parties without explicit permission.

BlueNest offers flexible pricing plans starting from $99/month for individual agents. Team and brokerage plans are available with volume discounts. Each plan includes a specific number of property analyses per month, with the option to purchase additional analyses as needed.

Start Making Smarter Real Estate Decisions Today

Join thousands of real estate professionals who trust BlueNest AI to power their property analysis.

Trusted by

Welcome Back

Sign in to access your account

Create Your Account

Join thousands of real estate professionals

Password should be at least 8 characters

Welcome to BlueNest Comparables

Your AI-powered property valuation assistant

Search a Property

Enter an address or unit number to find detailed property information

Analyze Comparables

Review similar properties with AI-enhanced market analysis

Generate Reports

Create professional CMA reports with detailed property insights

Try an Example Search:

Unit Number: 206
Address: 1331 Marine Drive
City: Vancouver

MLS #${ searchResults.focusProperty.mlsNumber }

${ formatAddress(searchResults.focusProperty.address) }

${ searchResults.focusProperty.address.neighborhood }
${ searchResults.focusProperty.building }
${ searchResults.focusProperty && searchResults.focusProperty.details ? searchResults.focusProperty.details.numBedrooms || 'N/A' : 'N/A' } Bedroom
${ searchResults.focusProperty && searchResults.focusProperty.details ? searchResults.focusProperty.details.numBathrooms || 'N/A' : 'N/A' } Bathroom
${ searchResults.focusProperty && searchResults.focusProperty.details ? searchResults.focusProperty.details.sqft || 'N/A' : 'N/A' } Square Footage
${ hasAC(searchResults.focusProperty) ? 'AC' : 'No AC' }
${ hasInSuiteLaundry(searchResults.focusProperty) ? 'In‑Suite Laundry' : (hasSharedLaundry ? (hasSharedLaundry(searchResults.focusProperty) ? 'Shared Laundry' : 'No Laundry') : 'No Laundry') }
${ hasDen(searchResults.focusProperty) ? 'Den' : 'No Den' }
${ hasBalcony(searchResults.focusProperty) ? 'Balcony' : 'No Balcony' }
${ hasStorage(searchResults.focusProperty) ? 'Storage' : 'No Storage' }
Property Image No Image Available
$${ searchResults.focusProperty && searchResults.focusProperty.listPrice ? searchResults.focusProperty.listPrice.toLocaleString() : 'N/A' }
Price per sqft: $${ searchResults.focusProperty && searchResults.focusProperty.details && searchResults.focusProperty.details.sqft ? (searchResults.focusProperty.listPrice / searchResults.focusProperty.details.sqft).toFixed(2) : 'N/A' }
Days On Market: ${ searchResults.focusProperty && searchResults.focusProperty.daysListed ? searchResults.focusProperty.daysListed : 'N/A' }

Estimated Monthly Rent

${ searchResults.focusProperty && searchResults.focusProperty.details && (searchResults.focusProperty.details.rentalEstimate?.rentalEstimate ? ('$' + searchResults.focusProperty.details.rentalEstimate.rentalEstimate.toLocaleString()) : (typeof searchResults.focusProperty.details.rentalEstimate === 'number' ? ('$' + searchResults.focusProperty.details.rentalEstimate.toLocaleString()) : 'Calculating...')) }
Range: ${'$' + searchResults.focusProperty.details.rentalEstimate.rentalEstimateRange.low.toLocaleString()} - ${'$' + searchResults.focusProperty.details.rentalEstimate.rentalEstimateRange.high.toLocaleString()}
Confidence: ${ searchResults.focusProperty.details.rentalEstimate?.rentalEstimateConfidence ? searchResults.focusProperty.details.rentalEstimate.rentalEstimateConfidence + '/10' : 'N/A' }
Annual Rental Yield: ${ searchResults.focusProperty.details.annualRentalYield && !isNaN(searchResults.focusProperty.details.annualRentalYield) ? (searchResults.focusProperty.details.annualRentalYield.toFixed(2) + '%') : 'N/A' }
Annual Rental Income: ${ searchResults.focusProperty.details.annualRentalIncome && !isNaN(searchResults.focusProperty.details.annualRentalIncome) ? ('$' + searchResults.focusProperty.details.annualRentalIncome.toLocaleString()) : 'N/A' }
Based on current market rates in this area

Description

${ searchResults.focusProperty && searchResults.focusProperty.details && searchResults.focusProperty.details.description ? searchResults.focusProperty.details.description : 'This ' + (searchResults.focusProperty && searchResults.focusProperty.details ? (searchResults.focusProperty.details.numBedrooms || '?') + '-bedroom, ' + (searchResults.focusProperty.details.numBathrooms || '?') + '-bathroom ' : '') + (searchResults.focusProperty && searchResults.focusProperty.propertyType ? searchResults.focusProperty.propertyType.toLowerCase() : 'property') + ' in ' + (searchResults.focusProperty && searchResults.focusProperty.address ? (searchResults.focusProperty.address.city || 'N/A') : 'N/A') + ' offers modern living in a desirable location.' }

Property Details

Loading fresh building overview data...

Building Overview

Active Pricing

${searchResults.buildingStatistics.active_avg_price_sqft ? formatCurrency(searchResults.buildingStatistics.active_avg_price_sqft) : 'N/A'}/sqft
Renovated Avg ${searchResults.buildingStatistics.active_renovated_avg_price ? formatCurrency(searchResults.buildingStatistics.active_renovated_avg_price) : 'N/A'}
Non-Renovated Avg ${searchResults.buildingStatistics.active_non_renovated_avg_price ? formatCurrency(searchResults.buildingStatistics.active_non_renovated_avg_price) : 'N/A'}

${searchResults.buildingStatistics.active_units || 0}

Total Active Unit
Renovated
${searchResults.buildingStatistics.active_renovated || 0}
Non-Renovated
${searchResults.buildingStatistics.active_non_renovated || 0}

${searchResults.buildingStatistics.sold_units || 0}

Total Sold Unit
Renovated
${searchResults.buildingStatistics.sold_renovated || 0}
Non-Renovated
${searchResults.buildingStatistics.sold_non_renovated || 0}

Sold Pricing

${searchResults.buildingStatistics.sold_avg_price_sqft ? formatCurrency(searchResults.buildingStatistics.sold_avg_price_sqft) : 'N/A'}/sqft
Renovated Avg ${searchResults.buildingStatistics.sold_renovated_avg_price ? formatCurrency(searchResults.buildingStatistics.sold_renovated_avg_price) : 'N/A'}
Non-Renovated Avg ${searchResults.buildingStatistics.sold_non_renovated_avg_price ? formatCurrency(searchResults.buildingStatistics.sold_non_renovated_avg_price) : 'N/A'}
Neighborhood Comparable Properties
${(searchResults.expandedActiveListings ? searchResults.expandedActiveListings.length : 0) + (searchResults.expandedPastSales ? searchResults.expandedPastSales.length : 0)} properties
${formatCurrency(property.listPrice || property.soldPrice)}
${formatAddress(property.address)}
${property.listPrice ? 'Active' : 'Sold'} ${property.details.numBedrooms}bd/${property.details.numBathrooms}ba · ${property.details.sqft}sqft

Market Position

Buyer's Market
Balanced
Seller's Market
${getMarketPositionDescription(searchResults)}
Loading fresh price history data...

Price History & Analysis

Current Pricing

List Price:
${ formatCurrency(searchResults.focusProperty.listPrice) }
Price/SqFt:
${ getPricePerSqFt(searchResults.focusProperty) }
Days Listed:
${ getDaysListed(searchResults.focusProperty) }
Below Market Market Value Premium
${ getPricePositioningText(searchResults.focusProperty) }

No price information available for this property.

Price History

  • Current Listing
    ${ formatDate(searchResults.focusProperty.listDate) || 'N/A' }
    ${ formatCurrency(searchResults.focusProperty.listPrice) }
  • ${ item.action }
    ${ item.date }
    ${ item.price }
    ${ item.priceDiff }
Current Listing
${ formatDate(searchResults.focusProperty.listDate) || 'N/A' }
${ formatCurrency(searchResults.focusProperty.listPrice) }
No previous price changes found.

No pricing history available for this property.

Market Context

  • Price vs. Building Average
    ${ getPriceVsBuildingAvg(searchResults.focusProperty, searchResults.buildingStatistics) }
  • Days on Market Analysis
    ${ getDOMAnalysis(searchResults.focusProperty, searchResults.buildingStatistics) }
  • Price Adjustment History
    ${ getPriceAdjustmentSummary(searchResults.focusProperty) }

Negotiation Insights

  • Negotiation Potential
    ${ getNegotiationPotential(searchResults.focusProperty, searchResults.buildingStatistics) }
  • Suggested Offer Range
    ${ getSuggestedOfferRange(searchResults.focusProperty, searchResults.buildingStatistics) }
  • Negotiation Strategy
    ${ getNegotiationStrategy(searchResults.focusProperty, searchResults.buildingStatistics) }
Loading fresh value estimator data...

Value Estimator

AI-Powered Estimate

${ aiEstimate.estimatedValue }
Range: ${ aiEstimate.rangeMin } - ${ aiEstimate.rangeMax }
Confidence:
${ confidenceLabel }

Active Market Estimate

${ activeEstimate.estimatedValue }
Range: ${ activeEstimate.rangeMin } - ${ activeEstimate.rangeMax }
Based on ${ searchResults.activeListings ? searchResults.activeListings.length : 0 } active comparable properties

Sold Market Estimate

${ soldEstimate.estimatedValue }
Range: ${ soldEstimate.rangeMin } - ${ soldEstimate.rangeMax }
Based on ${ searchResults.pastSales ? searchResults.pastSales.length : 0 } recently sold comparable properties

Weighted Valuation

${ weightedEstimate.estimatedValue }
Range: ${ weightedEstimate.rangeMin } - ${ weightedEstimate.rangeMax }
Price/SqFt: ${ weightedEstimate.ppsf ? '$' + weightedEstimate.ppsf : 'N/A' }
Comps: ${ weightedEstimate.compsCount || 0 }
DOM Adj: ${ weightedEstimate.domAdjustment || '0%' }
Market Trend: ${ weightedEstimate.marketTrend || '0%' }

Value Influencing Factors

Positive Factors

  • ${ factor.factor }
    ${ factor.description }
    Impact: ${ factor.impact }
  • No positive factors identified

Negative Factors

  • ${ factor.factor }
    ${ factor.description }
    Impact: ${ factor.impact }
  • No negative factors identified

No active listings found in search results. Please try expanding your search or using different criteria.

No sold properties found in search results. Please try expanding your search or using different criteria.

No image search results found. Please try the visual analysis feature below.

Image similarity analysis is available in the Visual Analysis section below. Please scroll down to view the detailed comparison of property visuals.

Dashboard

Buyer Region
${ getBuyerRegionDescription(searchResults) }
Value pricing based on active listings
Optimal Region
${ getOptimalRegionDescription(searchResults) }
Balanced pricing for transactions
Seller Region
${ getSellerRegionDescription(searchResults) }
Premium pricing based on active listings

No expanded results available yet. Expanded search broadens the geographical area to find more comparable properties.

No image search results available yet. Image search finds properties with similar visual features.

Image search matches properties based on visual similarities and features detected in photos.

Combined results show both local and expanded search matches in a single view.

Water View Filter

(${ getWaterViewStats(searchResults).waterView } water view / ${ getWaterViewStats(searchResults).total } total)
${ includeWaterViewProperties ? 'Showing only properties with water views' : 'Hiding all properties with water views' }
Enable to filter properties by water view status. Water views are detected early in the analysis process using advanced property descriptions and view classifications.
Property
Similarity Score
Confidence Score
Superior/Inferior Bedroom Bathroom Sq.Ft. View Renovation Parking Space Est. Rent Price PPSF PPSF Adjusted DoM AC Laundry Age Action
Focus property
${ formatAddress(searchResults.focusProperty.address) } Focus Property
${ searchResults.focusProperty.address && searchResults.focusProperty.address.neighborhood ? searchResults.focusProperty.address.neighborhood : 'N/A' }
100% Similarity Score
100% Confidence Score
100% Superior/Inferior
${ searchResults.focusProperty.details && searchResults.focusProperty.details.numBedrooms ? searchResults.focusProperty.details.numBedrooms : 'N/A' } Bedroom
${ searchResults.focusProperty.details && searchResults.focusProperty.details.numBathrooms ? searchResults.focusProperty.details.numBathrooms : 'N/A' } Bathroom
${ searchResults.focusProperty.details && searchResults.focusProperty.details.sqft ? searchResults.focusProperty.details.sqft + ' Sqft' : 'N/A' } Square Feet
${ getReactiveViewDetails()?.view || getViewDetails()?.view || windowViewComparison?.focus_property?.view_type || 'N/A' } ${ getReactiveViewDetails()?.viewQuality || windowViewComparison?.focus_property?.view_quality || windowViewComparison?.searchResults?.focus_property?.analysis?.view_quality || getViewDetails().viewQuality }
${ searchResults.focusProperty.details.renovationStatus || 'N/A' } N/A Renovation Status
${ searchResults.focusProperty.details && searchResults.focusProperty.details.numParkingSpaces ? searchResults.focusProperty.details.numParkingSpaces + ' Car' : 'N/A' } Parking Space
${ searchResults.focusProperty.details && searchResults.focusProperty.details.rentalEstimate ? '$' + searchResults.focusProperty.details.rentalEstimate.toLocaleString() : 'N/A' } Monthly Rent
${ formatPrice(searchResults.focusProperty.listPrice) }
${ activeSubTab === 'active' ? getPricePerSqFt(searchResults.focusProperty) // Default for active : (searchResults.focusProperty.details && searchResults.focusProperty.details.sqft && searchResults.focusProperty.soldPrice) ? ('$' + (searchResults.focusProperty.soldPrice / searchResults.focusProperty.details.sqft).toFixed(2)) : 'N/A' } ${ (searchResults.focusProperty.adjustedPrice && searchResults.focusProperty.details && searchResults.focusProperty.details.sqft) ? ('$' + (searchResults.focusProperty.adjustedPrice / searchResults.focusProperty.details.sqft).toFixed(2)) : 'N/A' } ${ activeSubTab === 'sold' && searchResults.focusProperty.daysOnMarket !== undefined ? searchResults.focusProperty.daysOnMarket : getDaysListed(searchResults.focusProperty) } ${ hasAC(searchResults.focusProperty) ? 'Yes' : 'No' } ${ hasInSuiteLaundry(searchResults.focusProperty) ? 'In‑Suite Laundry' : (hasSharedLaundry ? (hasSharedLaundry(searchResults.focusProperty) ? 'Shared Laundry' : 'No Laundry') : 'No Laundry') } ${ searchResults.focusProperty.ageOfBuilding !== undefined ? searchResults.focusProperty.ageOfBuilding : (searchResults.focusProperty.details && searchResults.focusProperty.details.yearBuilt ? (new Date().getFullYear() - parseInt(searchResults.focusProperty.details.yearBuilt)) : 'N/A') }
${ formatAddress(property.address) }
${ property.address && property.address.neighborhood ? property.address.neighborhood : 'N/A' }
${ Math.round(property?.average_similarity) || calculateSimilarityScore(property) }% Similarity Score
${ Math.round(property?._cachedProperty?.confidence_score) || formatConfidenceScore(property.confidence_score || calculateConfidenceFromABC(property.a1_score, property.a2_score, property.a3_score)) }% Confidence
A1: ${ Math.round(property?._cachedProperty?.a1_score) || formatScore(property?.a1_score) } | A2: ${ Math.round(property?._cachedProperty?.a2_score) || formatScore(property?.a2_score) } | A3: ${ Math.round(property?._cachedProperty?.a3_score) || formatScore(property?.a3_score) }
Superior Inferior Peer
${ property.details && property.details.numBedrooms ? property.details.numBedrooms : 'N/A' } Bedroom
${ property.details && property.details.numBathrooms ? property.details.numBathrooms : 'N/A' } Bathroom
${ property.details && property.details.sqft ? property.details.sqft + ' Sqft' : 'N/A' } Square Feet
${ getReactiveViewDetails(property)?.view || getViewDetails(property)?.view || windowViewComparison?.property?.view || 'N/A' } ${ getReactiveViewDetails(property)?.viewQuality || windowViewComparison?.property?.viewQuality || windowViewComparison?.property?.analysis?.viewQuality || getViewDetails(property).viewQuality }
${ property.details.renovationStatus || 'N/A' } N/A Renovation Status
${ property.details && property.details.numParkingSpaces ? property.details.numParkingSpaces + ' Car' : 'N/A' } Parking Space
${ property.details.rentalEstimate?.rentalEstimate ? ('$' + property.details.rentalEstimate.rentalEstimate.toLocaleString() + '/mo') : (typeof property.details.rentalEstimate === 'number' ? ('$' + property.details.rentalEstimate.toLocaleString() + '/mo') : 'N/A') } ($${ (property.details.rentalEstimate?.rentalEstimateRange?.low || property.details.rentalEstimateRange?.low)?.toLocaleString() }-$${ (property.details.rentalEstimate?.rentalEstimateRange?.high || property.details.rentalEstimateRange?.high)?.toLocaleString() }) Conf: ${ property.details.rentalEstimate?.rentalEstimateConfidence || property.details.rentalEstimateConfidence }/10
${ formatPrice(property.listPrice) }
${ formatPrice(property.soldPrice) } Sold: ${ formatDate(property.soldDate) }
${ activeSubTab === 'active' ? getPricePerSqFt(property) // Default for active : (property.details && property.details.sqft && property.soldPrice) ? ('$' + (property.soldPrice / property.details.sqft).toFixed(2)) : 'N/A' } ${ (property.adjustedPrice && property.details && property.details.sqft) ? ('$' + (property.adjustedPrice / property.details.sqft).toFixed(2)) : 'N/A' } ${ activeSubTab === 'sold' && property.daysOnMarket !== undefined ? property.daysOnMarket : getDaysListed(property) } ${ hasAC(property) ? 'Yes' : 'No' } ${ hasInSuiteLaundry(property) ? 'In‑Suite Laundry' : (hasSharedLaundry ? (hasSharedLaundry(property) ? 'Shared Laundry' : 'No Laundry') : 'No Laundry') } ${ property.ageOfBuilding !== undefined ? property.ageOfBuilding : (property.details && property.details.yearBuilt ? (new Date().getFullYear() - parseInt(property.details.yearBuilt)) : 'N/A') }
Saved
View Details

No active listings found in the current view.

No sold properties found in the current view.

Try adjusting your filters or expanding your search.

Selected Property: ${selectedProperties.length}

Selected Properties

Property image
${ formatAddress(property.address) }
${ property.address && property.address.neighborhood ? property.address.neighborhood : 'N/A' }
${ property.listPrice ? '$' + property.listPrice.toLocaleString() : 'N/A' }
${ property.details && property.details.numBedrooms ? property.details.numBedrooms : 'N/A' }
${ property.details && property.details.numBathrooms ? property.details.numBathrooms : 'N/A' }
${ property.details && property.details.sqft ? property.details.sqft : 'N/A' }
Add Property
Visual Analysis: ${ Math.round(comparisonProgress * 100) }% Live
${ currentComparisonStep || 'Processing...' }

Visual Property Analysis

AI-powered image comparison in progress

${ Math.round(comparisonProgress * 100) }%

Complete

${ currentComparisonStep || 'Initializing analysis' }

${ Math.round(comparisonProgress * 100) }%

Process Timeline

Initialization

Preparing data structures and collecting property images

Image Classification

Identifying room types and key features in all property images

Similarity Analysis

Computing visual similarity scores and analyzing renovation quality

Finalizing Results

Generating renovation and view comparisons, ranking top matches

Analysis Details

Current Activity
${currentComparisonStep || 'Preparing analysis...'}
Focus Property
${searchResults.focusProperty.address.unitNumber || ''} ${searchResults.focusProperty.address.streetNumber || ''} ${searchResults.focusProperty.address.streetName || ''}
${searchResults.focusProperty.details?.numBedrooms || ''} bed / ${searchResults.focusProperty.details?.numBathrooms || ''} bath / ${searchResults.focusProperty.details?.sqft || ''} sq.ft.
Properties
${ actualProcessingStats.finalProcessing || 0 }
analyzing
${ actualProcessingStats.initialCount } → ${ actualProcessingStats.finalProcessing }
${(searchResults?.activeListings?.length || 0) + (searchResults?.pastSales?.length || 0) + (searchResults?.expandedActiveListings?.length || 0) + (searchResults?.expandedPastSales?.length || 0)} total
Processing
${ Math.round(comparisonProgress * 100) }%
complete
${ actualProcessingStats.waterViewFilterType }
${Math.round(comparisonProgress * 100) < 30 ? 'Scanning...' : 'Processing...'}
1
Initial Properties Found
${ actualProcessingStats.initialCount }
2
After Water View Filter ${ actualProcessingStats.waterViewFilterType }
${ actualProcessingStats.afterWaterViewFilter }
${ actualProcessingStats.waterViewFilterEnabled ? '3' : '2' }
Properties with Images
${ actualProcessingStats.withImages }
${ actualProcessingStats.waterViewFilterEnabled ? '4' : '3' }
Actually Analyzing
${ actualProcessingStats.finalProcessing }
Efficiency: Processing ${ actualProcessingStats.finalProcessing } of ${ actualProcessingStats.initialCount } properties (${ Math.round((actualProcessingStats.finalProcessing / actualProcessingStats.initialCount) * 100) }% of total) • Smart filtering saved ${ actualProcessingStats.initialCount - actualProcessingStats.finalProcessing } properties
How Visual Analysis Works

Our AI analyzes your focus property against all comparables to identify visual similarities in:

  • Room types and layouts
  • Renovation quality and aesthetics
  • View characteristics and exposures
  • Overall property condition and features

This process typically takes 5-10 minutes depending on the number of properties.

Live updates...
${Math.round(comparisonProgress * 100)}% complete

Visual Property Analysis

Fresh Data

Focus Property - Comparison Baseline

Reference Point
${ formatAddress(searchResults.focusProperty.address) }
MLS: ${ searchResults.focusProperty.mlsNumber }
Property Details
Bedrooms: ${ searchResults.focusProperty.details?.numBedrooms || 'N/A' }
Bathrooms: ${ searchResults.focusProperty.details?.numBathrooms || 'N/A' }
Square Feet: ${ searchResults.focusProperty.details?.sqft || 'N/A' }
Floor Level: ${ getNumericFloor(searchResults.focusProperty.address?.unitNumber) || 'N/A' }
Exposure: ${ searchResults.focusProperty.details?.exposure || 'N/A' }
Analysis Characteristics
View Type: ${ getReactiveViewDetails(searchResults.focusProperty)?.view || searchResults.focusProperty.details?.view || 'Standard' }
Renovation: ${ searchResults.focusProperty.details?.renovationStatus || 'Unknown' }
Air Conditioning: ${ hasAC(searchResults.focusProperty) ? 'Yes' : 'No' }
In-Suite Laundry: ${ hasInSuiteLaundry(searchResults.focusProperty) ? 'Yes' : 'No' }
Den/Office: ${ hasDen(searchResults.focusProperty) ? 'Yes' : 'No' }
Key Features (${ getQuantitativeFeatureList_v2(searchResults.focusProperty).length })
${ feature } +${ getQuantitativeFeatureList_v2(searchResults.focusProperty).length - 6 } more
This is your focus property. All similarity scores below compare other properties against these characteristics.

Visual Similarity Overview

${ Math.round(getAverageScore(imageComparisonResults, 'average_similarity')) }%
Overall Visual Similarity
🟢 Active: ${ getSegmentedAverageScore('active') }%
🟣 Sold: ${ getSegmentedAverageScore('sold') }%
${ Math.round(getAverageScore(imageComparisonResults, 'renovationSimilarity')) }%
Renovation Similarity
${ Math.round(getAverageScore(imageComparisonResults, 'viewSimilarity')) }%
View Similarity
${ getPropertyAddress(result.listing_id) } ID: ${ result.listing_id }
A1 Score (Quantitative + Sqft + Age)
${ formatScore(getPropertyById(result.listing_id)?.a1_score || result.a1_score) }
A2 Score (View + Floor)
${ formatScore(getPropertyById(result.listing_id)?.a2_score || result.a2_score) }
A3 Score (Kitchen + Living Room)
${ formatScore(getPropertyById(result.listing_id)?.a3_score || result.a3_score) }
Confidence Score
${ formatConfidenceScore(getPropertyById(result.listing_id)?.confidence_score || result.confidence_score || calculateConfidenceFromABC(getPropertyById(result.listing_id)?.a1_score || result.a1_score, getPropertyById(result.listing_id)?.a2_score || result.a2_score, getPropertyById(result.listing_id)?.a3_score || result.a3_score)) } ${ getPropertyById(result.listing_id)?.confidence_level || result.confidence_level || 'N/A' }
Similarity Distance (Tie-breaker)
${ formatSimilarityDistance(result.similarity_distance) }
Same Building
${ result.sameBuilding ? 'Yes' : 'No' }
Score Breakdown (all sub-scores)
${ formatScoreBreakdown(result.scoreBreakdown) }
Top Visual Matches
${ getPropertyAddress(result.listing_id) }
${ getPropertyType(result.listing_id) }
${ result.average_similarity || 0 }%
${ result.confidence_level }
Top Matches by Market Segment

Compare your property against active competition vs. sold comparables

${ getPropertyAddress(result.listing_id) }
${ formatListingType(result.listing_type) } ${ getPropertyType(result.listing_id) }
${ result.average_similarity || 0 }%
Comparable Sales Analysis: These sold properties represent actual market transactions and provide the most reliable valuation data. Average similarity: ${ getSegmentedAverageScore('sold') }%
Competitive Market Analysis: These active listings show current competition and pricing strategies in the market. Average similarity: ${ getSegmentedAverageScore('active') }%

Analyzed Listings by Type

${ count }
${ formatListingType(type) }

Focus Property - Visual Reference

Comparison Baseline
Property Images
Image ${ i + 1 }
+${ searchResults.focusProperty.images.length - 4 } more
No Image
Visual Analysis Characteristics
Room Types Expected
Kitchen Living Room Bathroom Bedroom Window View
Renovation Baseline
Status: ${ searchResults.focusProperty.details?.renovationStatus || 'Unknown' }
Building Age: ${ searchResults.focusProperty.ageOfBuilding || 'N/A' } years
View Baseline
View Type: ${ getReactiveViewDetails(searchResults.focusProperty)?.view || 'Standard' }
Exposure: ${ searchResults.focusProperty.details?.exposure || 'Unknown' }
Water View: Yes
Visual analysis compares all comparable properties against these baseline images and characteristics.
Market Segment:
Detailed Filter:
Room Focus:
${ getPropertyAddress(result.listing_id) }
${ formatListingType(result.listing_type) } ${ formatPrice(result._cachedProperty?.listPrice || result._cachedProperty?.soldPrice) } (${ Math.round((result._cachedProperty?.listPrice || result._cachedProperty?.soldPrice) / result._cachedProperty?.details?.sqft) }/sqft)
${ result._cachedProperty?.details?.numBedrooms } bed ${ result._cachedProperty?.details?.numBathrooms } bath ${ formatNumber(result._cachedProperty?.details?.sqft) } sqft Unit ${ result._cachedProperty?.address?.unitNumber }
Water View
${ Math.round(result.average_similarity || 0) }%
Visual Match
${ formatConfidenceScore(result._cachedProperty?.confidence_score || result.confidence_score) }%
Confidence
Confidence pending
ID: ${ result.listing_id } | Found: ${ result._cachedProperty ? 'Yes' : 'No' }
${ Math.round(result._cachedProperty?.a1_score) }
A1
${ Math.round(result._cachedProperty?.a2_score) }
A2
${ Math.round(result._cachedProperty?.a3_score) }
A3
${ result._cachedProperty?.daysOnMarket } DOM
View
${ result._cachedViewDetails?.view || 'Standard View' } ${ result._cachedViewDetails?.viewQuality }
Score: ${ result._cachedViewDetails?.viewScore }/10
Renovation
${ result._cachedProperty?.details?.renovationStatus }
Building Age
${ result._cachedProperty?.ageOfBuilding } years
Location
Same Building
${ roomType } ${ Math.round(getBestRoomScore(result, roomType)) }%
Image ${ i + 1 }
No Image
${ roomType }
${ Math.round(getBestRoomScore(result, roomType)) }%
Overall
${ Math.round(result.average_similarity || 0) }%
Kitchen
${ Math.round(result.kitchen_similarity || result._cachedProperty?.kitchen_similarity || 0) }%
Living Room
${ Math.round(result.living_room_similarity || result._cachedProperty?.living_room_similarity || 0) }%
A3 Score Breakdown (Visual Renovation)
Kitchen Similarity
${ Math.round(result.kitchen_similarity || result._cachedProperty?.kitchen_similarity || 0) }%
Weight: 75% of A3
Living Room Similarity
${ Math.round(result.living_room_similarity || result._cachedProperty?.living_room_similarity || 0) }%
Weight: 25% of A3
A3 Formula: 0.75 × ${ Math.round(result.kitchen_similarity || result._cachedProperty?.kitchen_similarity || 0) }% + 0.25 × ${ Math.round(result.living_room_similarity || result._cachedProperty?.living_room_similarity || 0) }% = ${ Math.round((0.75 * (result.kitchen_similarity || result._cachedProperty?.kitchen_similarity || 0)) + (0.25 * (result.living_room_similarity || result._cachedProperty?.living_room_similarity || 0))) }%
View Analysis Details
View Classification
${ result._cachedViewDetails?.view || 'Standard View' }
Quality: ${ result._cachedViewDetails?.viewQuality }
View Score
${ result._cachedViewDetails?.viewScore }/10
Analysis pending
View Description
${ result._cachedViewDetails?.viewDescription }
Confidence Score Impact
Final Confidence: ${ formatConfidenceScore(result._cachedProperty?.confidence_score) }% (${ result._cachedProperty?.confidence_level || 'Calculating' })
Formula: ∛(A1 × A2 × A3) where A1=Quantitative, A2=View+Floor, A3=Kitchen+Living Room
No matching properties found

Try changing your filter criteria or market segment

Renovation Analysis

Focus property renovation assessment:

Overall Grade: ${ renovationComparison.focus_property.analysis.overall_grade || 'N/A' }/5
Kitchen: ${ renovationComparison.focus_property.analysis.Kitchen.overall_score || 'N/A' }/5
Bathroom: ${ renovationComparison.focus_property.analysis.Bathroom.overall_score || 'N/A' }/5
Living Room: ${ renovationComparison.focus_property.analysis['Living Room'].overall_score || 'N/A' }/5

Kitchen Analysis

${ getKitchenAnalysisData().Kitchen.Overall_Assessment?.Kitchen_Aesthetics || 'Modern' } Kitchen
${ getKitchenAnalysisData().Kitchen.Basics?.Shape || 'Standard' } layout, ${ getKitchenAnalysisData().Kitchen.Basics?.Openness || 'Open' } design
Countertop
${ getKitchenAnalysisData().Kitchen.Countertop?.Material || 'Standard' } ${ getKitchenAnalysisData().Kitchen.Countertop.Condition }
Cabinetry
${ getKitchenAnalysisData().Kitchen.Cabinetry?.Material || 'Standard' } ${ getKitchenAnalysisData().Kitchen.Cabinetry.Condition }
Appliances
${ getKitchenAnalysisData().Kitchen['Cooktop/Oven/Hood Fan']?.['Finish Material'] || 'Standard' } ${ getKitchenAnalysisData().Kitchen['Cooktop/Oven/Hood Fan'].Condition }
Flooring
${ getKitchenAnalysisData().Kitchen.Flooring?.Material || 'Standard' } ${ getKitchenAnalysisData().Kitchen.Flooring.Condition }
No detailed kitchen analysis available for this property.

View Analysis

Focus property view assessment:

Overall View Score: ${ windowViewComparison.focus_property.analysis.overall_view_score || 'N/A' }/5
View Type: ${ windowViewComparison.focus_property.analysis.view_type || 'N/A' }
View Quality: ${ windowViewComparison.focus_property.view_quality || windowViewComparison.focus_property.analysis?.view_quality }
View Features:
${ feature } None specified

Room Summaries

Key room comparisons:

${ roomType }

${ propertySummaries.focus_property.classification_summaries[roomType] }

Visual Analysis Debug Data

Overview

${ debugData.totalProperties } properties analyzed
${ count }
${ formatListingType(type) }

Focus Property

MLS Number

${ debugData.focusPropertyInfo.mlsNumber }

Address

${ debugData.focusPropertyInfo.address }

Size

${ debugData.focusPropertyInfo.sqft } sq.ft.

Beds/Baths

${ debugData.focusPropertyInfo.bedBath }

Images Analyzed

${ debugData.focusPropertyInfo.images }

Exposure/View

${ debugData.focusPropertyInfo.exposureAndView }

Similarity Score Analysis

Average

${ debugData.similarityScoreAnalysis.averageScore }%

Min

${ debugData.similarityScoreAnalysis.minScore }%

Max

${ debugData.similarityScoreAnalysis.maxScore }%

Std Dev

±${ debugData.similarityScoreAnalysis.standardDeviation }

Score Distribution

${ range }%
${ count } properties

Top Properties

${ prop.propertyId } ${ Math.round(prop.score) }%

Image Classification Stats

Total Images Classified: ${ debugData.imageClassificationStats.totalImages }

By Room Type

${ count }
${ roomType }

Data Structure

${ key }

Room Type Analysis

Room Type Average Score Properties Top Images
${ room.roomType } ${ room.averageScore.toFixed(1) }% ${ room.propertiesCount }

Raw Room Analysis Data

Property #${ imageComparisonResults[selectedDebugProperty].listing_id } ${ formatListingType(imageComparisonResults[selectedDebugProperty].listing_type) }
${ imageComparisonResults[selectedDebugProperty].average_similarity.toFixed(1) }% Match
${ selectedDebugRoomType } Analysis for ${ imageComparisonResults[selectedDebugProperty].listing_address }
${ selectedDebugRoomType } ${ index + 1 }
Score: ${ room.similarity_score || 'N/A' }%
${ selectedDebugRoomType } Images Used for Bulk Analysis
Debug Data Structure:
Property: ${ selectedDebugProperty }
Room Index: ${ selectedDebugRoomIndex }
Top Level Keys: ${ Object.keys(imageComparisonResults[selectedDebugProperty]).join(', ') }
Scores By Classification Keys: ${ Object.keys(imageComparisonResults[selectedDebugProperty].scores_by_classification).join(', ') }
Room Array Length: ${ imageComparisonResults[selectedDebugProperty].scores_by_classification[selectedDebugRoomType].length }
Selected Room Item Keys: ${ Object.keys(imageComparisonResults[selectedDebugProperty].scores_by_classification[selectedDebugRoomType][selectedDebugRoomIndex]).join(', ') }
Focus Images Found: ${ imageComparisonResults[selectedDebugProperty].scores_by_classification[selectedDebugRoomType][selectedDebugRoomIndex].focus_images.length } images
Focus Images NOT FOUND - checking fallback paths...
Analysis Room Data Keys: ${ Object.keys(imageComparisonResults[selectedDebugProperty].analysis.rooms[selectedDebugRoomType][selectedDebugRoomIndex]).join(', ') }
Focus Property ${ selectedDebugRoomType } Images (Analyzed Together)
Total Images: ${ imageComparisonResults[selectedDebugProperty].scores_by_classification[selectedDebugRoomType][selectedDebugRoomIndex].focus_images.length }
Analysis Type: Bulk ${ selectedDebugRoomType } Analysis
Total Images: ${ imageComparisonResults[selectedDebugProperty].analysis.rooms[selectedDebugRoomType][selectedDebugRoomIndex].focus_images.length }
Analysis Type: Bulk ${ selectedDebugRoomType } Analysis
Source: Single Image Analysis (Legacy)
No focus ${ selectedDebugRoomType.toLowerCase() } images available
Comparable Property ${ selectedDebugRoomType } Images (Analyzed Together)
Total Images: ${ imageComparisonResults[selectedDebugProperty].scores_by_classification[selectedDebugRoomType][selectedDebugRoomIndex].listing_images.length }
Analysis Type: Bulk ${ selectedDebugRoomType } Analysis
Total Images: ${ imageComparisonResults[selectedDebugProperty].analysis.rooms[selectedDebugRoomType][selectedDebugRoomIndex].listing_images.length }
Analysis Type: Bulk ${ selectedDebugRoomType } Analysis
Source: Single Image Analysis (Legacy)
No comparable ${ selectedDebugRoomType.toLowerCase() } images available
Focus Property - ${ selectedDebugRoomType }
${ formatFeatureName(sectionName) }
${ formatFeatureName(key) }: ${ formatValue(value) }
${ formatFeatureName(key) }: ${ formatValue(value) }
${ formatFeatureName(key) }: ${ formatValue(value) }
Focus Property - View
${ formatViewField(key) }: ${ value }
Comparable Property - ${ selectedDebugRoomType }
${ formatFeatureName(sectionName) }
${ formatFeatureName(key) }: ${ formatValue(value) }
${ formatFeatureName(key) }: ${ formatValue(value) }
${ formatFeatureName(key) }: ${ formatValue(value) }
Comparable - View
${ formatViewField(key) }: ${ value }
Kitchen Comparison Score Details
Similarity Score
${ Math.round(imageComparisonResults[selectedDebugProperty].analysis.rooms[selectedDebugRoomType][selectedDebugRoomIndex].similarity_score || 0) }%
Analysis Type
Kitchen Renovation
Weight in A3
85% of A3 Score

Detailed Component Analysis

Top View Matches
${ match.propertyId } Score: ${ (match.combinedScore * 10).toFixed(1) }/10
${ match.viewType } Water View

${ match.description || "No description available" }

View Quality

${ match.viewScore }

Privacy

${ match.privacyScore }

Desirability

${ match.desirabilityScore }

No view analysis data available

Raw Data

${ JSON.stringify(debugData, null, 2) }

Comparison Results

${ result.listing_id } ${ result.average_similarity || 0 }%
Listing Type: ${ formatListingType(result.listing_type) }

Room Scores:

${ roomType } ${ getBestRoomScore(result, roomType) }%

Confidence & Superior/Inferior Analysis

Focus Property
MLS: ${ debugData.confidenceProcess.focusProperty.mlsNumber }
Address: ${ formatAddress(debugData.confidenceProcess.focusProperty.address) }
MLS A1 A2 A3 Confidence Level Tiebreaker Formulas Subcomponents
${ comp.mlsNumber } ${ comp.a1_score?.toFixed(2) } ${ comp.a2_score?.toFixed(2) } ${ comp.a3_score?.toFixed(2) } ${ comp.confidence_score?.toFixed(1) } ${ comp.confidence_level } ${ comp.similarity_distance?.toFixed(2) }
${ key }: ${ formula }
${ key }: ${ val }
Superior/Inferior/Most Similar Groupings
Most Similar: MLS ${ debugData.confidenceProcess.superiorInferior.mostSimilar.mlsNumber }
Superior Group: ${ sup.mlsNumber } None
Inferior Group: ${ inf.mlsNumber } None
Ceiling Calculation: PPSF: ${ debugData.confidenceProcess.superiorInferior.ceiling.weightedPPSF?.toFixed(2) }, Price: ${ debugData.confidenceProcess.superiorInferior.ceiling.weightedPrice?.toLocaleString() }
Floor Calculation: PPSF: ${ debugData.confidenceProcess.superiorInferior.floor.weightedPPSF?.toFixed(2) }, Price: ${ debugData.confidenceProcess.superiorInferior.floor.weightedPrice?.toLocaleString() }
Formulas Reference: See Confidence Reference Sheet and calculation-mixins.js
No confidence process debug data available.
${ index + 1 }
${ step.label }
Focus Property: ${ searchUnitNumber } ${ searchAddress }
Focus Property: MLS: ${ searchMLSNumber }
${ currentTip }
${ loadingMessage || 'Searching for properties' }
${ loadingSubMessage }

My Profile

Avatar

Your Watchlist

${ savedComparisons.length } saved comparisons

No saved comparisons

Your saved comparisons will appear here.

${ getAddress(comparison) }

${ formatDate(comparison.timestamp) }
${ comparison.name || 'Unnamed' }
${ getActiveListingsCount(comparison) } active listings ${ Math.round(getAverageSimilarityScore(comparison) * 100) }% avg match
${ savedComparables.length } saved properties

No saved properties

Your saved properties will appear here.

Property
${ formatPrice(property.price) }

${ formatAddress(property.address) }

${ property.details.numBedrooms } bed • ${ property.details.numBathrooms } bath • ${ property.details.squareFootage } sqft

Full size image
Gallery image

${ galleryProperty.address ? formatAddress(galleryProperty.address) : ('Property ' + galleryProperty.mlsNumber) }

${ galleryProperty.details ? (galleryProperty.details.numBedrooms + ' Bed, ' + galleryProperty.details.numBathrooms + ' Bath') : '' } · ${ galleryProperty.details.sqft } sqft

${ galleryCurrentIndex + 1 } / ${ galleryImages.length }

Comparative Market Analysis Report

Generating your comprehensive CMA report...

${ loadingMessage }

Agent Information

Property Summary

Address: ${ searchResults.focusProperty.formatted_address }

MLS Number: ${ searchResults.focusProperty.mls_num }

Property Type: ${ searchResults.focusProperty.prop_type || 'Condo' }

Bedrooms: ${ searchResults.focusProperty.num_beds }

Bathrooms: ${ searchResults.focusProperty.num_baths }

Square Footage: ${ formatNumber(searchResults.focusProperty.sqft) } sq.ft.

No property information available. Please search for a property first.

Market Analysis

${ formatCategoryName(categoryName) }

${ category }

${ formatFactorName(key) }: ${ formatValue(value) }

Strategic Insights

Market Trends
Price Trend: ${ strategicInsights.marketTrends.priceTrend.direction } (${ strategicInsights.marketTrends.priceTrend.percentage })
Renovation Premium: ${ strategicInsights.marketTrends.renovationImpact.premium }
Market Liquidity: ${ strategicInsights.marketTrends.marketLiquidity.classification }
Investment Profile
Risk Level: ${ strategicInsights.riskProfile.investmentRisk.riskClassification }
Appreciation Potential: ${ strategicInsights.riskProfile.potentialAppreciation.score }
Market Volatility: ${ strategicInsights.riskProfile.marketVolatility.interpretation }
Performance Metrics
Market Position: ${ strategicInsights.performanceMetrics.marketPositioning.priceSegment }
Renovation Impact: ${ strategicInsights.performanceMetrics.renovationEfficiency.priceImpactPercentage }
No strategic insights available. Please ensure a property is selected.

Generate Appraisal

Appraisal Settings

Include Pages

Appraiser Information

Appraisal Report

Page ${ currentAppraisalPage + 1 } of ${ appraisalData ? appraisalData.pages.length : 0 }

Loading appraisal content...

Property Details

Selected Property Available: ${ selectedProperty ? 'Yes' : 'No' }

MLS Number: ${ selectedProperty.mlsNumber || 'N/A' }

Address Object Exists: ${ selectedProperty.address ? 'Yes' : 'No' }

Images Array Exists: ${ selectedProperty.images ? 'Yes' : 'No' }

Details Object Exists: ${ selectedProperty.details ? 'Yes' : 'No' }

Basic Information

MLS: ${ selectedProperty.mlsNumber || 'N/A' }

Status: ${ selectedProperty.listingType || 'N/A' }

Price: ${ formatCurrency(selectedProperty.listPrice || selectedProperty.soldPrice || 0) }

Address: ${ formatAddress(selectedProperty.address) }

Property Details

Bedrooms: ${ selectedProperty.details && selectedProperty.details.numBedrooms || 'N/A' }

Bathrooms: ${ selectedProperty.details && selectedProperty.details.numBathrooms || 'N/A' }

Square Feet: ${ selectedProperty.details && selectedProperty.details.sqft || 'N/A' }

In-Suite Laundry: YesNo

AC: YesNo

Balcony: YesNo

Den: YesNo

Property Image

Loading property details...

Unit Features

${ calculateFloorLevel(searchResults.focusProperty.address.unitNumber) } ${ searchResults.focusProperty.condominium.stories } N/A
Floor Level
${ hasDen(searchResults.focusProperty) ? 'Yes' : 'No' }
Flex/Den
${ hasAC(searchResults.focusProperty) ? 'Yes' : 'No' }
AC
${ hasInSuiteLaundry(searchResults.focusProperty) ? 'In‑Suite Laundry' : (hasSharedLaundry ? (hasSharedLaundry(searchResults.focusProperty) ? 'Shared Laundry' : 'No Laundry') : 'No Laundry') }
Laundry
${ hasBalcony(searchResults.focusProperty) ? 'Yes' : 'No' }
Outdoor Space
${ searchResults.focusProperty.details.numParkingSpaces } Car 1 Car (${ searchResults.focusProperty.condominium.parkingType }) 0 Car
Parking Spaces
${ hasStorage(searchResults.focusProperty) ? 'Yes' : 'No' }
Storage
$${ searchResults.focusProperty.condominium?.fees?.maintenance || searchResults.focusProperty.details?.maintenanceFee || 'N/A' }/month (Includes: ${ [ searchResults.focusProperty.condominium?.fees?.heatIncl === 'Y' ? 'Heat' : '', searchResults.focusProperty.condominium?.fees?.waterIncl === 'Y' ? 'Water' : '', searchResults.focusProperty.condominium?.fees?.cableInlc === 'Y' ? 'Cable' : '', searchResults.focusProperty.condominium?.fees?.hydroIncl === 'Y' ? 'Hydro' : '' ].filter(Boolean).join(', ') }) N/A
Strata Fees
${ searchResults.focusProperty.condominium.pets === 'Pets Not Allowed' || searchResults.focusProperty.condominium.pets.toLowerCase().includes('not allowed') ? 'No' : searchResults.focusProperty.condominium.pets === 'Unrestricted' ? 'Yes (Unrestricted)' : 'Yes (' + searchResults.focusProperty.condominium.pets + ')' } No Yes ${ searchResults.focusProperty.details.description.toLowerCase().includes('no pet') || searchResults.focusProperty.details.description.toLowerCase().includes('not pet') ? 'No' : 'Yes' } Unknown
Pet Friendly

Raw Room Analysis Data

${ JSON.stringify(imageComparisonResults, null, 2) }

Room-by-Room Analysis Data

${ JSON.stringify(scores_by_classification, null, 2) }

Building Details

Building Name
${ searchResults.focusProperty.address?.neighborhood || 'N/A' }
Year Built
${ searchResults.focusProperty.details?.yearBuilt || 'N/A' }
Property Manager
${ searchResults.focusProperty.condominium?.propertyMgr || 'N/A' }
Construction Type
${ searchResults.focusProperty.details?.construction || 'N/A' }
Total Units
${ searchResults.buildingStatistics?.total_units || 'N/A' }
Stories
${ searchResults.focusProperty.condominium?.stories || 'N/A' }
Age of Building
${ searchResults.focusProperty.ageOfBuilding || 'N/A' } years

Market Statistics

Active Listings
Total Active: ${ searchResults.buildingStatistics?.active_units || 'N/A' }
Avg. Price: ${ searchResults.buildingStatistics?.active_avg_price ? '$' + formatNumber(searchResults.buildingStatistics.active_avg_price) : 'N/A' }
Avg. Price/Sq.Ft: ${ searchResults.buildingStatistics?.active_avg_price_sqft ? '$' + formatNumber(searchResults.buildingStatistics.active_avg_price_sqft) : 'N/A' }
Avg. DOM: ${ searchResults.buildingStatistics?.active_avg_dom ? Math.round(searchResults.buildingStatistics.active_avg_dom) : 'N/A' } days
Sold Properties
Total Sold: ${ searchResults.buildingStatistics?.sold_units || 'N/A' }
Avg. Price: ${ searchResults.buildingStatistics?.sold_avg_price ? '$' + formatNumber(searchResults.buildingStatistics.sold_avg_price) : 'N/A' }
Avg. Price/Sq.Ft: ${ searchResults.buildingStatistics?.sold_avg_price_sqft ? '$' + formatNumber(searchResults.buildingStatistics.sold_avg_price_sqft) : 'N/A' }
Avg. DOM: ${ searchResults.buildingStatistics?.sold_avg_dom ? Math.round(searchResults.buildingStatistics.sold_avg_dom) : 'N/A' } days

Renovation Statistics

Renovation Ratio: ${ searchResults.buildingStatistics?.renovation_ratio?.total ? (searchResults.buildingStatistics.renovation_ratio.total * 100).toFixed(1) + '%' : 'N/A' }
Active Units Renovated: ${ searchResults.buildingStatistics?.active_renovated || '0' } of ${ searchResults.buildingStatistics?.active_units || '0' }
Sold Units Renovated: ${ searchResults.buildingStatistics?.sold_renovated || '0' } of ${ searchResults.buildingStatistics?.sold_units || '0' }
Renovated Premium: ${ searchResults.buildingStatistics?.active_renovated_avg_price && searchResults.buildingStatistics?.active_non_renovated_avg_price ? '$' + formatNumber(searchResults.buildingStatistics.active_renovated_avg_price - searchResults.buildingStatistics.active_non_renovated_avg_price) : 'N/A' }
Avg. Renovated Price: ${ searchResults.buildingStatistics?.active_renovated_avg_price ? '$' + formatNumber(searchResults.buildingStatistics.active_renovated_avg_price) : 'N/A' }
Avg. Non-Renovated Price: ${ searchResults.buildingStatistics?.active_non_renovated_avg_price ? '$' + formatNumber(searchResults.buildingStatistics.active_non_renovated_avg_price) : 'N/A' }

Building Amenities

${ amenity }
No amenities information available

Maintenance Information

Maintenance Fee: ${ searchResults.focusProperty.condominium?.fees?.maintenance ? '$' + searchResults.focusProperty.condominium.fees.maintenance : (searchResults.focusProperty.details?.maintenanceFee ? '$' + searchResults.focusProperty.details.maintenanceFee : 'N/A') }
Heat Included: ${ searchResults.focusProperty.condominium?.fees?.heatIncl === 'Y' ? 'Yes' : 'No' }
Water Included: ${ searchResults.focusProperty.condominium?.fees?.waterIncl === 'Y' ? 'Yes' : 'No' }
Pets Policy: ${ searchResults.focusProperty.condominium?.pets || searchResults.focusProperty.details?.bylawRestrictions || 'N/A' }
Parking Type: ${ searchResults.focusProperty.condominium?.parkingType || 'N/A' }
Locker: ${ searchResults.focusProperty.condominium?.locker === 'Y' ? 'Yes' : 'No' }

Legal Information

${ searchResults.focusProperty.lot?.legalDescription || 'No legal description available' }

Building information is not available for this property.

Renovation Status

${ JSON.stringify(renovationComparison, null, 2) }

Overall Renovation Status

${ searchResults?.focusProperty?.details?.renovationStatus || (renovationComparison?.focus_property?.condition_score >= 0.7 ? 'Renovated' : 'Original Condition') }
${ renovationComparison.focus_property.description }
${ parseRenovationDescription(searchResults?.focusProperty?.details?.description) || 'No detailed renovation information available.' }

Room by Room Analysis

Kitchen
${ renovationComparison.focus_property.condition || 'New' }
From MLS Data
Condition
${ renovationComparison.focus_property.condition || 'New' }
Quality
${ renovationComparison.focus_property.quality || 'Excellent' }
Aesthetics
${ renovationComparison.focus_property.aesthetics || 'Modern' }
Kitchen Image
Component Overview
Cabinetry: ${ getKitchenAnalysisData().Kitchen.Cabinetry.Condition || 'N/A' }
Countertop: ${ getKitchenAnalysisData().Kitchen.Countertop.Condition || 'N/A' }
Backsplash: ${ getKitchenAnalysisData().Kitchen.Backsplash.Condition || 'N/A' }
Flooring: ${ getKitchenAnalysisData().Kitchen.Flooring.Condition || 'N/A' }
${ detail }
No specific kitchen details found in listing description.
Bathroom
From MLS Data
${ detail }
No specific bathroom details found in listing description.
Other Areas
From MLS Data
${ detail }
No specific details found for other areas in listing description.

Raw Renovation Data

${ JSON.stringify(renovationData, null, 2) }

Additional Renovation Data

${ key }
${ subKey }
${ JSON.stringify(subValue) }
${ JSON.stringify(value) }
No additional fields detected

View Analysis

${ JSON.stringify(windowViewComparison, null, 2) }

Overall View Assessment

View Type
${ getViewDetails()?.view || windowViewComparison?.focus_property?.view_type || 'Standard View' } ${ windowViewComparison.focus_property.view_quality || windowViewComparison.focus_property.analysis?.view_quality }
(${ searchResults.focusProperty.details.viewType })
View Score
${ windowViewComparison?.focus_property?.view_score ? Math.round(windowViewComparison.focus_property.view_score * 10) : getViewDetails()?.viewScore || 5 }
View Image

View Features

Water
City
Mountain
Park/Green

Additional View Metrics

Privacy Level
${ Math.round((windowViewComparison.focus_property.privacy_score || 0.6) * 10) }
Desirability
${ Math.round((windowViewComparison.focus_property.desirability_score || 0.7) * 10) }

Exposure

${ searchResults?.focusProperty?.details?.exposure || 'Unknown' }-facing
${ searchResults?.focusProperty?.details?.exposureNote || getExposureDescription(searchResults?.focusProperty?.details?.exposure) || 'No specific exposure details available.' }

Property Details & Features

Construction & Style

Construction
${ searchResults.focusProperty.details?.construction || 'N/A' }
Style
${ searchResults.focusProperty.details?.style || 'N/A' }

Unit Features

${ searchResults.focusProperty.details?.outdoorArea || 'N/A' }
Outdoor Area
${ searchResults.focusProperty.details?.exposure || 'N/A' }
Exposure
${ windowViewComparison?.focus_property?.view_type || searchResults.focusProperty.details?.viewType || searchResults.focusProperty.details?.view || 'N/A' }
View
${ searchResults.focusProperty.details?.renovationStatus || 'N/A' }
Renovation Status
${ searchResults.focusProperty.details?.flexDen || 'N/A' }
Flex/Den
${ hasInSuiteLaundry(searchResults.focusProperty) ? 'In‑Suite Laundry' : 'No Laundry' }
Laundry
${ hasAC(searchResults.focusProperty) ? 'Yes' : 'No' }
AC
${ hasBalcony(searchResults.focusProperty) ? 'Yes' : 'No' }
Balcony/Outdoor
${ searchResults.focusProperty.details?.flexDen || 'N/A' }
Flex/Den

Included Items & Extras

Extras & Appliances
${ searchResults.focusProperty.details?.extras || 'No extras specified' }

Room Dimensions

Room Level Dimensions
${ room.description || 'N/A' } ${ room.level || 'N/A' } ${ room.width && room.length ? (room.width + ' × ' + room.length) : 'N/A' }
No room details available

Rental Investment Potential

Monthly Rental Estimate
${ searchResults.focusProperty.details && (searchResults.focusProperty.details.rentalEstimate?.rentalEstimate ? ('$' + searchResults.focusProperty.details.rentalEstimate.rentalEstimate.toLocaleString()) : (typeof searchResults.focusProperty.details.rentalEstimate === 'number' ? ('$' + searchResults.focusProperty.details.rentalEstimate.toLocaleString()) : 'N/A')) }
Sources:
${ src && src.startsWith('http') ? (src.split('/')[2] || src) : src }
Range: $${ searchResults.focusProperty.details.rentalEstimate.rentalEstimateRange.low.toLocaleString() } - $${ searchResults.focusProperty.details.rentalEstimate.rentalEstimateRange.high.toLocaleString() }
Confidence: ${ searchResults.focusProperty.details.rentalEstimate.rentalEstimateConfidence }/10
Based on current market rates in this area
Annual Rental Yield
${ searchResults.focusProperty.details && searchResults.focusProperty.details.annualRentalYield && !isNaN(searchResults.focusProperty.details.annualRentalYield) ? (searchResults.focusProperty.details.annualRentalYield.toFixed(2) + '%') : 'N/A' }
Annual rent as percentage of property price

Investment Metrics

Annual Rental Income Estimated total rent you could collect in a year, before expenses.
${ searchResults.focusProperty.details && searchResults.focusProperty.details.annualRentalIncome && !isNaN(searchResults.focusProperty.details.annualRentalIncome) ? ('$' + searchResults.focusProperty.details.annualRentalIncome.toLocaleString()) : 'N/A' }
Annual Rental Yield The percentage of the property price you could earn in rent each year, before expenses. Calculated as (Annual Rent ÷ Property Price) × 100.
${ searchResults.focusProperty.details && searchResults.focusProperty.details.annualRentalYield && !isNaN(searchResults.focusProperty.details.annualRentalYield) ? (searchResults.focusProperty.details.annualRentalYield.toFixed(2) + '%') : 'N/A' }
Annual rent as percentage of property price
${ searchResults.focusProperty.details && searchResults.focusProperty.details.priceToRentRatio && !isNaN(searchResults.focusProperty.details.priceToRentRatio) ? searchResults.focusProperty.details.priceToRentRatio.toFixed(1) + 'x' : 'N/A' }

Property information is not available.

Property Comparison

${ selectedProperties.length } Properties Selected

Price Range

${ Math.min(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0)).toLocaleString() } - ${ Math.max(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0)).toLocaleString() }

Avg Similarity

${ Math.round(selectedProperties.reduce((sum, p) => sum + (p.confidence_score || calculateConfidenceFromABC(p.a1_score, p.a2_score, p.a3_score) || 0), 0) / selectedProperties.length) }%

Best Match

${ selectedProperties.reduce((best, p) => ((p.confidence_score || calculateConfidenceFromABC(p.a1_score, p.a2_score, p.a3_score)) || 0) > ((best.confidence_score || calculateConfidenceFromABC(best.a1_score, best.a2_score, best.a3_score)) || 0) ? p : best, selectedProperties[0])?.mlsNumber || 'N/A' }

Focus on:

A1, A2, A3 Calculation Debugger

Current Formulas (V2)
A1 = 0.80×Quant + 0.08×SqFt + 0.12×Age
Quantitative Features
V2: No Construction
A2 = 0.80×View + 0.20×Floor
View & Location
V2: No Orientation
A3 = 0.75×Kitchen + 0.25×Living
Visual Analysis
V2: AI Room Similarity
Conf = ∛(A1 × A2 × A3)
Final Score
V2: Cube Root
Focus Property: ${ debugData.confidenceProcess.focusProperty.mlsNumber }
A1 Inputs
Features: ${ debugData.confidenceProcess.focusProperty.quantitativeFeatures ? debugData.confidenceProcess.focusProperty.quantitativeFeatures.length : 0 }
SqFt: ${ debugData.confidenceProcess.focusProperty.details.sqft || 'N/A' }
Age: ${ debugData.confidenceProcess.focusProperty.details.age || 'N/A' }
A2 Inputs
View: ${ debugData.confidenceProcess.focusProperty.details.view || 'Standard' }
Floor: ${ debugData.confidenceProcess.focusProperty.details.exposure || 'N/A' }
A3 Inputs
Kitchen: AI Analysis
Living: AI Analysis
Ceiling/Floor Price Analysis (Updated Method)
Simple Ceiling/Floor Calculation Method

New approach: Rank by confidence score → Take properties within 10 points → Highest PPSF = Ceiling, Lowest PPSF = Floor
NOT using complex superior/inferior weighting from original reference sheet

Active Ceiling
${ formatCurrency(getActiveCeilingPriceTabAware(searchResults)) }
${ formatCurrency(getActiveCeilingPPSFTabAware(searchResults)) }/sqft
Active Floor
${ formatCurrency(getActiveFloorPriceTabAware(searchResults)) }
${ formatCurrency(getActiveFloorPPSFTabAware(searchResults)) }/sqft
Sold Ceiling
${ formatCurrency(getSoldCeilingPriceTabAware(searchResults)) }
${ formatCurrency(getSoldCeilingPPSFTabAware(searchResults)) }/sqft
Sold Floor
${ formatCurrency(getSoldFloorPriceTabAware(searchResults)) }
${ formatCurrency(getSoldFloorPPSFTabAware(searchResults)) }/sqft
Superior/Inferior Classification Analysis
Superior Properties
${ superiorPropertyMlsNumbers.length }
Properties with higher similarity scores than focus property
MLS: ${ mlsNumber }
+${ superiorPropertyMlsNumbers.length - 3 } more
Peer Properties
${ selectedProperties.length - superiorPropertyMlsNumbers.length - inferiorPropertyMlsNumbers.length }
Properties with similar scores to focus property
Inferior Properties
${ inferiorPropertyMlsNumbers.length }
Properties with lower similarity scores than focus property
MLS: ${ mlsNumber }
+${ inferiorPropertyMlsNumbers.length - 3 } more
A1, A2, A3 Score Breakdown
MLS A1 (Quant) A2 (View) A3 (Visual) Confidence Details
${ comp.mlsNumber } ${ formatScore(comp.a1_score) } ${ formatScore(comp.a2_score) } ${ formatScore(comp.a3_score) }
⚠️ Backend Bug
${ formatConfidenceScore(comp.confidence_score || calculateConfidenceFromABC(comp.a1_score, comp.a2_score, comp.a3_score)) }
(${ comp.confidence_source })
Loading...
MLS ${ comp.mlsNumber } - Calculation Details
A1: ${ formatScore(comp.a1_score) }
Quant: ${ comp.subcomponents.A1_Quantitative || 'N/A' }
SqFt: ${ comp.subcomponents.A1_SqFt || 'N/A' }
Age: ${ comp.subcomponents.A1_Age || 'N/A' }
Details loading...
A2: ${ formatScore(comp.a2_score) }
View: ${ comp.subcomponents.A2_View || 'N/A' }
Floor: ${ comp.subcomponents.A2_Floor || 'N/A' }
Details loading...
A3: ${ formatScore(comp.a3_score) }
Kitchen: ${ comp.subcomponents.A3_Kitchen || 'N/A' }
Living: ${ comp.subcomponents.A3_LivingRoom || 'N/A' }
Source: ${ comp.subcomponents.A3_Source || 'Unknown' }
Details loading...
Final Confidence: ${ formatConfidenceScore(comp.confidence_score) }
Formula: ∛(${ formatScore(comp.a1_score) } × ${ formatScore(comp.a2_score) } × ${ formatScore(comp.a3_score) }) = ${ formatScore(Math.cbrt(comp.a1_score * comp.a2_score * comp.a3_score)) }
Key Inputs
Features: ${ comp.quantitativeFeatures ? comp.quantitativeFeatures.length : 0 } vs ${ debugData.confidenceProcess.focusProperty.quantitativeFeatures ? debugData.confidenceProcess.focusProperty.quantitativeFeatures.length : 0 }
View: ${ comp.rawInputs?.compView || 'N/A' }
SqFt: ${ comp.rawInputs?.compSqft || 'N/A' }
Floor: ${ comp.rawInputs?.compFloor || 'N/A' }
A3 V2 Formula Analysis
${ comp.enhancedTransparency.a3Analysis.formula }
Expected: ${ comp.enhancedTransparency.a3Analysis.expectedA3 }%
Backend: ${ comp.enhancedTransparency.a3Analysis.backendA3 }%
⚠️ ${ comp.enhancedTransparency.a3Analysis.issue }
Quantitative Features Analysis
Match Rate: ${ comp.enhancedTransparency.featureMatching.matchPercentage }%
✓ Matched: ${ comp.enhancedTransparency.featureMatching.matchedFeatures.join(', ') }
✗ Missing: ${ comp.enhancedTransparency.featureMatching.missingFromComp.join(', ') }
+ Extra: ${ comp.enhancedTransparency.featureMatching.extraInComp.join(', ') }

No debug data available. Click "Refresh Analysis" to generate.

Price Analysis

${ selectedProperties.length } properties

Highest

${ Math.max(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0)).toLocaleString() }

Lowest

${ Math.min(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0)).toLocaleString() }

Price Spread

${ (Math.max(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0)) - Math.min(...selectedProperties.map(p => p.soldPrice || p.listPrice || 0))).toLocaleString() }

Avg Confidence

${ Math.round(selectedProperties.reduce((sum, p) => sum + (p.confidence_score || calculateConfidenceFromABC(p.a1_score, p.a2_score, p.a3_score) || 0), 0) / selectedProperties.length) }

Feature Highlights

Properties with A/C ${ selectedProperties.filter(p => hasAC(p)).length }/${ selectedProperties.length }
In-Suite Laundry ${ selectedProperties.filter(p => hasInSuiteLaundry(p)).length }/${ selectedProperties.length }
Storage Included ${ selectedProperties.filter(p => hasStorage(p)).length }/${ selectedProperties.length }
Balcony/Outdoor ${ selectedProperties.filter(p => hasBalcony(p)).length }/${ selectedProperties.length }

Property Ranking by Similarity

${ index + 1 }

${ formatAddress(property.address) } Focus Property

MLS: ${ property.mlsNumber }

${ Math.round(property.confidence_score || calculateConfidenceFromABC(property.a1_score, property.a2_score, property.a3_score) || 0) }%
Feature
FOCUS Property ${ index + 1 }
MLS: ${ property.mlsNumber }
Property Image
Property image
Address
${ formatAddress(property.address) }
Price
${ formatPrice(property.soldPrice || property.listPrice) }
Highest Lowest
Price/sqft
${ getPricePerSqFt(property) }
Similarity Score
${ Math.round(property.confidence_score || calculateConfidenceFromABC(property.a1_score, property.a2_score, property.a3_score) || 0) }%
Rank #${ orderedComparisonProperties.slice().sort((a, b) => ((b.confidence_score || calculateConfidenceFromABC(b.a1_score, b.a2_score, b.a3_score)) || 0) - ((a.confidence_score || calculateConfidenceFromABC(a.a1_score, a.a2_score, a.a3_score)) || 0)).findIndex(p => p.mlsNumber === property.mlsNumber) + 1 }
Classification
Superior Inferior Peer
Physical Characteristics
Bedrooms
${ property.details && property.details.numBedrooms ? property.details.numBedrooms : 'N/A' }
Bathrooms
${ property.details && property.details.numBathrooms ? property.details.numBathrooms : 'N/A' }
Square Footage
${ property.details && property.details.sqft ? property.details.sqft.toLocaleString() + ' sqft' : 'N/A' }
Floor Level
${ property.address && property.address.unitNumber ? calculateFloorLevel(property.address.unitNumber) : 'N/A' }
Exposure
${ property.details.exposure }
N/A
View
${ getViewDetails(property).view || 'N/A' }
${ getViewDetails(property).viewQuality }
N/A
Features & Amenities
Parking
${ property.details && property.details.numParkingSpaces ? property.details.numParkingSpaces + ' spots' : (property.condominium && property.condominium.parkingType && property.condominium.parkingType !== 'None' ? '1 spot' : 'N/A') }
Storage
Air Conditioning
In-Suite Laundry
Balcony/Outdoor
Construction
${ property.details && property.details.construction ? property.details.construction : 'N/A' }
Renovation Status
${ property.details.renovationStatus } N/A
Market Information
Days on Market
${ property.daysOnMarket || property.daysListed || 'N/A' }
Status
${ property.soldDate || property.soldPrice ? 'Sold' : 'Active' }
Sold Date
${ property.soldDate ? formatDate(property.soldDate) : 'N/A' }
Sold Price
${ formatPrice(property.soldPrice) }
Sold/List Ratio
${ ((property.soldPrice / property.listPrice) * 100).toFixed(1) }% N/A
Rental Estimate
${ property.details.rentalEstimate?.rentalEstimate ? ('$' + property.details.rentalEstimate.rentalEstimate.toLocaleString() + '/mo') : (typeof property.details.rentalEstimate === 'number' ? ('$' + property.details.rentalEstimate.toLocaleString() + '/mo') : 'N/A') }
Yield: ${ property.details.annualRentalYield.toFixed(2) }%
N/A
Property image
FOCUS Property ${ index + 1 }
${ Math.round(property.confidence_score || calculateConfidenceFromABC(property.a1_score, property.a2_score, property.a3_score) || 0) }%

${ formatAddress(property.address) }

MLS: ${ property.mlsNumber }

Price

${ formatPrice(property.soldPrice || property.listPrice) }

Price/sqft

${ getPricePerSqFt(property) }

Similarity

${ Math.round(property.confidence_score || calculateConfidenceFromABC(property.a1_score, property.a2_score, property.a3_score) || 0) }%

Classification

Superior Inferior Peer
${ property.details && property.details.numBedrooms ? property.details.numBedrooms : 'N/A' } bed
${ property.details && property.details.numBathrooms ? property.details.numBathrooms : 'N/A' } bath
${ property.details && property.details.sqft ? property.details.sqft.toLocaleString() + ' sqft' : 'N/A' }
Floor ${ property.address && property.address.unitNumber ? calculateFloorLevel(property.address.unitNumber) : 'N/A' }
A/C
Laundry
Storage
Balcony
${ property.soldDate || property.soldPrice ? 'Sold' : 'Active' } ${ property.daysOnMarket || property.daysListed || 'N/A' } days on market

Save Comparison

Search History

Manage your search history, tags, and preferences

${filteredSearchHistory.length} searches found

Loading search history...

No search history found

Your search history will appear here as you use the platform.

${search.search_type.replace('_', ' ').toUpperCase()} CACHED ${(search.execution_time_ms / 1000).toFixed(1)}s

${search.search_term || 'Untitled Search'}

MLS: ${search.mls_number}

${search.results_count || 0} results found

${tagName}

${formatRelativeTime(search.created_at)}


Showing ${((searchHistoryPagination.page - 1) * searchHistoryPagination.limit) + 1} to ${Math.min(searchHistoryPagination.page * searchHistoryPagination.limit, searchHistoryPagination.total)} of ${searchHistoryPagination.total} searches
Page ${searchHistoryPagination.page} of ${searchHistoryPagination.pages}

Manage Tags

${tagName}
No tags created yet

Search History Settings

When enabled, all searches will be automatically saved to your history

How long to keep search history before automatic cleanup

Get intelligent search suggestions based on your history

Receive notifications about market changes for your searched properties