AI DESTEKLI EMLAK BOLGE RAPORU

İstanbul Çiçek Market

Esentepe Mah., Kartal, İstanbul
Bu AI destekli rapor; ilan konumu, emlak kategorisi, yakin ilan yogunlugu, fiyat seviyesi ve ilan puani sinyalleri uzerinden uretilmis tahmini bir bolge profilidir.
İstanbul Çiçek Market
Ilan fiyat seviyesi
200
Puan
Emlak Puanı: 18/100
Ortalama Yas
35 Yas
Medeni Profil
Genc Profesyonel Ağırlıklı
Sosyo Ekonomik Sinif
B
Hane Halki Geliri
33.420 TL
Fiyat Konumu
Bolge ortalamasiyla uyumlu
m2 Yorumu
Bolge ortalamasina yakin
Alici Profili
Yatirim ve uzun vade odakli talep
Veri Guveni
Gelismeye acik
Yaslara Gore Dagilim
Merkez Yas
35
18-248%
25-3414%
35-4421%
45-5422%
55-6417%
65-7414%
75+4%
Sosyo Ekonomik Dagilim
Baskin Segment
B
A/B+19%
B24%
C125%
C220%
D/E12%
Bolge Referansi
0 benzer emlak ilani referansi kullanildi.
Referans kapsami: Mahalle
Ortalama hane buyuklugu: 2,7
Bu bolge raporu, yapay zeka destekli veriler isiginda olusturulmustur.
Guclu Sinyaller
  • Bolgenin tahmini hane geliri ust-orta segmentte konumlaniyor.
Dikkat Noktalari
  • Bolgedeki referans ilan sayisi sinirli; yorumlar tahmini kalabilir.
  • Ilan puani orta-alt bantta; detayli inceleme faydali olabilir.
Fiyat ve Emsal Ozeti
Ilan fiyat seviyesi bolge emsalleriyle genel olarak uyumlu gorunuyor.
Kullanim ve Yasam Yorumu
Bolge daha cok yatirim, gelisim ve uzun vade beklentisiyle one cikiyor.
  • Uzun vadeli yatirim veya beklet-gelistir senaryosu icin daha anlamli gorunuyor.
  • m2 fiyatini cevre parsellerle karsilastirmak karar kalitesini artirir.
  • Mahalle bazli konum verisi oldugu icin mikro bolge yorumu daha anlamli.
Dogrulanmis Cevre Verisi
Koordinat bilgisi olmadigi icin cevre verisi olusturulamadi.
Bu raporla sorulabilecek 3 hizli soru
Bu bolgede fiyat pazarligi icin en guclu veri noktasi hangisi?
Emsal bandina gore bu ilan hangi seviyede konumlaniyor?
Bu bolge daha cok oturum mu yoksa yatirim icin mi uygun gorunuyor?
* * - Günlük ve toplam ziyaret sayar * - 24 saat içinde aynı ziyaretçiyi tekrar saymaz (cookie) * - Basit bot filtreleme (User-Agent kontrolü) * - Güvenli dosya yazımı için flock() kullanır */ declare(strict_types=1); // Sayaç verisinin tutulacağı dosya (web kullanıcısı yazabilir olmalı) $dataFile = __DIR__ . '/counter-data.json'; // Basit bot filtresi (User-Agent) $ua = $_SERVER['HTTP_USER_AGENT'] ?? ''; $isBot = (bool) preg_match('/bot|spider|crawl|slurp|fetch|crawler|mediapartners/i', $ua); if ($isBot) { // Botları sayma ama yine de mevcut sayıları gösterebiliriz. echo renderCounter(readCounts($dataFile)); return; } // 24 saatlik tekil ziyaret için cookie $cookieName = 'site_counter_seen'; $hasSeen = isset($_COOKIE[$cookieName]); // Sayaç verisini oku/güncelle $counts = readCounts($dataFile); if (!$hasSeen) { $counts = incrementCounts($dataFile, $counts); // 24 saat boyunca tekrar sayma setcookie($cookieName, '1', [ 'expires' => time() + 86400, 'path' => '/', 'secure' => isset($_SERVER['HTTPS']), 'httponly' => true, 'samesite' => 'Lax', ]); } // HTML çıktı (isterseniz stilini değiştirin) echo renderCounter($counts); /** ----------------- Yardımcı Fonksiyonlar ----------------- */ function readCounts(string $file): array { if (!is_file($file)) { // Varsayılan yapı return [ 'total' => 0, 'daily' => [ date('Y-m-d') => 0, ], 'updatedAt' => time(), ]; } $json = @file_get_contents($file); if ($json === false) { return ['total' => 0, 'daily' => [date('Y-m-d') => 0], 'updatedAt' => time()]; } $data = json_decode($json, true); if (!is_array($data)) { $data = ['total' => 0, 'daily' => [], 'updatedAt' => time()]; } // Bugünün anahtarı yoksa ekle $today = date('Y-m-d'); if (!isset($data['daily'][$today])) { $data['daily'][$today] = 0; } return $data; } function incrementCounts(string $file, array $counts): array { $today = date('Y-m-d'); // Dosyayı aç/kilitle $dir = dirname($file); if (!is_dir($dir)) { @mkdir($dir, 0775, true); } $fp = @fopen($file, 'c+'); if (!$fp) { // Yazamıyorsak bellekte artırıp gösterelim $counts['total']++; $counts['daily'][$today] = ($counts['daily'][$today] ?? 0) + 1; $counts['updatedAt'] = time(); return $counts; } // Özel: başka bir süreç yazarken yarış olmasın diye kilit if (flock($fp, LOCK_EX)) { // Güncel içeriği tekrar oku (bu arada değişmiş olabilir) $current = stream_get_contents($fp); if ($current !== false && $current !== '') { $data = json_decode($current, true); if (is_array($data)) { $counts = $data + $counts; // eksik anahtarları koru if (!isset($counts['daily'][date('Y-m-d')])) { $counts['daily'][date('Y-m-d')] = 0; } } } // Artır $counts['total'] = (int)($counts['total'] ?? 0) + 1; $counts['daily'][$today] = (int)($counts['daily'][$today] ?? 0) + 1; $counts['updatedAt'] = time(); // Baştan yaz ftruncate($fp, 0); rewind($fp); fwrite($fp, json_encode($counts, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); return $counts; } function renderCounter(array $counts): string { $today = date('Y-m-d'); $total = number_format((int)($counts['total'] ?? 0), 0, ',', '.'); $todayCount = number_format((int)($counts['daily'][$today] ?? 0), 0, ',', '.'); // Basit, erişilebilir bir küçük footer bloğu return << Bugün: {$todayCount} Toplam: {$total}
HTML; }