Initial commit
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
import { MatchStrength, RiskLevel } from '../domain/enums'
|
||||
import type { Match } from '../domain/match'
|
||||
|
||||
export const mockMatches: Match[] = [
|
||||
{
|
||||
id: 'match-001',
|
||||
propertyId: 'prop-001',
|
||||
needId: 'need-001',
|
||||
matchScore: 88,
|
||||
matchStrength: MatchStrength.STRONG,
|
||||
scoreBreakdown: {
|
||||
hardMatchScore: 92,
|
||||
softFactorScore: 85,
|
||||
confidenceModifier: 0.97,
|
||||
dataQualityModifier: 0.92,
|
||||
totalScore: 88,
|
||||
},
|
||||
positiveFactors: [
|
||||
{ criterion: 'Fläche', weight: 0.20, score: 95, contribution: 19, explanation: '850m² liegt im Zielkorridor (600–1000m²)' },
|
||||
{ criterion: 'ÖV-Anbindung', weight: 0.20, score: 90, contribution: 18, explanation: '4 Min. zur S-Bahn, Kriterium erfüllt' },
|
||||
{ criterion: 'Standort', weight: 0.15, score: 88, contribution: 13.2, explanation: 'Zürich-West trifft bevorzugte Lage' },
|
||||
],
|
||||
negativeFactors: [
|
||||
{ criterion: 'Mietpreis', weight: 0.15, score: 76, contribution: 11.4, explanation: 'CHF 38/m² liegt über Wunschbudget von CHF 35/m²' },
|
||||
],
|
||||
tradeoffs: [
|
||||
{ criterion: 'Budget', concern: 'Mietpreis 8% über Budget-Maximum', severity: 'MEDIUM', mitigation: 'Verhandlungspotenzial vorhanden – Objekt leer seit 3 Monaten' },
|
||||
],
|
||||
explainabilitySummary: 'Starker Match aufgrund idealer Lage und Fläche. Einziger Vorbehalt ist der Mietpreis, der knapp über dem Budget liegt, aber verhandelbar erscheint.',
|
||||
confidenceLevel: 0.92,
|
||||
riskLevel: RiskLevel.LOW,
|
||||
uncertaintyIndicators: [],
|
||||
alternativeStrategies: [
|
||||
{ title: 'Kleinere Einheit im gleichen Gebäude', description: '650m² verfügbar ab Q3 2025, CHF 35/m²', expectedScore: 82 },
|
||||
],
|
||||
organizationId: 'org-wincasa',
|
||||
createdAt: '2025-05-10T08:00:00Z',
|
||||
updatedAt: '2025-05-10T08:00:00Z',
|
||||
},
|
||||
{
|
||||
id: 'match-002',
|
||||
propertyId: 'prop-004',
|
||||
needId: 'need-001',
|
||||
matchScore: 64,
|
||||
matchStrength: MatchStrength.MODERATE,
|
||||
scoreBreakdown: {
|
||||
hardMatchScore: 78,
|
||||
softFactorScore: 62,
|
||||
confidenceModifier: 0.68,
|
||||
dataQualityModifier: 0.55,
|
||||
totalScore: 64,
|
||||
},
|
||||
positiveFactors: [
|
||||
{ criterion: 'Fläche', weight: 0.20, score: 88, contribution: 17.6, explanation: '1150m² liegt im erweiterten Korridor' },
|
||||
{ criterion: 'Standort', weight: 0.20, score: 80, contribution: 16, explanation: 'Zürich Kreis 4 nahe bevorzugten Lagen' },
|
||||
],
|
||||
negativeFactors: [
|
||||
{ criterion: 'Datenqualität', weight: 0.10, score: 40, contribution: 4, explanation: 'Mehrere kritische Felder fehlen – Verlässlichkeit eingeschränkt' },
|
||||
{ criterion: 'Mietpreis', weight: 0.15, score: 55, contribution: 8.25, explanation: 'CHF 52/m² deutlich über Budget' },
|
||||
],
|
||||
tradeoffs: [
|
||||
{ criterion: 'Datenqualität', concern: 'Externe Quelle – Mietpreis und Verfügbarkeit nicht bestätigt', severity: 'HIGH', mitigation: 'Direkte Anfrage beim Anbieter empfohlen' },
|
||||
{ criterion: 'Budget', concern: 'Mietpreis 30% über Budget-Maximum', severity: 'HIGH' },
|
||||
],
|
||||
explainabilitySummary: 'Moderater Match – Fläche und Lage passen, aber Mietpreis und Datenqualität sind kritische Vorbehalte. Nur mit Preisverhandlung und Verifikation sinnvoll.',
|
||||
confidenceLevel: 0.58,
|
||||
riskLevel: RiskLevel.MEDIUM,
|
||||
uncertaintyIndicators: ['Daten aus Drittquelle unvollständig', 'Mietpreis nicht verifiziert'],
|
||||
organizationId: 'org-wincasa',
|
||||
createdAt: '2025-05-10T08:05:00Z',
|
||||
updatedAt: '2025-05-10T08:05:00Z',
|
||||
},
|
||||
{
|
||||
id: 'match-003',
|
||||
propertyId: 'prop-002',
|
||||
needId: 'need-002',
|
||||
matchScore: 91,
|
||||
matchStrength: MatchStrength.STRONG,
|
||||
scoreBreakdown: {
|
||||
hardMatchScore: 94,
|
||||
softFactorScore: 89,
|
||||
confidenceModifier: 0.99,
|
||||
dataQualityModifier: 0.96,
|
||||
totalScore: 91,
|
||||
},
|
||||
positiveFactors: [
|
||||
{ criterion: 'Fläche', weight: 0.25, score: 96, contribution: 24, explanation: '2400m² im Zielkorridor (1500–4000m²)' },
|
||||
{ criterion: 'Autobahnanschluss', weight: 0.20, score: 92, contribution: 18.4, explanation: 'A2-Anschluss ca. 4 Min., Kriterium erfüllt' },
|
||||
{ criterion: 'Budget', weight: 0.20, score: 88, contribution: 17.6, explanation: 'CHF 14/m² liegt unter Maximum von CHF 18/m²' },
|
||||
{ criterion: 'Datenqualität', weight: 0.10, score: 96, contribution: 9.6, explanation: 'Verifiziertes Portfolioobjekt, alle Felder vollständig' },
|
||||
],
|
||||
negativeFactors: [
|
||||
{ criterion: 'Erweiterungspotenzial', weight: 0.05, score: 70, contribution: 3.5, explanation: '800m² Erweiterung möglich, aber begrenzt' },
|
||||
],
|
||||
tradeoffs: [],
|
||||
explainabilitySummary: 'Sehr starker Match. Fläche, Anbindung und Budget passen exzellent. Hohe Datenqualität aus internem Portfolio bestätigt Verlässlichkeit.',
|
||||
confidenceLevel: 0.96,
|
||||
riskLevel: RiskLevel.LOW,
|
||||
uncertaintyIndicators: [],
|
||||
organizationId: 'org-wincasa',
|
||||
createdAt: '2025-05-10T08:10:00Z',
|
||||
updatedAt: '2025-05-10T08:10:00Z',
|
||||
},
|
||||
{
|
||||
id: 'match-004',
|
||||
propertyId: 'prop-006',
|
||||
needId: 'need-002',
|
||||
matchScore: 47,
|
||||
matchStrength: MatchStrength.WEAK,
|
||||
scoreBreakdown: {
|
||||
hardMatchScore: 70,
|
||||
softFactorScore: 40,
|
||||
confidenceModifier: 0.48,
|
||||
dataQualityModifier: 0.30,
|
||||
totalScore: 47,
|
||||
},
|
||||
positiveFactors: [
|
||||
{ criterion: 'Fläche', weight: 0.25, score: 85, contribution: 21.25, explanation: '3200m² im erweiterten Zielkorridor' },
|
||||
{ criterion: 'Standort', weight: 0.20, score: 72, contribution: 14.4, explanation: 'Reinach BL ist eine bevorzugte Region' },
|
||||
],
|
||||
negativeFactors: [
|
||||
{ criterion: 'Confidence', weight: 0.15, score: 20, contribution: 3, explanation: 'Nur 48% Signalwahrscheinlichkeit – kein bestätigtes Objekt' },
|
||||
{ criterion: 'Datenqualität', weight: 0.10, score: 15, contribution: 1.5, explanation: 'Mehrere kritische Felder fehlen, Schätzwerte' },
|
||||
{ criterion: 'Timing', weight: 0.15, score: 50, contribution: 7.5, explanation: 'Verfügbarkeit erst Q2 2026, spät für Anforderung' },
|
||||
],
|
||||
tradeoffs: [
|
||||
{ criterion: 'Verfügbarkeit', concern: 'Probabilistisches Future-Signal – keine Garantie auf Verfügbarkeit', severity: 'HIGH', mitigation: 'Für Monitoring-Watchlist geeignet' },
|
||||
{ criterion: 'Daten', concern: 'Mietpreis geschätzt, Andienung nicht bestätigt', severity: 'HIGH' },
|
||||
],
|
||||
explainabilitySummary: 'Schwacher Match aufgrund hoher Unsicherheit. Das Signal ist interessant als Frühindikator, aber nicht als aktive Option geeignet. Empfehlung: Watchlist.',
|
||||
confidenceLevel: 0.38,
|
||||
riskLevel: RiskLevel.HIGH,
|
||||
uncertaintyIndicators: ['Probabilistisches Signal ohne Bestätigung', 'Mietpreis geschätzt', 'Verfügbarkeitsdatum unsicher'],
|
||||
alternativeStrategies: [
|
||||
{ title: 'Signal beobachten', description: 'Als Future-Availability-Signal auf Watchlist setzen und in 3 Monaten neu evaluieren' },
|
||||
],
|
||||
organizationId: 'org-wincasa',
|
||||
createdAt: '2025-05-10T08:15:00Z',
|
||||
updatedAt: '2025-05-10T08:15:00Z',
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user