2009-03-10 13 views
2

Mein Mitarbeiter hat ein Problem mit der Verwaltung von Kunden in seiner Datenbank. Das Problem ist, wenn eine Bestellung durchläuft, muss der Kunde in die Datenbank aufgenommen werden. Aber wenn der Kunde existiert, wollen wir keinen doppelten Kunden machen, wir wollen denselben Kunden behalten und nur zu seiner Verkaufsgeschichte hinzufügen. Es fällt ihm schwer, herauszufinden, wie er dies voll und ganz beweisen kann. Mitarbeiter geben manchmal den Verkauf ein und können manchmal Informationen eingeben, die nicht genau so sind wie zuvor, also wenn sein System prüft, ob der Kunde bereits existiert, er denkt, dass es ein neuer Kunde ist, obwohl der Kunde bereits existierte, aber die Information leicht eingegeben wurde anders.Verwalten von Kunden in der Datenbank

Hat jemand irgendwelche Ideen, wie man das macht?

Danke.

Antwort

2

Fügen Sie einen weiteren Schritt als Teil des Bestellvorgangs hinzu. In diesem Schritt sollte eine unscharfe Suche in den Kundendatensätzen durchgeführt werden, um festzustellen, ob eine vollständige oder teilweise Übereinstimmung für einen Kunden gefunden werden kann.

Wenn sich etwas in der Nähe befindet, zeigen Sie die Datensätze an und bitten Sie den Benutzer, entweder einen auszuwählen oder einen neuen Datensatz zu erstellen.

Offensichtlich möchten Sie das nicht den Endkunden aussetzen. Fragen Sie sie einfach, ob sie schon einmal bestellt haben und geben Sie ihre Anmeldeinformationen ein.

+0

Ein Mensch entscheiden sollte, wenn der Kunde ein Duplikat ist oder nicht, nicht die Abfrage. –

1

Da die eingegebenen Daten ähnlich sind, aber nicht genau die gleiche, möchten Sie zuerst eine Fuzzy logic Suche durchführen, wenn keine Ergebnisse gefunden werden, eine Einfügung des neuen Kunden.

1

Wenn möglich, lassen Sie die Benutzeranmeldung.

Dies erspart Ihnen die Mühe mit einem ähnlichen Kunden suchen, und die Benutzer nicht ihre Adresse mehr als einmal eingeben.

0

Die Vermeidung doppelter Dateneingabe ist ein häufiges Problem und kann auf mehrere Arten behandelt werden. Der Schlüssel, auf den ich mich konzentrieren würde, ist, dass jede erfolgreiche Lösung für die Dateneingabe-Person einfacher sein kann oder dass sie nicht befolgt wird (z. B. DP zu informieren, ob der Kunde bereits existiert, weil es mehr Arbeit erfordert). Aus dem Stand heraus kann ich mir mehrere Möglichkeiten vorstellen, wie dieses Problem angegangen wurde.

Die erste Lösung basiert auf Schlüsseln; Überprüfen Sie eindeutige Informationen, deren Wahrscheinlichkeit, anders eingegeben zu werden, gering ist. Der häufigste Fall, den ich gesehen habe, ist eine auf Kleinbuchstaben reduzierte E-Mail-Adresse. Als nächstes ist die Telefonnummer üblich (obwohl es üblicher ist, eine Telefonnummer für ein ganzes Büro oder Haus zu haben). Wenn die E-Mail-Adresse vorhanden ist, muss der Kunde vorhanden sein, damit der Benutzer sie nicht als neuen Kunden hinzufügen kann. Füllen Sie das Formular stattdessen automatisch aus, basierend auf Daten, die diesem Kunden zugeordnet sind. Benutzer mögen das, weil sie nur ein Stück Daten eintippen müssen und der Rest automatisch einfüllt.

Zweite Lösung, die die erste ergänzen kann, basiert auf Autovervollständigung (http://en.wikipedia.org/wiki/Autocomplete); Wenn der Benutzer Daten für den Kunden eingibt, bietet Ihre Anwendung die automatische Vervollständigung für vorhandene Kundendaten, die mit den eingegebenen Daten übereinstimmen. Dies verbessert die Wahrscheinlichkeit, dass der Benutzer einen vorhandenen Datensatz auswählt, anstatt alle neuen Daten einzugeben. So kann beispielsweise jemand "john sm" eingeben und "john smith, john smart, john smuck usw." sehen. Jedes Feld, das ausgefüllt wird, verengt die Auswahl für die automatische Vervollständigung für nachfolgende Felder (z. B. nur so viele John Smith in Boston, MA ...). Benutzern gefällt das, weil sie wiederum den Arbeitsaufwand reduzieren.

Die dritte Lösung, die zuvor in einer anderen Antwort berührt wurde, ist die Fuzzy-Suche. Dies ist ein bisschen schwierig zu implementieren, aber sehr mächtig. Viele der beliebten Enterprise Search Engines (z. B. Autonomy, FAST, Verity usw.) machen dies sehr gut.Aber ein cleverer Programmierer kann auch eine Inhouse-Lösung implementieren. Zu den wichtigsten Punkten gehören die Use-case-insensitive Suche (damit eine Suche nach Lafleur mit LaFleur übereinstimmt) oder die Verwendung von SoundEx (sodass eine Suche nach John mit Jon übereinstimmt). Weitere Informationen finden Sie unter http://en.wikipedia.org/wiki/Soundex.

Viel Glück,

Rick