"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Badge } from "@/components/ui/badge"; import { Progress } from "@/components/ui/progress"; import { Slider } from "@/components/ui/slider"; import { ChevronRight, Home, BarChart2, LineChart, Droplets, Wind, Sun, MapPin, Bus, School, ShoppingBag, Building, ArrowRight, Info, FileText, RefreshCw, Check, ChevronDown, } from "lucide-react"; import Link from "next/link"; import PageHeader from "@/components/page-header"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; export default function PricePredictionPage() { const [propertySize, setPropertySize] = useState(150); const [propertyAge, setPropertyAge] = useState(5); const [adjustedPrice, setAdjustedPrice] = useState(15000000); const [activeTab, setActiveTab] = useState("property-details"); const [selectedModel, setSelectedModel] = useState("Standard ML Model v2.4"); const models = [ "Standard ML Model v2.4", "Enhanced Neural Network v1.8", "Geospatial Regression v3.1", "Time Series Forecast v2.0", "Custom Model (User #1242)", ]; const handleSizeChange = (value: number[]) => { setPropertySize(value[0]); // Simple calculation for demo purposes const newPrice = 15000000 + (value[0] - 150) * 50000; setAdjustedPrice(newPrice); }; const handleAgeChange = (value: number[]) => { setPropertyAge(value[0]); // Simple calculation for demo purposes const newPrice = 15000000 - (value[0] - 5) * 200000; setAdjustedPrice(newPrice); }; const handleGenerateReport = () => { // In a real implementation, this would generate and download a PDF alert("Generating PDF report with the selected model: " + selectedModel); }; return (
{adjustedPrice > 15000000 ? "+" : ""} {adjustedPrice - 15000000 === 0 ? "±0" : (adjustedPrice - 15000000).toLocaleString()} THB from original prediction
Our AI model begins by analyzing the core attributes of your property. These fundamental characteristics form the baseline for our prediction.
Condominium properties in this area have specific market dynamics
150 sqm with 3 bedrooms and 2 bathrooms
Built 5 years ago, affecting depreciation calculations
Located on floor 15, impacting value and desirability
Our model analyzes various features of your property and determines how each one contributes to the final price prediction. Below is a breakdown of the most important factors.
Our model analyzes comparable properties in the same area to provide context for your property's valuation. This helps ensure the prediction is aligned with current market conditions.
| Property | Size | Bedrooms | Age | Floor | Price | Price/sqm |
|---|---|---|---|---|---|---|
| Your Property | 150 sqm | 3 | 5 years | 15 | ฿15,000,000 | ฿100,000 |
| Comp #1 | 145 sqm | 3 | 4 years | 12 | ฿14,500,000 | ฿100,000 |
| Comp #2 | 160 sqm | 3 | 6 years | 18 | ฿15,800,000 | ฿98,750 |
| Comp #3 | 140 sqm | 2 | 3 years | 10 | ฿13,800,000 | ฿98,571 |
| Comp #4 | 155 sqm | 3 | 7 years | 14 | ฿14,700,000 | ฿94,839 |
Environmental factors can significantly impact property values. Our model considers various environmental conditions to provide a more accurate prediction.
Historical data shows moderate flood risk in this area
Air quality is below average, affecting property value
The area has relatively low noise pollution
300m
1.2km
500m
2.5km
Confidence Level: 92%
Based on our model's confidence level, the price could range between:
฿14,250,000
฿15,000,000
฿15,750,000
The final prediction is based on a combination of all factors analyzed in previous steps: