Suche Bilder Maps Play YouTube News Gmail Drive Mehr »
Anmelden
Nutzer von Screenreadern: Klicke auf diesen Link, um die Bedienungshilfen zu aktivieren. Dieser Modus bietet die gleichen Grundfunktionen, funktioniert aber besser mit deinem Reader.

Patentsuche

  1. Erweiterte Patentsuche
VeröffentlichungsnummerDE10305127 A1
PublikationstypAnmeldung
AnmeldenummerDE2003105127
Veröffentlichungsdatum18. Sept. 2003
Eingetragen7. Febr. 2003
Prioritätsdatum8. Febr. 2002
Auch veröffentlicht unterCA2418526A1, CN1462936A, EP1335314A1, US7231358, US7499874, US20030149622, US20060190328
Veröffentlichungsnummer03105127, 2003105127, DE 10305127 A1, DE 10305127A1, DE-A1-10305127, DE03105127, DE10305127 A1, DE10305127A1, DE2003105127
ErfinderNarinder Pal Singh, Darren J Davis
AntragstellerOverture Services Inc
Zitat exportierenBiBTeX, EndNote, RefMan
Externe Links: DPMA, Espacenet
Automatische Flugverwaltung auf einem Online-Marktplatz
DE 10305127 A1
Zusammenfassung
Ein Datenbanksuchsystem umfasst eine Datenbank von Suchbegriffen, wobei jeder Suchbegriff mit einem Gebotsbetrag verbunden ist, der von einer werbenden Person aus einer Vielzahl von werbenden Personen zu bezahlen ist, und eine Suchmaschine, die auf Suchanfragen von suchenden Personen für das Durchsuchen der Datenbank anspricht. Ein Flugverwaltungsagent antwortet auf die von der werbenden Person spezifizierten Parameter, um die Gebotsbeträge der Suchauflistungen einzustellen, um die Ausgaben über einen Zeitintervall zu verwalten.
Ansprüche(44)
1. Verfahren für das Verwalten eines Werbefluges in einem Online-Markt mit einer oder mehreren werbenden Personen und einem oder mehreren suchenden Personen, wobei das Verfahren folgendes umfasst:
Empfangen von Parametern des Werbefluges von einer werbenden Person;
Von Zeit zu Zeit, Überprüfen der Gebotsbeträge für die von der werbenden Person spezifizierten Suchbegriffe im Bezahlungs-für-Platzierung-Markt; und
Einstellen der Gebotsbeträge der von der werbenden Person spezifizierten Suchbegriffe, um die spezifischen Ziele der werbenden Person zu erreichen.
2. Verfahren nach Anspruch 1, wobei das Empfangen von Parametern des Werbeflugs folgendes umfasst:
Empfangen eines oder mehrerer Suchbegriffe der werbenden Person;
Empfangen eines Flugbudgets; und
Empfangen eines Flugintervalls.
3. Verfahren nach Anspruch 2, weiter umfassend:
Empfangen einer oder mehrerer der folgenden Größen:
Maximale mittlere Kosten pro Klick über dem empfangenen einen oder den empfangenen mehreren Suchbegriff(e) der werbenden Person,
eine Umwandlungsrate für die werbende Person, und ein mittlerer Profit pro Aktion für die werbende Person.
4. Verfahren nach Anspruch 1, wobei das Einstellen der Gebotsbeträge der spezifizierten Suchbegriffe der werbenden Person, um die spezifizierten Ziele der werbenden Person zu erzielen, folgendes umfasst:
Maximieren der Kontakte der suchenden Person mit einer Website der werbenden Person.
5. Verfahren nach Anspruch 1, wobei das Einstellen der Gebotsbeträge der spezifizierten Suchbegriffe der werbenden Person, um die spezifizierten Ziele der werbenden Person zu erzielen, folgendes umfasst:
Maximieren der Klicks der suchenden Person auf Websites der werbenden Person.
6. Verfahren nach Anspruch 5, wobei das Einstellen der Gebotsbeträge folgendes umfasst:
Maximieren der Klicks der suchenden Person auf die Websites der werbenden Person, die den maximalen Kosten pro Klick unterworfen sind.
7. Verfahren nach Anspruch 1, wobei das Einstellen umfasst:
Variieren der Gebotsbeträge, um den Profit der werbenden Person zu maximieren.
8. Verfahren nach Anspruch 7, wobei es weiter folgendes umfasst:
Variieren der Gebotsbeträge, die von den maximalen Kosten pro Klick abhängen.
9. Verfahren nach Anspruch 7, weiter umfassend:
Bestimmen des Profits der werbenden Person auf der Basis von mehreren Klicks von suchenden Personen auf eine oder mehrere Websites der werbenden Person.
10. Verfahren nach Anspruch 7, weiter umfassend:
Bestimmen des Profits der werbenden Person auf der Basis der Umwandlungsrate.
11. Verfahren nach Anspruch 10, weiter umfassend:
Bestimmung der Suchbegriffumwandlungsraten für eine Vielzahl von Suchbegriffen, die unabhängige Umwandlungsraten aufweisen.
12. Verfahren nach Anspruch 10, weiter umfassend:
Bestimmen von Suchbegriffumwandlungsraten für eine Vielzahl der Suchbegriffe an zwei oder mehr Rängen, wobei die Suchbegriffe an jedem Rang unabhängige Umwandlungsraten aufweisen.
13. Verfahren nach Anspruch 1, wobei das Überprüfen von Gebotsbeträgen folgendes umfasst:
Überprüfen alle Gebotskombinationen für einen oder mehrere Suchbegriffe.
14. Verfahren nach Anspruch 1, wobei das Überprüfen der Gebotsbeträge folgendes umfasst:
Überprüfen einiger Gebotskombinationen.
15. Verfahren nach Anspruch 14, weiter umfassend:
Bestimmen von Rängen, bei denen es nicht wahrscheinlich ist, dass sie in einer optimalen Lösung liegen, und Ignorieren der bestimmten Ränge.
16. Verfahren nach Anspruch 15, weiter umfassend:
Ignorieren von Rängen unterhalb eines Schwellwertranges.
17. Verfahren nach Anspruch 15, weiter umfassend:
Ignorieren von Rängen, die weniger Klicks aufweisen als ein Klickschwellwert.
18. Verfahren nach Anspruch 15, weiter umfassend:
Ignorieren von Rängen, die sich in einiger Distanz von einer optimalen Lösung befinden, die größer als eine Distanz zwischen einer optimalen Lösung und einer letzten Lösung ist.
19. Verfahren nach Anspruch 15, weiter umfassend:
Ignorieren von Rängen, die einen Gebotsbetrag aufweisen, der um einen Faktor variiert, der außerhalb eines akzeptablen Bereichs liegt, wie er durch eine letzte Lösung bestimmt wurde.
20. Verfahren nach Anspruch 1, weiter das periodische erneute Berechnen der Gebotsbeträge gemäß den Flugparametern umfassend.
21. Verfahren nach Anspruch 1, weiter umfassend:
Empfangen eines von der werbenden Person spezifizierten maximalen Gebotsbetrages für einen oder mehrere Suchbegriffe;
Einstellen des Gebotsbetrags für den einen oder die mehreren Suchbegriffe gemäß dem maximalen Gebotsbetrag.
22. Verfahren nach Anspruch 21, weiter umfassend:
Reduzieren eines bestimmten Gebotsbetrags auf einen Pegel, der gerade einen nächst-niedrigeren Gebotsbetrag überschreitet.
23. Verfahren nach Anspruch 1, weiter umfassend:
Empfangen von Suchanfragen von suchenden Personen; Suchen in einer Datenbank nach Suchbegriffen, die zu den Suchanfragen passen, wobei die Datenbank Suchbegriffe und zugehörige Gebotsbeträge der einen oder der mehreren werbenden Personen speichert;
Liefern der Suchergebnisse der Suchbegriffe, die zu der Suchanfrage passen;
wenn der gelieferter Suchbegriff durch eine suchende Person angeklickt wird, Überführen eines ökonomischen Werts von der werbenden Person, die mit dem gelieferten Suchbegriff verbunden ist.
24. Datenbanksuchsystem, umfassend:
eine Datenbank mit Suchbegriffen, wobei jeder Suchbegriff mit einem Gebotsbetrag verbunden ist, der von einer werbenden Person oder einer Vielzahl von werbenden Personen zu zahlen ist;
eine Suchmaschine, die auf Suchanfragen von suchenden Personen antwortet, für das Durchsuchen der Datenbank; und
einen Flugverwaltungsagent, der auf die von der werbenden Person spezifizierten Parameter anspricht, um die Gebotsbeträge der Suchauflistungen einzustellen, um die Ausgaben über einem Zeitintervall zu verwalten.
25. Datenbanksuchsystem nach Anspruch 24, wobei der Flugverwaltungsagent konfiguriert ist, um Information über einen oder mehrere Suchbegriffe einer werbenden Person, ein Budget und das Zeitintervall zu empfangen.
26. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, um Information über eine oder mehrere maximale mittlere Kosten pro Klick für einen oder mehrere Suchbegriffe, eine Umwandlungsrate und einen mittleren Profit pro Aktion zu empfangen.
27. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, das Budget über dem Zeitintervall auszugeben.
28. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, um die Anzahl der Klicks auf eine Website einer werbenden Person zu maximieren.
29. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, um den Profit der werbenden Person für eine werbende Person über dem Zeitintervall zu maximieren.
30. Datenbanksuchsystem nach Anspruch 29, wobei der Flugverwaltungsagent konfiguriert ist, um den Profit der werbenden Person, der von einem maximalen Preis pro Klick abhängt, zu maximieren.
31. Datenbanksuchsystem nach Anspruch 29, wobei der Flugverwaltungsagent konfiguriert ist, den Profit der werbenden Person durch das Bestimmen des Profits auf der Basis von mehreren Aktionen der suchenden Person auf einer Website der werbenden Person zu maximieren.
32. Datenbanksuchsystem nach Anspruch 29, wobei der Flugverwaltungsagent konfiguriert ist, den Profit der werbenden Person durch das Bestimmen des Profits auf der Basis einer Vielzahl von Suchbegriffen, die eine Vielzahl von Umwandlungsraten aufweisen, zu maximieren.
33. Datenbanksuchsystem nach Anspruch 29, wobei der Flugverwaltungsagent konfiguriert ist, den Profit auf der Basis einer Vielzahl von Suchbegriffen, die unterschiedliche Umwandlungsraten an unterschiedlichen Rängen aufweisen, zu bestimmen.
34. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, alle möglichen Kombinationen der Gebote für einen oder mehrere Suchbegriffe zu analysieren und eine Kombination auszuwählen, die den höchsten Profit für die werbende Person liefert.
35. Datenbanksuchsystem nach Anspruch 25, wobei der Flugverwaltungsagent konfiguriert ist, nur wahrscheinliche Kombinationen der Gebote für den einen oder die mehreren Suchbegriffe zu analysieren und eine Kombination aus den wahrscheinlichen Kombinationen auszuwählen, die den höchsten Profit für die werbende Person liefert.
36. Datenbanksuchsystem nach Anspruch 35, wobei der Flugverwaltungsagent konfiguriert ist, Ränge von Suchbegriffen zu bestimmen, von denen es nicht wahrscheinlich ist, dass sie in einer optimalen Lösung vorkommen.
37. Datenbanksuchsystem nach Anspruch 36, wobei der Flugverwaltungsagent konfiguriert ist, Suchbegriffe auszuschließen, die einen Rang aufweisen, der kleiner als ein Rangschwellwert ist.
38. Datenbanksuchsystem nach Anspruch 36, wobei der Flugverwaltungsagent konfiguriert ist, Suchbegriffe auszuschließen, die eine empfangene Anzahl von Klicks aufweisen, die kleiner als ein Klickschwellwert ist.
39. Datenbanksuchsystem nach Anspruch 36, wobei der Flugverwaltungsagent konfiguriert ist, Suchbegriffe an einem Rang in einer Distanz von einer Lösung, die größer als eine Distanz von einer vorherigen Lösung ist, auszuschließen.
40. Datenbanksuchsystem nach Anspruch 36, wobei der Flugverwaltungsagent konfiguriert ist, Suchbegriffe auszuschließen, die einen Gebotsbetrag aufweisen, der sich von einem vorherigen Betrag um einen vorbestimmten Betrag unterscheidet.
41. Datenbanksuchsystem nach Anspruch 24, wobei der Flugverwaltungsagent konfiguriert ist, die Gebotsbeträge der Suchauflistungen von Zeit zu Zeit neu zu berechnen.
42. Computerprogrammkode für das Verwalten eines Werbefluges einer werbenden Person mit einem Online-Marktsystem.
43. Computerprogrammkode nach Anspruch 42, wobei er weiter einen Kode umfasst, der von Zeit zu Zeit die Zustände im Online-Marktplatzsystem prüft und die Gebote der Suchauflistungen der werbenden Person einstellt, um zu gewährleisten, dass die von der werbenden Person spezifizierten Ziele erfüllt werden.
44. Computerprogrammkode nach Anspruch 42, wobei er weiter einen Kode umfasst, um die Gebotsbeträge der werbenden Person gemäß den von der werbenden Person spezifizierten Flugverwaltungskriterien zu aktualisieren, wobei die Gebotsbeträge mit den Suchbegriffen der werbenden Person einer Datenbank, die von suchenden Personen durchsucht werden kann, verbunden sind, wobei die Gebotsbeträge einen ökonomischen Wert darstellen, der von der werbenden Person zu bezahlen ist, wenn eine suchende Person einen Suchbegriff der werbenden Person auswählt.
Beschreibung
    ZUGEHÖRIGE ANMELDUNGEN
  • [0001]
    Diese Anmeldung ist eine Continuation-In-Part-Anmeldung der Anmeldung mit der Seriennummer 09/918,241 mit dem Titel SYSTEM AND METHOD FOR INFLUENCING A POSITION ON A SEARCH RESULT LIST GENERATED BY A COMPUTER NETWORK SEARCH ENGINE, die am 24. Juli 2001 im Namen von Davis et al. eingereicht wurde, wobei diese Anmeldung auf den Anmelder der vorliegenden Anmeldung übertragen wurde und hiermit in ihrer Gesamtheit durch diese Bezugnahme eingeschlossen wird, wobei sie eine Continuation-Anmeldung der Anmeldung mit der Seriennummer 09/322,677, die am 28. Mai 1999 im Namen von Darren J, Davis et al. eingereicht wurde, und nun zum US-Patent mit der Nummer 6,269,361 geworden ist, ist.
  • BEZUGNAHME AUF COMPUTERPROGRAMMLISTEN DIE AUF EINER COMPACT- DISK VORGELEGT WERDEN
  • [0002]
    Als Anlage wird eine Compact-Disk eingeschlossen, die Computerprogrammkodelisten gemäß 37 C. F. R. 1.52(e) enthält, wobei diese hiermit in ihrer Gesamtheit eingeschlossen wird. Die Gesamtzahl der Compact-Disks beträgt 1, wobei sie 31822 Dateien und 156.346.522 Byte einschließt. Die Dateien, die auf der Compact-Disk eingeschlossen sind, sind in einer Datei mit dem Titel "dir_s" auf der Compact-Disk aufgelistet. Durch die große Anzahl der Dateien, die auf der Compact-Disk vorhanden sind, ist die geforderte Auflistung der Dateinamen, der Herstellungsdaten und der Größen in Byte in der Datei dir_s auf der Compact-Disk enthalten und sie wird hiermit durch Bezugnahme eingeschlossen.
  • HINTERGRUND
  • [0003]
    Das Verfahren, das im US-Patent mit der Nummer 6,269,361 beschrieben ist, kann für eine werbende Person mühsam in der Handhabung sein. Insbesondere wollen werbende Personen bevorzugte Positionen in den Suchergebnissen zu einem günstigen Preis aufrecht halten (um so ein hohes Volumen qualifizierten Verkehrs zu erhalten). Das System, das im US-Patent mit der Nummer 6,269,361 beschrieben ist, liefert keine dazu geeigneten Mittel. Werbende Personen können auf eine häufige Inspektion ihrer Rangfolge in Bezug auf die Suchbegriffe, die für sie wichtig sind, ausweichen, indem sie beispielsweise eine Suche auf www.overture.com ausführen. Wenn sie eine Änderung als eine Konsequenz von konkurrierenden Gebotsaktivitäten beobachten, können sie sich in die Bezahlungs-für-Platzierungs- Website einloggen und in Erwiderung darauf ihre Gebote manuell ändern. Wenn sie für eine Position, die sie halten wollen, überboten wurden, so können sie ihr Gebot erhöhen, um die Position wieder einzunehmen, wenn die geforderten Kosten pro Klick ("CPC"), die gleich dem Betrag ihres Gebots sind, eine Höhe aufweisen, die sie bereit sind, zu bezahlen. In dem Fall, bei dem das Gebot der Auflistung, die sich unterhalb ihrer Auflistung befindet, erniedrigt hat, kann es sein, dass einige werbende Personen wünschen, ihr Gebot zu erniedrigen, um den Betrag, den sie zahlen, zu reduzieren, während sie dennoch ihre Position im Satz der Ergebnisse halten.
  • [0004]
    Es gibt viele andere Aufgaben, die eine stark werbende Person oder eine Werbeagentur, die im Auftrag von stark werbenden Personen handelt, durchführen müssen. Stark werbende Personen handhaben im allgemeinen "Werbeflüge (advertising flights)". Ein Flug betrifft typischerweise eine Geschäftsaktivität, die einen speziellen Satz von Produkten über ein gewisses spezifisches Zeitintervall bewirbt. Ein Flug weist typischerweise ein Budget, eine Flugdauer und einen Geschäftsgegenstand, beispielsweise das Gewinnen von 10.000 neuen Kreditkartenkunden, auf.
  • [0005]
    Das Schaffen eines Fluges umfasst typischerweise das Auswählen eines Ausgabemediums (Fernsehen, Radio, Druckerzeugnisse, Online etc.) und das Unterzeichnen eines Vertrags, der die Kampagne (beispielsweise die Anzahl der TV-Spots, ihre Länge, die Zeit ihrer Aussendung und die Märkte, wo sie ausgesendet werden), die Kunden-Publicity (beispielsweise die Anzahl der erreichten Betrachter) und die Kosten spezifiziert. Für die Märkte mit Online-Kosten pro Darstellung (cost per impression, CPM) umfasst das typischerweise die Identifizierung der Webseiten, auf denen die Bannerhinzufügungen laufen, ihre Häufigkeit, die erwartete Anzahl der Darstellungen während des Fluges und die CPM-Kosten. Wenn die Gegenstände des Vertrags festgelegt wurden, so besteht für eine werbende Person bei der Handhabung des Fluges außer dem Erhalten periodischer Berichte über die Kundenpublicity nicht mehr viel Arbeit.
  • [0006]
    Es erfordert für eine werbende Person beträchtlich mehr Mühe, einen Flug in einem CPC-Marktplatz zu handhaben. Die Eingabeparameter für eine Flughandhabung in einem CPC-Marktplatz sind: 1) die Flugdauer (Start- und Endedaten und Zeiten), 2) das Flugbudget, 3) der Satz von Auflistungen, die im CPC- Marktplatz zu verwenden sind (jede Auflistung weist einen Begriff, einen Titel, eine Beschreibung und eine URL auf), und 4) die maximale mittlere CPC für die Auflistungen (jede höhere CPC werden zu einem Verlust für die werbende Person führen).
  • [0007]
    Es gibt andere Eingaben, die vom CPC-Marktplatz abhängen: 1) die Gebote für alle Ränge für die Begriffe der Auflistungen (beispielsweise erfordert es $4,43 um für den Begriff "web hosting" auf Rang 3 zu sein), und 2) die Anzahl der Klicks bei jedem Rang jedes Betriffs (beispielsweise weist der Begriff "Reise" auf Rang 2 1800 Klicks/Tag auf).
  • [0008]
    Die Ziele einer Flugverwaltung in einem CPC-Marktplatz sind folgende: 1) das Budget gleichmäßig über dem Flug auszugeben, 2) das Budget exakt am Ende des Fluges (so gut wie möglich) ausgegeben zu haben, 3) zu gewährleisten, dass das mittlere Gebot für die ausgewählten Auflistungen kleiner als die maximalen mittleren CPC ist, 4) zu gewährleisten, dass der Profit der werbenden Person maximiert wird. Dies bedeutet, dass für ein festes Flugbudget die werbende Person die maximal möglichen Klicks erzielt. Die werbende Person wird die maximale Anzahl der Klicks empfangen, wenn die mittlere CPC für alle Auflistungen die geringste ist. Da das Flugbudget fest ist, so bedeutet das Erzielen der maximal möglichen Klicks eine Maximierung der ROI der werbenden Person.
  • [0009]
    Das Verwalten eines Fluges in einem CPC-Marktplatz erfordert: 1) Auswählen der Auflistungen, auf die ein Gebot abgegeben werden soll, 2) Auswählen eines Gebotsbetrags für jede ausgewählte Auflistung (diese bestimmt den Rang jeder Auflistung zur aktuellen Zeit), und 3) periodisches Wiederauswerten der Gebote, um zu gewährleisten, dass sich der Flug noch auf der richtigen Spur befindet. Die Ausgaben können durch die Dynamik des CPC-Marktes während eines Fluges über oder unter den Vorhersagen liegen.
  • [0010]
    Ein CPC-Markt erfordert von einer werbenden Person bei der Verwaltung eines Fluges im Vergleich zu anderen Alternativen (Fernsehen, Radio, Druckerzeugnisse, andere Online-Verfahren etc.) wesentlich mehr Mühe. Das ergibt sich aus folgenden Gründen: 1)die werbende Person muss eine große Anzahl von Auflistungen erzeugen, 2) die werbende Person muss die maximalen CPC bestimmen, so dass sie profitabel bleiben, 3) die werbende Person muss bestimmen, wie sie den Profit maximiert, indem sie die optimalen Gebote für jede Auflistung auswählt, und 4) die werbende Person muss die Gebote während des Fluges kontinuierlich überwachen und einstellen - all das erfordert beträchtliche Mühe. In einigen Fällen können dazu einige Angestellte, die während ihrer gesamten Arbeitszeit daran arbeiten, notwendig sein. Die nächsten Absätze beschreiben diese Schwierigkeiten kurz.
  • [0011]
    Eine werbende Person muss einen großen Satz von Auflistungen erzeugen (diese können in die Hunderte gehen). Für jede Auflistung muss die werbende Person einen Begriff, einen Titel, eine Beschreibung und die URL wählen. Beispielsweise trage eine Auflistung den Begriff "LCD-Projektor", den Titel "Ihre beste Quelle für LCD-Projektoren", die Beschreibung "Infocus Proxima Sanyo Toshiba, Panaxonic Hitachi. Unglaubliche Angebote der besten Artikel auf dem Gebiet der Computerprojektion mit der besten Unterstützung im Geschäft", und eine URL, die zur Website der werbenden Person zeigt.
  • [0012]
    Dies kann zeitaufwendig sein, da jede Auflistung typischerweise eine manuelle Überarbeitung durch den Operator des CPC- Marktes erfordert, um zu gewährleisten, dass der Titel und die Beschreibung die Ziel-URL genau widerspiegeln und dass der Titel und die Beschreibung für den Begriff der Auflistung relevant sind.
  • [0013]
    Die werbende Person muss die maximale Höhe des Gebots auf die Auflistungen bestimmen, um zu gewährleisten, dass kein Verlust entsteht. Der Betrag, der bezahlt wird, um eine suchende Person auf die Website der werbenden Person zu führen, muss kleiner sein als der erwartete Profit pro Klick. Dies erfordert das Berechnen der Umwandlungsrate für alle möglichen Aktionen, das Berechnen der Wahrscheinlichkeit, dass eine suchende Person jede der möglichen Aktionen durchführen wird, wenn sie auf die Website der werbenden Person überführt wurde. Die möglichen Aktionen können das Registrieren, das Kaufen eines Gegenstandes, die Anfrage wegen eines Darlehens etc. umfassen. Die Umwandlungsraten für die verschiedenen Aktionen werden mit dem mittleren Profit/Aktion kombiniert, um den erwarteten Profit/Klick zu berechnen.
  • [0014]
    Wenn beispielsweise 1% der suchenden Personen, die auf die Website einer werbenden Person geführt werden, eine Digitalkamera kaufen, was zu einem mittleren Profit für die werbende Person von $100 führt, dann betragen die maximalen CPC für die Auflistung $1,00 (mehr würde zu einem Verlust führen).
  • [0015]
    Zusätzlich muss eine werbende Person die CPC für jede Auflistung festlegen, um den Profit zu maximieren. Höhere CPC für eine Auflistung führen zu einem besseren Rang, der im allgemeinen zu mehr Klicks führt, wobei aber das mittlere Verhältnis Kosten/Klick ansteigt (verursacht durch die höheren CPC). Der gesamte Profit ist das Produkt aus 1) der Anzahl der Klicks und 2) dem mittleren Verhältnis Profit/Klick minus dem mittleren Verhältnis Kosten/Klick.
  • [0016]
    Höhere CPC können zu einem höheren Profit führen oder dies auch nicht tun. Im allgemeinen kann der gesamte Profit mit den Änderungen im Rang nach oben oder unten gehen. Das folgende Beispiel zeigt das nicht monotone Verhalten des gesamten Profits mit dem Rang für eine einzelne Auflistung. Die werbende Person besitzt einen mittleren Profit/Klick von $ 4,90. Ein Gebot, so dass man auf Rang 6 liegt, führt zum maximalen Profit für die werbende Person, wenn das Budget für die Auflistungen größer oder gleich $46 ist. Andererseits liegt, wenn die Budgetgrenze bei $20 liegt, der optimale Profit beim Rang 8, da dieser Rang den höchsten Profit aufweist, während man dennoch unterhalb des Budgets bleibt.


  • [0017]
    Das Herausfinden des optimalen Gebots für eine Auflistung ist ein Verfahren von Versuch und Irrtum, wenn der Operator des Marktes die mittlere Anzahl der Klicks als eine Funktion des Rangs für jeden Begriff nicht veröffentlicht. In diesem Beispiel kann die werbende Person bei Rang 3 starten, dann Rang 4 versuchen, was zu einer Erhöhung des gesamten Profits führt, weiter Rang 5 untersuchen etc. Ein anderes Problem besteht darin, dass das Finden eines lokalen Maximums dazu führen kann, dass man den Rang mit dem optimalen Profit verfehlt - Rang 6 kann einen höheren Profit als seine Nachbarn aufweisen, aber es ist möglich, dass Rang 10 besser als Rang 6 ist.
  • [0018]
    Um die Sache zu komplizieren, kann es sein, dass die Umwandlungsrate für die verschiedenen Auflistungen nicht dieselbe ist. Beispielsweise kann eine Auflistung mit dem Begriff "Auto" 1% der suchenden Personen, die eine Information über die Händlerkosten für ein Auto kaufen, aufweisen, während für eine Auflistung mit dem Ausdruck "Wagen" diese bei 1,5% liegen können. Dieser Unterschied kann eine Funktion des Begriffs der Auflistung oder ihres Titels, der Beschreibung oder der Webseite, auf die durch die URL gezeigt wird, sein. Die Umwandlungsraten für eine einzige Auflistung können auch vom Rang, an dem die Auflistung dargestellt wird, abhängen. Beispielsweise könnte es sein, dass wenn die Auflistung am Rang 1 dargestellt wird, 2% der suchenden Personen das Produkt kaufen, während wenn sich die Auflistung am Rang fünf befindet, nur 1% der suchenden Personen das Produkt kaufen.
  • [0019]
    Die werbende Person muss die Auflistungen auf einer regelmäßigen Basis verwalten. Dies dient dazu, zu gewährleisten, dass das Budget gleichförmig oder ungleichförmig, je nachdem wie es gewünscht wird, ausgegeben wird, und dass das gesamte Budget am Ende des Fluges ausgegeben ist. Das Ausgeben des gesamten Budgets vor dem Ende des Flugs kann zu einer Fehlzuordnung der Resourcen führen - zu viele Kunden, gefolgt von gar keinen Kunden, und das Ausgeben nicht des gesamten Budgets kann zu verfehlten Gelegenheiten für Einkünfte führen.
  • [0020]
    Eine werbende Person muss eine anfängliche Schätzung der optimalen Gebote für alle Auflistungen vornehmen, und dann diese kontinuierlich überwachen, um zu gewährleisten, dass der Flug richtig verläuft. Es kann viele Gründe dafür geben, warum die Gebote über der Zeit modifiziert werden müssen. Die anfänglichen Schätzungen der Anzahl der Klicks bei unterschiedlichen Rängen für jede Auflistungen können unkorrekt sein, die anfänglichen Schätzungen der Umwandlungsraten können unkorrekt sein oder die Umwandlungsraten können sich über der Zeit ändern. Beispielsweise können die Auflistungen in Bezug zu einem speziellen Datum (beispielsweise Vatertag), das gerade vergangen ist, stehen.
  • [0021]
    Durch die Dynamik des Marktes kann sich zusätzlich die Anzahl der Klicks für jeden Rang bei jedem Begriff ändern. Beispielsweise kann die Auflistung mit dem Begriff "Auto" ein Gebot von $1,43 haben, damit sie am Rang 3 liegt. Später treten andere werbende Personen in den Markt mit einem Gebot von $1,44 ein, um die Auflistung am Rang 3 auf den Rang 4 zu verschieben. Auf Rang 4 wird die Auflistung "Auto" weniger Klicks haben - das Verhältnis Kosten/Klick für den Begriff "Auto" hat sich am Markt gerade erhöht. Andere Änderungen können durch werbende Personen, die den Markt verlassen, existierende werbende Personen, die ihre Gebote erhöhen/erniedrigen, und durch den Operator des Marktes, der die Anzahl der Sucher, die eine Suche durchführen erhöht/erniedrigt (beispielsweise durch das Hinzufügen oder Wegnehmen von Anschlüssen) verursacht werden. Die Dynamik des CPC-Marktes kann jederzeit zu diesen Änderungen führen.
  • [0022]
    Es gibt andere Bedingungen des Marktes, die die werbende Personen verfolgen müssen, um den Profit zu maximieren. Diese umfassen die Prüfung, ob das Gebot einer Auflistung für seinen aktuellen Rang zu hoch ist. Beispielsweise kann es sein, dass eine werbende Person A1 die CPC einer Auflistung auf $0,50 festlegt, damit sie auf Rang 2 liegt - eine werbende Person A2 befindet sich auf Rang 3 mit CPC von $0,49. Einige Stunden später ändert A2 die CPC dieser Auflistung auf $0,45, während er dennoch auf Rang 3 bleibt. Die werbende Person A1 kann nun die CPC dieser Auflistung von $0,50 auf $0,46 reduzieren, während sie dennoch die Auflistung auf Rang 2 hält.
  • [0023]
    Die vorigen Beispiele zeigen die verschiedenen Aktionen, die werbende Personen manuell vornehmen müssen, um ihre Flüge zu verwalten. Einige werbende Personen führen diese Aufgaben mehrmals pro Tag durch. Einige werbende Personen haben eine Vielzahl von Angestellten, die für die Handhabung ihrer Teilnahme an einem Markt, der eine Bezahlung für eine Platzierung fordert, die Überwachung der Positionen ihrer Auflistungen und das Einstellen ihrer Gebote, das Handhaben ihres Budgets etc. abgestellt sind.
  • [0024]
    Das manuelle Verfahren des zyklischen Abfragens des Status der Auflistungen, des Untersuchens der Wettbewerber im Markt und des Prüfens des Kontostatus ist zeitaufwendig und verschwenderisch. Es existiert somit ein Bedürfnis nach einem Verfahren und einer Vorrichtung, mit der die werbenden Personen ihre Werbeflüge effektiver verwalten können.
  • [0025]
    Es existiert ein Bedürfnis, ein automatisches Flugverwaltungssystem für werbende Personen bereit zu stellen. Ein solches System würde als Eingabe die Parameter des Werbeflugs aufnehmen: das Budget, die Dauer, die Begriffe, die maximalen mittleren CPC, die Umwandlungsraten und den mittleren Profit/Aktion für jeden Begriff. Das System würde die CPC für jede Auflistung automatisch einstellen, um den Profit der werbenden Person zu maximieren und das Budget über dem Flug so auszugeben, wie es von der werbenden Person spezifiziert wird. Das System würde periodisch die CPC der Auflistungen neu berechnen, wobei es den zeitlichen Verlauf des Fluges berücksichtigen würde, um den Profit zu optimieren. Das System würde periodisch Berichte über die Leistung des automatisierten Flugverwaltungssystems erzeugen und diese an die werbende Person übermitteln. Das System sollte den werbenden Personen die Möglichkeit geben, den automatisierten Flugplan, der durch das System erzeugt wird, an ihre Wünsche anzupassen.
  • [0026]
    Wenn diese Ineffizienz durch den Operator des Marktes nicht angesprochen wird, so bleibt ein ökonomischer Anreiz für die werbenden Personen, selber automatisierte Dienste zu produzieren, um mit den Kontoverwaltungssystemen des Operators des Marktes zu interagieren, um den verfügbaren ökonomischen Vorteil in Bezug auf die begrenzten automatisierten Dienste, die vom Operator des Marktes angeboten werden, zu erhalten. Als weitere Konsequenz liefert eine solche Situation einen ökonomischen Anreiz für dritte Parteien, automatische Dienste für werbende Personen für eine Gebühr oder einen Bruchteil der angeblich produzierten Einsparungen zu erzeugen. Dies findet schon statt.
  • KURZE ZUSAMMENFASSUNG
  • [0027]
    Einleitend können die vorliegenden Ausführungsformen kollektiv als automatische Flugverwaltung angesprochen werden. Die automatische Flugverwaltung stellt eine Verbesserung gegenüber existierenden Bezahlungs-für-Platzierungs-Marktsystemen dar. Im grundsätzlichen Marktsystem loggt sich eine werbende Person bei der Schnittstelle für die werbende Person ein und verwaltet ihre Werbekampagne durch das Prüfen der Marktinformation und der Information, die in bezug zu ihren Auflistungen steht. Beispielsweise kann eine werbende Person einen Satz von Begriffen, ihre Beschreibung und die CPC für jeden Begriff, wobei es sich dabei um den Betrag handelt, den die werbende Person zahlen will, wenn eine suchende Person auf die Auflistung klickt, identifizieren. Eine werbende Person kann auch die Anzahl der Klicks bei verschiedenen Rängen für einen Suchbegriff prüfen, die anderen konkurrierende Auflistungen für einen Begriff untersuchen, etc. Nachfolgend kann die werbende Person, wenn ein Suchbegriff zu einer Suchanfrage, die von einer suchende Person empfangen wird, passt, dem Operator des Marktes einen ökonomischen Wert geben. Um einen Werbeflug zu verwalten, muss eine werbende Person auch gewährleisten, dass das Budget gemäß dem Plan während des Fluges ausgegeben wird.
  • [0028]
    Die hier beschriebenen Ausführungsformen verwenden das Konzept eines Gebots, das dem ökonomischen Wert entspricht, den eine werbende Person geben will, wenn Netzorte, die mit der werbenden Person in Verbindung stehen, einer suchenden Person in Erwiderung auf eine Anfrage der suchenden Person zugewiesen werden. Der ökonomische Wert kann ein Geldbetrag, der der werbenden Person entweder direkt oder indirekt in Rechnung gestellt wird oder gestellt werden kann, sein. Der ökonomische Wert kann ein Betrag sein, der von einem Konto der werbenden Person abgebucht wird. Der Betrag kann ein Geldbetrag oder ein anderer Wert, wie Kreditpunkte, sein. Der ökonomische Wert kann von einer werbenden Person an einen Operator eines Datenbanksuchsystems oder eine dritte Partei gegeben werden.
  • [0029]
    Der ökonomische Wert wird gegeben, wenn ein Bezug zwischen einer suchenden Person und einem oder mehreren Orten im Netz, wie die Websites einer werbenden Person, hergestellt wird. Der Bezug kann dadurch hergestellt werden, dass man die Orte des Netzes auf einem Schirm, der für eine Dateneingabe und einen Datenempfang der suchenden Person verwendet wird, zusammen oder mit anderen Suchergebnissen dargestellt. Dies wird als ein Abdruck (impression) bezeichnet. Alternativ und in der Ausführungsform, die hier allgemein beschrieben wird, kann die Überweisung auftreten, wenn die suchende Person auf die Netzorte der werbenden Person klickt oder sich durch einen Zugang zu den Netzorten der werbenden Person klickt, wie das nachfolgend detaillierter beschrieben wird. Die Überweisung kann auch durch irgend eine andere Aktion, die durch die suchende Person vorgenommen wird, wenn die suchende Person Zugang zu den Netzorten der werbenden Person erlangt hat, erfolgen.
  • [0030]
    Die hier beschriebenen Ausführungsformen automatisieren viele der Schritte, die von einer werbenden Person bei der Verwaltung eines Werbefluges durchgeführt werden. Aktuell muss eine werbende Person periodisch den Zustand der Auflistungen, den Zustand des Marktes, die vergangenen Ausgaben und die Umwandlungsraten der suchenden Personen, die sich durch die Website einer werbenden Person klicken, und ob die Geschäftsziele des Fluges erfüllt werden, überprüfen. Diese manuelle Überprüfung des Marktes und das Einstellen der Gebote der Auflistungen ist zeitaufwendig und fehleranfällig, da eine werbende Person die Anzahl der Klicks, die eine Auflistung an verschiedenen Rängen erhalten wird, schätzen muss, wenn diese Information nicht vom Operator des Marktes geliefert wird.
  • [0031]
    Die beschriebenen Ausführungsformen der automatischen Flugverwaltung ermöglichen es einer werbenden Person, die Parameter des Werbefluges zu spezifizieren. Das System liefert einen automatisierten Agenten, der im Auftrag der werbenden Person handelt, periodisch die Zustände des Marktes prüft und Einstellungen bei den Geboten der Auflistungen vornimmt, um zu gewährleisten, dass die Aufgaben des Fluges erfüllt werden, und dass der Profit der werbenden Person maximiert wird.
  • [0032]
    Der Agent ist ein Softwareverfahren oder eine Anwendung, die in Verbindung mit Daten, die vom Marktsystem gehalten werden, arbeitet. Wenn alles in Ordnung ist - wenn die Ausgaben des Fluges im Plan liegen und die aktuellen Gebote für die Auflistungen den Profit der werbenden Person maximieren, so nimmt der Agent keine weitere Aktion vor. Ansonsten stellt der Agent die Gebote eines oder mehrer Auflistungen ein, um die Ausgaben des Fluges in Übereinstimmung mit dem Budget zu halten und um den Profit der werbenden Person zu maximieren, und er sendet eine Nachricht, um der werbenden Person die Änderungen mitzuteilen. Nachrichten können immer dann gesandt werden, wenn Einstellungen vorgenommen werden, oder sie können angesammelt und periodisch gemäß der Steuerung durch die werbende Person gesendet werden.
  • Eingaben, Ausgaben und Ziele
  • [0033]
    Eine werbende Person beschreibt die Parameter eines Werbefluges durch die folgenden Spezifizierungen:
    • 1. {T1, T2, . . ., Tk}: die Auflistungen und ihre Begriffe
    • 2. B: das Budget für den Flug
    • 3. I: das Flugintervall (Start- und Endedaten und Zeiten)
    • 4. Eines oder mehrere der folgenden Punkte
      • a) C: die maximalen mittleren CPC über alle Begriffe
      • b) R: die Umwandlungsrate, die den Bruchteil der suchenden Personen darstellt, die eine Aktion auf der Website der werbenden Person durchführen, und
      • c) P: der mittlere Profit/Aktion. Der erwartete Profit/Klick ist P × R
  • [0034]
    Es wird angenommen, dass das Budget B gleichmäßig während des Fluges ausgegeben wird. Wenn dies nicht der Fall ist, so kann die werbende Person eine Sammlung getrennter Flüge spezifizieren, wobei jeder Flug eine gleichförmige Ausgaberate aufweist. Man nehme beispielsweise an, dass das Flugbudget $100.000 beträgt, wobei $20.000 in einem Monats eins, $30.000 in einem Monat zwei und $50.000 in einem Monat drei ausgegeben werden sollen. Der ungleichförmige Flug kann in drei getrennte Flüge mit gleichförmigen Ausgaberaten unterteilt werden: Flug eins für den ersten Monat mit einem Budget von $20.000, Flug zwei für den zweiten Monat mit einem Budget von $30.000 und Flug drei für den dritten Monat mit einem Budget von $50.000.
  • [0035]
    Der Operator des Marktes hat Zugang zum aktuellen Zustand des Marktes, der verwendet werden kann, um den Flug zu optimieren. Er umfasst:
    • 1. bij: Das Gebot für den Begriff Ti am Rang j
    • 2. cij: Die Anzahl der Klicks für den Begriff Ti am Rang j
  • [0036]
    Der Algorithmus der automatischen Flugverwaltung wird periodisch ausgeführt, um den Flug fortwährend zu optimieren. In jedem Schritt wählt der Agent, der im Auftrag der werbenden Person handelt, das optimale Gebot für jeden Begriff {T1, T2, . . ., Tk}. Das Gebot, das für den Ausdruck Ti gewählt wird ist bi, von dem erwartet wird, dass es zu ci Klicks der suchenden Personen während des Flugintervalls führt.
  • [0037]
    Für jeden Begriff Ti in {T1, T2,. . ., Tk} kann, wenn sein Gebot bi und seine geschätzte Anzahl von Klicks ci bekannt ist, es möglich sein, folgendes zu bestimmen:
    • 1. Die geschätzte Gesamtzahl der Klicks der suchenden Personen während des Flugintervalls ct = c1 + c2 + . . . + ck.
    • 2. Die geschätzten gesamten Ausgaben des Flugs für die werbende Person ct = b1c1 + b2c2 + . . . + bkck, die kleiner als das Budget B sein müssen.
    • 3. Das geschätzte mittlere Gebot während des Fluges ba = et/ct = (b1c1 + b2c2 + . . . + bkck)/(c1 + c2 + . . . + ck) ≍ B/ct
    • 4. Die geschätzte Anzahl von Aktionen, die von den suchenden Personen auf der Website der werbenden Person vorgenommen werden At = ct × R = (c1 + c2 + . . . + ck) × R
    • 5. Der gesamte Profit der werbenden Person, der die Summe des Profits für jeden Begriff darstellt. Der Profit für den Begriff Ti ist das Produkt von 1) der Anzahl der Klicks und 2) Profit/Klick minus Kosten/Klick, was sich darstellt zu ci(P × R - bi). Somit ist der gesamte Profit T = Σi = 1 k ci (P × R - bi). Das ist ungefähr gleich ct × P × R - B, wenn die gesamten Kosten während des Fluges Σi = 1 k ci × bi ungefähr gleich dem Flugbudget B sind.
  • [0038]
    Der gesamte Profit der werbenden Person für den Flug T ≍ ct × P × R - B kann durch das Maximieren der Gesamtzahl der Klicks ct optimiert werden. Dies ergibt sich daraus, dass der mittlere Profit/Aktion P und die Umwandlungsrate R Konstanten sind, und das Ziel darin besteht, die Ausgaben so dicht wie möglich am konstanten Flugbudget B zu halten. Die Gesamtzahl der Klicks ist ungefähr gleich dem Budget geteilt durch das mittlere Gebot, das heißt ct ≍ B/ba. Somit können wir die Gesamtzahl der Klicks ct durch das Minimieren des mittleren Gebots ba maximieren.
  • [0039]
    Die Ziele der automatischen Flugverwaltung sind folgende:
    • 1. Das Budget B gleichmäßig während des Flugs auszugeben. Dies wird erreicht, indem die Gebote für die Begriffe {T1, T2,. . ., T3} so festgelegt werden, dass die gesamten Kosten ungefähr gleich dem Budget sind, das heißt b1c1 + b2c2 + . . . + bkck ≍ B.
    • 2. Das Profil der werbenden Person zu optimieren. Dies wird durch das Maximieren der Gesamtzahl der Klicks ct, während das Budget B ausgegeben wird, erreicht. Dies ist gleich dem Minimieren des mittleren Gebots ba, während das Budget B ausgegeben wird.
    • 3. Wenn die werbende Person maximale mittlere CPC C spezifiziert, zu gewährleisten, dass ba = et/ct = (b1c1 + b2c2 + . . . + bkck)/(c1 + c2 + . . . + ck) ≤ C.
    • 4. Wenn die werbende Person eine Umwandlungsrate R und den mittleren Profit/Aktion P angibt, diese Information zu verwenden, um die Gebote für die Begriffe so zu wählen, dass der gesamte Profit T = Σi = 1 k ci(P × R - b1) maximiert wird. Dies unterscheidet sich von der Bedingung 2, da es möglich sein kann, einen höheren gesamten Profit ohne das Ausgeben des gesamten Budgets B zu erhalten.
  • Mehrere Aktionen einer suchenden Person
  • [0040]
    Es ist möglich, dass eine suchende Person eine oder mehrere Aktionen mit einem ökonomischen Wert für die werbende Person auf dessen Website durchführt. Beispielsweise kann eine suchende Person einen Fernseher kaufen, sie kann einen Fernseher und einen erweiterten Servicevertrag erwerben, oder sie kann sich registrieren, damit sie in Zukunft Werbeinformation erhält. Im allgemeinen wird eine Anzahl unabhängiger Aktionen <a1, a2, . . ., an> vorhanden sein, wobei der Profit für die Aktionen sich darstellt zu <p1, p2, . . ., pn>, und die Umwandlungsrate für die Aktionen sich darstellt zu <r1, r2, . . ., rn>. Das heißt, eine suchende Person, die sich durch die Website einer werbenden Person klickt, weist die Wahrscheinlichkeit r1 der Durchführung der Aktion a1 und die Wahrscheinlichkeit r2 der Durchführung der Aktion a2 etc. auf. In diesem Fall ist der mittlere Profit/Klick P × R = Σi = 1 n pi × ri.
  • Unterschiedliche Umwandlungsraten für unterschiedliche Begriffe und Ränge
  • [0041]
    Es ist auch möglich, dass unterschiedliche Begriffe unterschiedliche Umwandlungsraten aufweisen. Statt dem Vorhandensein einer einzigen Umwandlungsrate R spezifiziert die werbende Person eine Umwandlungsrate R(Ti) für jeden Begriff Ti in {T1, T2, . . ., Tn}. Rmax sei die höchste Umwandlungsrate für den Begriff Ti.
  • [0042]
    Wir können alle Begriffe normieren, so dass sie dieselbe Umwandlungsrate Rmax aufweisen, indem
    • 1. Die Anzahl der Klicks jedes Rangs jedes Begriffs Ti in {T1, T2, . . ., Tk} mit dem Faktor R(Ti)/Rmax skaliert wird, und
    • 2. das Gebot jedes Ranges jedes Begriffs Ti in {T1, T2, . . ., Tk} mit dem Faktor Rmax/R(Ti) skaliert wird.
  • [0043]
    Das Skalieren der Anzahl der Klicks normiert die Umwandlungsrate jedes Begriffs, und das inverse Skalieren der Gebote gewährleistet, dass die Kosten eines Rangs unverändert bleiben.
  • [0044]
    Es ist auch möglich, dass jeder Rang jedes Begriffs eine unterschiedliche Umwandlungsrate aufweist. Statt einer einzige Umwandlungsrate R spezifiziert die werbende Person eine Umwandlungsrate R(Ti, j) für jeden Begriff Ti in {T1, T2, . . ., Tk} an jedem Rang j. Rmax sei die höchste Umwandlungsrate für den Begriff Tj am Rang 1. Ähnlich wie im vorherigen Fall können wir alle Begriffe normieren, so dass sie dieselben Umwandlungsrate Rmax aufweisen, indem
    • 1. Die Anzahl der Klicks jedes Begriffs Ti in {T1, T2,. . ., Tk} an jedem Rang j mit dem Faktor R(Ti, j)/Rmax skaliert wird, und
    • 2. das Gebot jedes Begriffs Ti in {T1, T2, . . ., Tk} an jedem Rang j mit dem Faktor Rmax/R (Ti, j) skaliert wird.
  • Optimale Flugverwaltung
  • [0045]
    In der ersten Ausführungsform der automatischen Flugverwaltung nimmt das System als Eingabe von einer werbenden Person folgendes an: 1) einen Satz von Auflistungen für den Flug mit den Begriffen {T1, T2,. . ., Tk}, 2) das Budget B, 3) die maximalen CPC C, und 4) die Umwandlungsrate R und den mittleren Profit/Aktion P.
  • [0046]
    Diese Ausführungsform ist optimal, da sie alle möglichen Kombinationen von Geboten für die Begriffe {T1, T2, . . ., Tk} untersucht und die Kombination auswählt, die zum höchsten Profit für die werbende Person führt, ohne dass das Budget oder die maximalen mittleren CPC überschritten werden.
  • [0047]
    Für j eden Begriff Ti in { T1, T2, . . ., Tk } kann die werbende Person auf dem Rang 1 sein, indem sie ein Gebot abgibt, das um $0,01 über dem existierenden Gebot der werbenden Person auf dem Rang 1 liegt. In diesem Beispiel haben wir angenommen, dass der Operator des Markts ein minimales Gebotsinkrement von $0,01 gewählt hat, wobei dieses aber beliebig sein kann. Man nehme an, dass die aktuelle Auflistung am Rang 2 ein Gebot von $0,87 aufweist. Die werbende Person kann auf Rang 2 sein mit einem Gebot von $0,88, es sei den es gibt eine existierende Auflistung mit einem Gebot von $0,88, wobei sich in diesem Fall die werbende Person nicht auf Rang 2 befinden kann! Dieses Verfahren wird wiederholt, indem die existierende Auflistung am Rang 3, 4, . . . etc. untersucht wird, bis alle Ränge untersucht wurden. Dieses Verfahren wird für jede Auflistung in {T1, T2, . . ., Tk} wiederholt.
  • [0048]
    Da wir alle Kombinationen der Gebote für die Begriffe in {T1, T2, . . ., Tk} betrachten, kann man annehmen, dass in der aktuellen Kombination jeder Begriff Ti ein Gebot bi und eine erwartete Zahl von Klicks ci , besitzt. Der Gesamtzahl der Klicks für die aktuelle Kombination ist ct = c1 + c2 + . . .+ ck, die gesamten Ausgaben für die aktuellen Kombination sind et = (b1 × c1 + b2 × c2 + . . . + bk × ck), und das mittlere Gebot für die aktuelle Kombination ist ba = et/ct = (b1 × c1 + b2 × c2 + . . . + bk × ck)/(c1 + c2 + . . . + ck)
  • [0049]
    Die aktuelle Kombination wird verworfen wenn:
    • 1. die gesamten Kosten größer als das Budget sind (et > B), oder
    • 2. die mittleren CPC größer als das Maximum sind (ba > C).
  • [0050]
    Ansonsten führt das System eine Prüfung aus, um zu sehen, ob die aktuelle Kombination die bisher beste ist. Wenn die aktuelle Kombination die bisher beste ist, so wird die neueste beste Kombination als aktuelle Kombination festgelegt.
  • [0051]
    Wenn die werbende Person nur maximale mittlere CPC C spezifiziert, dann ist die aktuelle Kombination die Beste, wenn die Gesamtzahl der Klicks ct größer als die Gesamtzahl der Klicks der vorherigen besten Kombination ist.
  • [0052]
    Wenn die werbende Person die Umwandlungsrate R und den mittleren Profit/Aktion P spezifiziert, dann ist die aktuelle Kombination die beste, wenn der aktuelle Gesamtprofit ct(P × R - ba) größer als der Gesamtprofit der vorherigen besten Kombination ist.
  • [0053]
    Nach dem Berechnen des gesamten Profits der werbenden Person für das Bieten an allen möglichen Ränge für die Begriffe {T1, T2, . . ., Tk}, gibt das System die optimale Kombination, die zum höchsten Profit für die werbende Person führt, zurück.
  • [0054]
    Das folgende Beispiel zeigt die Funktion der optimalen Flugverwaltung. Es wird der Fall betrachtet, bei dem es zwei Begriffe {T1, T2} gibt, wobei jeder Begriff die folgenden Rang/Klick/Gebot-Kombinationen, die für eine neue werbende Person verfügbar sind, aufweist (wir haben das Beispiel vereinfacht, indem beide Begriffe identisch sind):


  • [0055]
    Die optimale Flugverwaltung berücksichtigt 100 Kombinationen, wobei jede Kombinationen einen der zehn Ränge/Gebote für jeden Begriff ergreift. Die optimalen Kombinationen für verschiedene Budgets sind nachfolgend gezeigt:


  • [0056]
    Beispielsweise ist bei einem Budget B von $ 1250 der optimale Flug, der den Profit der werbenden Person maximiert, an Rang 10 für T1 (mit einem Gebot von $ 0,44) und er ist an Rang 2 für T2 (mit einem Gebot von $ 0,71). Die gesamten Kosten für diesen Flug betragen ungefähr $ 1209,98, und die gesamte Zahl der erwarteten Klicks beträgt 1870. Aus diesem folgt, dass das mittlere Gebot 1209,98/1870 = 0,6470481 beträgt.
  • [0057]
    Unglücklicherweise weist dieser Algorithmus exponentielle Kosten auf. Man nehme an, dass die k Begriffe in {T1, T2, . . ., Tk} jeweils ungefähr r Ränge aufweisen. Der Algorithmus muss alle Kombinationen der Ränge zu den Geboten berücksichtigen. Es gibt r + 1 Möglichkeiten für jeden Begriff (um kein Gebot auf diesen Begriff abzugeben, oder um ein Gebot für Rang 1, oder ein Gebot für Rang 2, . . ., oder ein Gebot für Rang r abzugeben). Da die Wähl für jeden Begriff unabhängig ist, so gibt es (r + 1)k zu betrachtende Möglichkeiten. Somit ist der Algorithmus für große Probleme nicht praktikabel.
  • Periodische Neuausführung
  • [0058]
    Am Start des Fluges berechnet das System die ideale Kombination aus Geboten für die Begriffe in {T1, T2, . . ., Tk}, wie das oben beschrieben wurde. Durch die Dynamik des Marktes können sich die Gebote und die Anzahl der Klicks für die verschiedenen Ränge während eines Fluges ändern.
  • [0059]
    Das System berechnet periodisch die optimalen Gebote neu, um zu gewährleisten, dass der Flug der werbenden Person programmgemäß verläuft, um das Budget gleichmäßig auszugeben, und um zu gewährleisten, dass der Profit der werbenden Person weiter maximiert wird.
  • [0060]
    Der Operator des Marktes oder die werbende Person können die besten Zeiten für eine erneute Planung des Fluges für eine werbende Person auswählen. Das kann jede Stunde, jeder Tag sein oder es kann sein, wenn ein Ereignis auftritt, das die Gebote oder die Anzahl der Klicks ändern könnte (beispielsweise erhöht der Operator des Marktes die Anzahl von suchenden Personen signifikant, indem er einen neuen Hochgeschwindigkeitszugang hinzufügt).
  • [0061]
    Bevor der Algorithmus erneut ausgeführt wird, wird die Information über den Flug aktualisiert, um den verbleibenden Flug wiederzuspiegeln:
    • 1. Das Budget wird durch das verbleibende Budget ersetzt
    • 2. Die Flugdauer I wird durch die verbleibende Flugdauer ersetzt
    • 3. Die Umwandlungsrate jedes Begriffs {T1, T2, . . ., Tk} an jedem Rang wird durch die tatsächlichen Umwandlungsraten, die durch die werbende Person vom Start des Fluges an beobachtet wurde, wenn genügend Daten angesammelt wurden, dass diese statistisch relevant sind, ersetzt.
    • 4. Die Anzahl der Klicks/Zeit für jeden Begriff {T1, T2, . . ., Tk} wird durch die tatsächliche Anzahl der Klicks/Zeit vom Start des Fluges ersetzt, wenn genügend Daten angesammelt wurden, dass sie statistisch relevant sind.
    • 5. Das Gebot für jeden Begriff an jedem Rang wird mit der letzten Information des Marktes aktualisiert. Wenn beispielsweise das oberste Gebot für den Begriff "Auto" $ 1,34 beträgt, so ist es möglich für den Begriff "Auto" am Rang 1 mit einem Gebot von $1,35 zu sein.
  • [0062]
    Es ist möglich, dass am Start des Fluges das Budget $30.000 für 30 Tage beträgt, und dass nach einem Tag das Budget $28500 für 29 Tage beträgt. In diesem Fall waren die anfänglichen Kostenschätzungen zu niedrig (es wurde die Anzahl der Klicks unterschätzt oder einige im Wettbewerb stehenden werbenden Personen sind herausgefallen, was somit den Rang erhöht). Der Algorithmus wird mit der letzten Information erneut ausgeführt, um die besten Entscheidungen für die Zukunft zu treffen.
  • Preisschutz
  • [0063]
    Der Preisschutz stellt eine Variation der ersten Ausführungsform dar, wobei das System ein preisgeschütztes Gebot für jeden ausgewählten Rang jedes Begriffs in {T1, T2, . . ., Tk} statt einem festen CIP Gebot festsetzt. Dies stellt eine Verbesserung gegenüber der ersten Variation dar, da es eine andere Gelegenheit liefert, den Profit der werbenden Person in Erwiderung auf eine Änderung der Gebote im Markt zwischen der periodischen Neuausführung der Flugverwaltung zu optimieren.
  • [0064]
    Man nehme an, dass die optimale Kombination der Gebote für die Begriffe {T1, T2, . . ., Tk} der neuesten Ausführung der automatischen Flugverwaltung {b1, b2, . . ., bk} ist. Statt dem Festlegen eines festen Gebots bi für den Begriff Ti setzt das System ein preisgeschütztes Gebot (PP-Gebot) fest.
  • [0065]
    Ein PP-Gebot zeigt an, dass die werbende Person bis zum maximalen bi für den Begriff Ti zahlen will, und dass sie wünscht, dass das System ihn an den besten Rang, der mit diesem Gebot möglich ist, platziert, wobei es aber das Gebot reduziert, wenn dies möglich ist, während seine Position am besten möglichen Rang gehalten wird. Es kann möglich sein, die CPC zu reduzieren, wenn beispielsweise eine werbende Person, die sich ein Rang unterhalb befindet, sein Gebot reduziert oder ausscheidet. Der PP kann die CPC der werbenden Personen fortlaufend, das heißt jedes Mal, wenn sich ein Gebot ändert, einstellen.
  • [0066]
    Dadurch dass das System kontinuierlich die Gebote so einstellt, dass sie sich am besten Rang bei den geringst möglichen Kosten für die werbende Person befindet, wird gewährleistet, das der Profit der werbenden Person fortlaufend maximiert wird. Das System kann die Gebote direkt nach Änderungen in anderen Geboten im Marktplatz einstellen, ohne dass die rechenmäßig teurere Aufgabe einer erneuten Ausführung der automatischen Flugverwaltung notwendig ist.
  • Geführte Flugverwaltung
  • [0067]
    Die geführte Flugverwaltung ist eine rechenmäßig effiziente Variation der optimalen Flugverwaltung, bei der das System heuristische Verfahren verwendet, um dicht an den optimalen Flug heran zu kommen. Während die geführte Flugverwaltung für einige Fälle optimal sein kann, kann dies nicht allgemein garantiert werden.
  • [0068]
    Für die meisten Probleme vernünftiger Größe sind die Kosten der optimalen Flugverwaltung untragbar. Somit ist die geführte Flugverwaltung eine Verbesserung, die dicht am Optimalen liegende Ergebnisse bei handhabbaren Kosten erzeugt.
  • [0069]
    Wie früher beschrieben wurde, maximiert das Erzeugen der höchsten Anzahl der Klicks für das Budget den gesamten Profit einer werbenden Person. Dies ist äquivalent zum Haben des geringsten mittleren Gebots für alle Begriffe, auf die geboten wird, während das gesamte Flugbudget ausgegeben wird.
  • [0070]
    Die heuristischen Verfahren, die bei der geführten Flugverwaltung verwendet werden, dienen dazu, Kombinationen, die zum geringsten Anstieg beim mittleren Gebot führen, zu erforschen. Während die optimale Flugverwaltung das Bieten bei allen möglichen Kombinationen der Ränge für die Begriffe in {T1, T2, . . ., Tk} untersucht, untersucht die geführte Flugverwaltung nur eine kleine Untergruppe dieser.
  • [0071]
    Die bevorzugte Ausführungsform für die geführte Flugverwaltung verwendet eine Gradientenmethode, um die Effizienz zu erhöhen. Es gibt viele Variationen solcher "gierigen" Algorithmen, die für Fachleute offensichtlich sind.
  • [0072]
    Das System beginnt, indem es die Kombination der Ränge für die Begriffe in {T1, T2, . . ., Tk}, die sich aus dem Vornehmen der geringst möglichen Gebote ergeben, berücksichtigt. Der Operator des Marktes kann das minimale Gebot wählen, beispielsweise kann es $ 0,05 für jeden Begriff betragen. Die "aktuelle Kombination" und die "beste Kombination" werden dieser anfänglichen Kombination zugewiesen.
  • [0073]
    Das System durchläuft als nächstes eine Anzahl von Iterationen, und bei jeder Iteration erforscht es alle einschrittigen Erweiterungen der "aktuellen Kombination". Jede einschrittige Erweiterung verbessert den Rang einer der Begriffe in der "aktuellen Kombination" auf den nächst besseren Rang, der durch das Erhöhen des Gebots um das Minimum erhältlich ist, um diesen nächst besseren Rang zu erreichen. Wenn beispielsweise der Begriff T1 der "aktuellen Kombination" ein Gebot von $0,05 aufweist und sich auf Rang 40 befindet, und es eine andere werbende Person mit einem Gebot von $0,07, die sich auf Rang 39 befindet, gibt, so ist der für Ti nächst bessere mögliche Rang der Rang 39 mit einem minimalen Gebot von $0,08. So stellt eine der betrachteten Erweiterungen das Verbessern des Rangs von Ti von 40 auf 39 durch das Erhöhen des Gebots von $0,05 auf $0,08 dar. Alle einschrittigen Erweiterungen für die anderen Begriffe in {T1, T2, . . ., Tk} werden in ähnlicher Weise erforscht.
  • [0074]
    Die Erweiterung, die zum geringsten mittleren Gebot führt, stellt den neuen Wert der "aktuellen Kombination" dar.
  • [0075]
    Wenn ein neuer Wert der "aktuellen Kombination" gefunden wird, so prüft das System, ob es seine "beste Kombination" so aktualisieren soll, dass sie die "aktuelle Kombination" ist. Zusätzlich prüft das System, ob es enden soll und die "beste Kombination" zurückgeben soll, oder ob es das Iterationsverfahren fortsetzen soll, um die nächste "aktuelle Kombination" zu finden.
  • [0076]
    Wenn die werbende Person nur maximale mittlere CPC C spezifiziert, dann ist die "aktuelle Kombination" die Beste, wenn die Gesamtzahl der Klicks ct größer als die Gesamtzahl der Klicks der vorherigen "besten Kombination" ist.
  • [0077]
    Wenn die werbende Person die Umwandlungsrate R und den mittleren Profit/Aktion P spezifiziert, dann ist die aktuelle Kombination die Beste, wenn der aktuelle Gesamtprofit ct(P × R - ba) größer als der Gesamtprofit der aktuellen "besten Kombination" ist.
  • [0078]
    Wenn die "aktuelle Kombination" besser als die vorherige "beste Kombination" ist, so ersetzt der Algorithmus die "beste Kombination" durch die "aktuelle Kombination".
  • [0079]
    Der Algorithmus endet und gibt die aktuelle "beste Kombination" zurück, wenn einer der folgenden Punkte wahr ist:
    • 1. Die gesamten Kosten sind größer als das Budget (et > B),
    • 2. das mittlere Gebot ist größer als das Maximum (ba > C), oder
    • 3. es gibt keine Einschritt-Erweiterungen für die "aktuelle Kombination". Dies ist wahr, wenn jeder Begriff in {T1, T2, . . ., Tk} auf Rang 1 geboten wird.
  • [0080]
    Ansonsten geht der Algorithmus mit der nächsten Iteration weiter, um den nächsten Wert für die "aktuelle Kombination" zu finden.
  • [0081]
    Das folgende Beispiel zeigt den Betrieb der geführten Flugverwaltung. Es werden dieselben Daten für die Begriffe {T1, T2}, wie sie vorher für die optimale Flugverwaltung dargestellt wurden, verwendet. Die Antworten, die von der geführten Flugverwaltung für die verschiedenen Budgets zurückgegeben wurden, werden nachfolgend angegeben:


  • [0082]
    Beispielsweise findet bei einem Budget B von $2100 die geführte Flugverwaltung die Lösung: sich am Rang 1 mit T1 befinden (mit einem Gebot von $0,72) und sich am Rang 3 mit T3 befinden (mit einem Gebot von $0,70). Die gesamten erwarteten Kosten für diesen Flug betragen $1964,14 und die gesamten erwarteten Klicks betragen 2755. Aus diesem folgt, dass das mittlere Gebot 1964,14/2755 = 0,7129365 beträgt.
  • [0083]
    Für dieses selbe Beispiel wird die optimale Flugverwaltung die folgende Lösung finden: sich am Rang 2 mit T1 und T2 befinden (mit einem Gebot von $0,71 für jeden). Die erwarteten gesamten Kosten betragen $2036,28, und die erwarteten gesamten Klicks betragen 2868. Das mittlere Gebot beträgt $0,71. Man beachte, dass die optimale Flugverwaltung ein geringeres mittleres Gebot ($0,71 gegenüber $0,7129365) aufweist, was zu mehr Klicks (2868 gegenüber 2755) mit aber leicht höheren erwarteten Kosten ($2036,28 gegenüber 1964, 14) führt.
  • [0084]
    Die geführte Erforschung ist ein Gradientenalgorithmus, der mit der Kombination mit dem geringsten Gebot startet, und der sich dann einen Schritt von der aktuellen Kombination zur benachbarten Kombination, die den besten Wert aufweist, bewegt.
  • [0085]
    Die Gradientenexploration ist sehr viel effizienter als das Prüfen jeder Kombination, da sie eine polynomiale Komplexität aufweist. Man nehme an, dass die k Begriffe in {T1, T2,. . ., Tk} jeweils ungefähr r Ränge aufweisen. Bei jeder Iteration wird der Algorithmus k einschrittige Erweiterungen der aktuellen Kombination untersuchen (und eine herausnehmen, die das geringste mittlere Gebot aufweist, als die neue "aktuelle Kombination") und er wird k × r Iterationen durchführen (wobei sie vom schlechtesten Rang für alle Begriffe in {T1, T2, . . ., Tk} bis zum besten geht). Dies führt zu gesamten Zeitkosten von k2 × r.
  • [0086]
    Die geführte Erforschung kann für einige Eingaben nicht optimal sein, da sie ein Bieten bei allen Kombinationen für die Begriffe {T1, T2, . . ., Tk} nicht berücksichtigt. Somit kann sie nicht garantieren, die Kombination der Gebote herauszufinden, die den Profit der werbenden Person für diesen Flug maximieren. Das heuristische Verfahren für die Suche nach den Kombinationen mit den geringsten Geboten führt zu Lösungen, die optimal sein können, und die häufig sehr dicht am Optimum liegen.
  • Optimierungen
  • [0087]
    In einer anderen Ausführungsform der Erfindung gibt es eine Anzahl von Optimierungen, die auf die geführte Flugverwaltung angewandt werden. Die optimierten Ausführungsformen haben den Vorteil einer reduzierten Rechenzeit und eines reduzierten Platzes.
  • [0088]
    Die Optimierungen ignorieren einige der Ränge der eingegebenen Begriffe {T1, T2, . . ., Tk}, bei denen es unter Berücksichtigung des Flugbudgets und anderer Einschränkungen der werbenden Person unwahrscheinlich ist, dass sie einen Teil der endgültigen Lösung darstellen. Dies hat den Vorteil, dass die Rechenzeit und der Rechenplatz wesentlich reduziert werden. Diese Optimierungen können sowohl auf die optimale Flugverwaltung als auch auf die geführte Flugverwaltung angewandt werden.
  • [0089]
    Die erste Optimierung ignoriert die Ränge der Begriffe {T1, T2, . . ., Tk} mit einer Anzahl von Klicks, die unter einem Schwellwert liegen. Das bedeutet, dass Ränge ignoriert werden, die nicht wesentlich dazu beitragen, suchende Personen auf die Website der werbenden Person zu senden.
  • [0090]
    Die zweite Optimierung berücksichtigt nur ein Band möglicher Ränge für jeden Begriff {T1, T2,. . ., Tk}. Beispielsweise kann die werbende Person spezifizieren, dass keine Ränge schlechter als Rang 3 bei irgend einem Begriff betrachtet werden sollen, oder sie kann spezifizieren, dass für den Begriff Ti nur die Ränge 3 bis 10 berücksichtigt werden sollen, während für alle anderen Begriffe nur die Ränge 2 bis 5 betrachtet werden sollen. Diese Einschränkungen ermöglichen es einer werbenden Person, ihre Geschäftsziele besser zu erreichen, beispielsweise ein Bild mit höherer Qualität und höherem Vertrauen zu projizieren, indem man sich auf den besten Rängen befindet, oder auf besseren Rängen als die Wettbewerber.
  • [0091]
    Die dritte Optimierung ist eine Variation, bei der das System automatisch das Band der möglichen Ränge, die bei jedem Begriff {T1, T2, . . ., Tk} betrachtet werden sollen, festlegt. Da die automatische Flugverwaltung periodisch während eines Fluges ausgeführt wird, werden die Ergebnisse des vorherigen Laufs verwendet, um das passende Band der Ränge, die für jeden Begriff {T1, T2, . . ., Tk} zu betrachten sind, auszuwählen.
  • [0092]
    Der vorherige Lauf der Flugverwaltung nimmt eine spezifische Gebot/Rang-Kombination für jeden Begriff {T1, T2, . . ., Tk}, von der angenommen wird, dass sie den Profit der werbenden Person maximiert, heraus. Der nächste Lauf der automatischen Flugverwaltung betrachtet nur ein Fenster von Rängen um den ausgewählten Rang des vorherigen Laufs. Dieses Fenster kann durch den Operator des Marktes ausgewählt werden, wobei beispielsweise ein Fenster von 5 Rängen zu jeder Seite des optimalen Rangs vom vorherigen Lauf der automatischen Flugverwaltung ausgewählt wird. Je größer das Fenster ist, desto besser sind die Ergebnisse, aber desto größer sind die Rechenzeit und die Kosten für den Operator des Marktes.
  • [0093]
    Für jeden Begriff Ti in {T1, T2, . . ., Tk} ignoriert die Optimierung alle Ränge rij von Ti wenn:
    • 1. Der Rang rij sich mehr als eine Konstante von α Rängen weg vom Rang von Ti mit dem vorherigen optimalen Gebot bi,o befindet, oder
    • 2. Das Gebot bij des Rangs rij sich nicht innerhalb eines Faktors β des vorherigen optimalen Gebots bi,o befindet, das heißt das Löschen des Rangs rij wenn Folgendes nicht wahr ist:

      (1 - β).bi,o ≤ bi,j ≤ (1 + β).bi,o. Hier 0 ≤ β ≤ 1.

  • [0094]
    Das erste Mal, wenn die automatisch Flugverwaltung ausgeführt wird, gibt es keine vorherigen optimalen Gebote bi,o für jeden Begriff Ti in {T1, T2, . . ., Tk}. Beim ersten Lauf können wir schätzen, dass die vorherigen optimalen Gebote bi,o gleich dem mittleren optimalen Gebot bo für alle Begriffe {T1, T2, . . ., Tk} sind. Das mittlere optimale Gebot wird so berechnet, dass wenn allen Begriffen {T1, T2, . . ., Tk} dieses Gebot zugewiesen wird, dies zu einer Ausgabe führen wird, die dicht am Budget B liegt. Wenn die automatische Flugverwaltung das erste Mal ausgeführt wird, so werden Ränge, die sich "weit" entfernt von dieser anfänglichen Schätzung befinden, nicht betrachtet.
  • [0095]
    Das folgende Beispiel zeigt das Verfahren des automatischen Beschneidens der Ränge. Es gibt drei Begriffe {Hotel, Reise, Ferien}. Man nehme an, dass das Budget B $525 beträgt. Dann ist das sich ergebende mittlere optimale Gebot bo $0,45, und durch ein Bieten auf alle Begriffe in dieser Höhe geben wir ungefähr das gesamte Budget aus.


  • [0096]
    Rang 16 von Hotel, Rang 3 von Reise und Rang 8 von Ferien weisen Gebote auf, die am dichtesten bei §0,45 liegen. Die festen Ränge sind die, die nach dem Beschneidungsverfahren verbleiben, wenn α = 5 (alle Ränge, die mehr als 5 Ränge weg vom gelben Rang sind, werden gelöscht), und β = 1 (alle Ränge mit Geboten größer als $0,90 werden gelöscht). Andere Ränge werden für andere Werte von α und β beschnitten.
  • KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • [0097]
    Fig. 1 ist ein Blockdiagramm, das die Beziehung zwischen einem großen Netzwerk und einer Ausführungsform des Systems und des Verfahrens für das Erzeugen eines Bezahlungs-für-Platzierungs-Suchergebnises der vorliegenden Erfindung darstellt;
  • [0098]
    Fig. 2 ist eine Anordnung von Menüs, Anzeigeschirmen und Eingabeschirmen, die in einer Ausführungsform der vorliegenden Erfindung verwendet werden;
  • [0099]
    Fig. 3 ist ein Flussdiagramm, das das Einloggverfahren für einen werbenden Nutzer, das in einer Ausführungsform der vorliegenden Erfindung ausgeführt wird, zeigt;
  • [0100]
    Fig. 4 ist ein Flussdiagramm, das das Einloggverfahren für einen Verwaltungsnutzer, das in einer Ausführungsform der vorliegenden Erfindung ausgeführt wird, zeigt;
  • [0101]
    Fig. 5 ist ein Diagramm von Daten für einen Kontendatensatz für die Verwendung mit einer Ausführungsform der vorliegenden Erfindung;
  • [0102]
    Fig. 6 ist ein Flussdiagramm, das ein Verfahren für das Hinzufügen von Geld zu einem Kontendatensatz, das in einer Ausführungsform der vorliegenden Erfindung verwendet wird, zeigt;
  • [0103]
    Fig. 7 zeigt ein Beispiel einer Suchergebnisliste, die von einer Ausführungsform der vorliegenden Erfindung erzeugt wird;
  • [0104]
    Fig. 8 ist ein Flussdiagramm, das ein Gebotsänderungsverfahren, das in einer Ausführungsform der vorliegenden Erfindung verwendet wird, zeigt;
  • [0105]
    Fig. 9 zeigt ein Beispiel einer Schirmanzeige, die beim Gebotsänderungsverfahren der Fig. 8 verwendet wird; und
  • [0106]
    Fig. 10 bis 32 sind Flussdiagramme, die den Betrieb eines System gemäß den vorliegenden Ausführungsformen zeigen.
  • DETAILLIERTE BESCHREIBUNG DER AKTUELL BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • [0107]
    Das Datenbanksuchsystem umfasst in dieser Ausführungsform eine Datenbank von Suchauflistungen. Jede Suchauflistung ist mit einer jeweiligen werbenden Person verbunden, und jede Suchauflistung umfasst einen Suchbegriff und variable Kosten pro Klick (CPC) oder einen variablen Anzeigerang. Das Datenbanksuchsystem in dieser Ausführungsform umfasst weiter eine Suchmaschine, die konfiguriert ist, um Suchauflistungen zu identifizieren, die zu einer Suchanfrage passen, die von einer suchenden Person empfangen wurde. Die passenden Suchauflistungen werden vorzugsweise in einer Suchergebnisliste gemäß dem Anzeigerang und dem Gebotsbetrag der passenden Suchauflistungen geordnet. Ein Agent antwortet auf eine Zustandsdefinition von einer werbenden Person, um eine Zustandsaktualisierungsinformation für die werbende Person zu liefern. Die Zustandsdefinition spezifiziert einen zu überwachenden Zustand. Die Zustandsaktualisierungsinformation spezifiziert, sofern sie vorhanden ist, die Umstände unter denen der Zustand aktualisiert wird.
  • [0108]
    Eine andere Ausführungsform ist als ein Verfahren für das Betreiben eines Datenbanksuchsystems implementiert. In dieser Ausführungsform umfasst das Verfahren das Speichern einer Vielzahl von Suchauflistungen in einer Datenbank. Jede Suchauflistung ist mit einer werbenden Person verbunden, die einen ökonomischen Wert gibt, wenn eine Suchauflistung mit einer suchenden Person in Bezug gebracht wird. Das Verfahren umfasst ferner das Bestimmen einer Anzeigeposition für die verbundenen Suchauflistungen. In einem Beispiel werden die verbundenen Suchauflistungen durch die gemeinsamen Daten, wie einen Suchbegriff oder die Nähe zu einem Suchbegriff verbunden. Die Anzeigeposition kann in jeder passenden Weise bestimmt werden, wobei diese Verfahren komplett deterministisch sein können oder auch Verfahren verwendet werden können, die komplett zufällig sind. Die Art der Positionsbestimmung kann auf der Eingabe der werbenden Person oder anderer Information basieren. In einer Ausführungsform werden jeder Suchauflistung Kosten pro Klick (CPC) zugewiesen, und die Anzeigeposition wird auf der Basis der CPC bestimmt, wobei die Auflistung mit den höchsten CPC für einen Suchbegriff am höchsten aufgelistet wird, wenn dieser Suchbegriff oder eine Variante davon empfangen wird. Das Verfahren umfasst weiter das Empfangen einer Anzeige der Suchauflistungen von einer werbenden Person, für die die werbende Person die automatische Flugverwaltung wünscht. Die Anzeige und die Zustandsberichte an die werbende Person können gemäß jedem geeigneten Kommunikationsverfahren in jedem verfügbaren passenden Kommunikationskanal gesendet werden.
  • [0109]
    Die Verfahren, die in den Fig. 10 bis 24 dargestellt sind, können in Software oder Hardware oder irgend einer Kombination dieser beiden, ausgeführt werden. In einer Ausführungsform werden die Verfahren als Softwareverfahren, die auf dem Verarbeitungssystem 34 des Kontoverwaltungsserver 22 (Fig. 1) laufen, initiiert. In anderen Ausführungsformen können die Verfahren auf einer getrennte Maschine mit einem Netzzugang zur Datenbank der Suchauflistungen laufen. Die Verfahren bilden zusammen die automatische Flugverwaltungsfunktion.
  • [0110]
    Die Verfahren, die in den Fig. 10 bis 24 gezeigt sind, implementieren ein automatisches Flugverwaltungssystem in einem Computerdatenbanksystem. Das Verfahren umfasst Vorgänge, wie das Empfangen von Befehlen für die automatische Flugverwaltung von einem Eigentümer, der mit einigen der Suchauflistungen, die im Computerdatenbanksystem gespeichert sind, verbunden ist, das Überwachen der Leistung des Flugs und das Vornehmen aller Einstellungen, die notwendig sind, um den gesamten Profit des Eigentümers/der werbenden Person zu optimieren, und das Senden einer Benachrichtigung an den Eigentümer periodisch und bei allen Änderungen, die den Status des Fluges betreffen.
  • [0111]
    In einer Ausführungsform ist das Computerdatenbanksystem ein Bezahlungs-für-Platzierungs-System, wie es hier beschrieben ist, und umfasst eine Datenbank mit Suchauflistungen und eine Suchmaschine. Die Suchauflistungen sind jeweils mit einer werbenden Person oder einem Eigentümer der Suchauflistung verbunden. Die Suchauflistungen enthalten jeweils Daten, wie einen Suchbegriff, einen Gebotsbetrag oder maximalen Kosten pro Durchklicken, die durch die werbende Person spezifiziert werden, Kosten pro Durchklicken (CPC) und einen Rang oder einen Anzeigerang. Die CPC und der Rang können automatisch in Abhängigkeit von Werten, die von der werbenden Person und anderen werbenden Personen, die mit den Suchauflistungen verbunden sind, die denselben Suchbegriff einschließen, spezifiziert werden. Beispielsweise kann das System automatisch die CPC einer Auflistung auf ein Minimum reduzieren, während es dennoch einen spezifizierten Rang hält. Die Suchmaschine passt die Suchbegriffe oder andere Teile der Suchauflistungen an eine Suchanfrage, die von einer suchenden Person empfangen wird, an. Die passenden Suchauflistungen werden gemäß den CPC und dem Anzeigerang geordnet und an die suchende Person zurückgegeben. Wenn eine Suchauflistung an die suchende Person gegeben wird, so ist ein ökonomischer Wert oder ein Betrag, der gleich den CPC ist, durch die werbende Person oder den Eigentümer zu zahlen, wobei dieser ein Konto für diesen Zweck unterhalten kann. Eine Bezugnahme einer Suchauflistung kann in diesem Fall ein Abdruck sein, wie beispielsweise ein Abdruck, der Information über die Suchauflistung enthält, in den Anzeigeergebnissen, ein Durchklicken durch die suchende Person oder eine Aktion der suchenden Person nach dem Durchklicken. Dies stellt nur eine beispielhafte Ausführungsform dar. Das Benachrichtigungsverfahren kann auf andere Typen von Datenbanksuchsystemen als auch bei der Verständigung der Eigentümer oder anderer Personen, die mit den Auflistungen in einer Datenbank verbunden sind, über einen geänderten Zustand in der Suchauflistung, angewandt werden.
  • [0112]
    Gemäß der vorliegenden Ausführungsform kann jede werbende Person eine neue automatische Flugverwaltungsfunktion schaffen, indem sie folgendes spezifiziert: 1) die Begriffe{T1, T2, . . ., Tk} auf die ein Gebot für den Flug abgegeben werden soll, 2) das Budget B für den Flug, 3) die Dauer I des Fluges, 4) die Umwandlungsrate R und 5) den mittleren Profit/Aktion P. Die Flugdauer kann sich über mehrere Tage erstrecken, und die werbende Person kann die Umwandlungsrate R und den mittleren Profit/Aktion P jederzeit aktualisieren.
  • [0113]
    Wie früher erwähnt wurde, gibt es zwei Hauptausführungsformen der automatischen Flugverwaltung: die optimale Flugverwaltung und die geführte Flugverwaltung mit Variationen, die weiter Verbesserungen der Effizienz ergeben. In jeder dieser Ausführungsformen berechnet das System die optimalen Gebote während des Fluges immer wieder, um auf die Dynamik des Marktes zu antworten.
  • Optimale Flugverwaltung
  • [0114]
    Das Verfahren der optimalen Flugverwaltung optimiert den gesamten Profit einer werbenden Person. Das Verfahren initialisiert die Parameter des Flugs und tritt dann in eine Schleife ein. Jede Iteration der Schleife berechnet die optimalen Gebote für die Ausdrücke {T1, T2, . . ., Tk}, die den Profit maximieren. Dies wird durch das Initialisieren der Flugparameter für jede Iteration und dam anschließenden Berechnen der optimalen Gebote erreicht. Die neu berechneten Gebote werden dann aktualisiert, indem die Gebote für die Begriffe im echten Markt festgelegt werden, und die optimalen Gebote werden mit einem Preisschutz festgesetzt, der den Profit der werbenden Person maximiert, indem die CPC der Begriffe reduziert werden, immer wenn dies möglich ist, ohne den Rang eines Begriffs negativ zu beeinflussen. Es ist möglich, dass es optimal ist, auf einen Begriff kein Gebot abzugeben, wobei ihm in diesem Fall ein Gebot von null zugewiesen wird. Ein Bericht der aktuellen Gebote wird an die werbende Person für eine Überprüfung gesandt. Die werbende Person kann jedes der Gebote unter Verwendung von DTC außer Kraft setzen, wenn sie dies wünscht.
  • [0115]
    Nach dem Festlegen der Gebote wartet das Verfahren während einer gewissen Zeitdauer oder einer zufälligen Zeit oder auf ein Ereignis (beispielsweise eine Erhöhung der Anzahl der suchenden Personen durch den Operator des Marktes). Beispielsweise könnte das System einen Tag warten. Am Ende dieser Wartezeit berechnet das System das verbleibende Budget im Flug und die verbleibende Flugdauer neu. Das Verfahren wiederholt sich selbst bei der nächsten Iteration, indem es die optimalen Gebote für den Rest des Fluges wieder neu berechnet. Die Iteration stoppt, wenn die Endezeit des Fluges erreicht wird.
  • [0116]
    Jeder Begriff weist eine Liste der möglichen Kombinationen Rang/Gebot auf. Das Datenfeld Ränge&Gebote zeichnet die möglichen Kombinationen Rang/Gebot für jeden Begriff auf. Der Wert von Ränge&Gebote (Ti) ist eine Liste von Tupel [<Rang- a,Gebot-a>, . . ., <Rang-n, Gebot-n>] für den Begriff Ti. Das Datenfeld Index definiert, welches Tupel für jeden Begriff zu verwenden ist. Der Wert von Index(Ti) ist das Tupel, das für den Begriff Ti zu verwenden ist. Wenn Index(Ti) = 0, so weist der Begriff Ti ein Gebot von null auf (er ist nicht ausgewählt). Wenn Index(Ti) = 1, dann wird das Gebot des ersten Tupel für Ti verwendet, wobei dies in ähnlicher Weise für die anderen Werte von Index(Ti) gilt.
  • [0117]
    Die Funktion "Rang on" nimmt als Eingabe die Liste der Tupel [<Rang-a,Gebot-a>, . . .,<Rang-n,Gebot-n>] und einen Index i. Sie gibt den Rang des i-ten Tupels zurück, wobei es sich dabei um Rang-i handelt. In ähnlicher Weise nimmt die Funktion "Gebotvon" als Eingabe die Liste der Tupel und einen Index i. sie gibt das Gebot des i-ten Tupels, das Gebot-i beträgt, zurück.
  • [0118]
    Eine Ausführungsform des Verfahrens der optimalen Flugverwaltung ist in Fig. 10 gezeigt. Das Verfahren beginnt bei Block 1000. Im Block 1002 wartet das Verfahren auf den Beginn des Werbeflugs. Im Block 1004 wird ein Verfahren "Initialisiere Flug" aufgerufen. Eine Ausführungsform des Verfahrens "Initialisiere Flug" wird nachfolgend in Verbindung mit Fig. 11 beschrieben.
  • [0119]
    Im Block 1006 beginnt eine Schleifenoperation. Diese Schleife setzt sich fort, bis das Ende des Flugs erreicht ist. Im Block 1008 werden Flugparameter initialisiert, indem ein Verfahren "Stelle Flugparameter ein" aufgerufen wird. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 12 beschrieben. Im Block 1010 wird ein Verfahren "Erzeuge optimalen Flug" aufgerufen. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 13 beschrieben.
  • [0120]
    Im Block 1012 beginnt eine Schleifenoperation für alle Suchbegriffe, die durch eine werbende Person spezifiziert werden. Im Block 1014 wird bestimmt, ob der Index des aktuellen Suchbegriffs gleich 0 ist. Wenn dem so ist, so wird im Block 1016 ein Variablenwert PP-BID für den aktuellen Suchbegriff gleich einem Wert 0 gesetzt. Im Block 1018 wird ein Variablenwert "Letzer-Rang" für den aktuellen Suchbegriff gleich der Anzahl der Ränge für den aktuellen Suchbegriff plus 1 gesetzt.
  • [0121]
    Wenn in Block 1014 der Index für den aktuellen Suchbegriff nicht gleich null ist, so wird in Block 1020 der Wert der Variablen PP-Gebot für den aktuellen Suchbegriff gleich dem Wert von Gebot von(Ränge&Gebote (T), Index (T)) gesetzt. Der Wert "Letzter-Rang" (T) wird gleich dem Wert von Rangvon(Ränge&Gebote (T), Index (T)) gesetzt. Die Schleifenoperation wird wiederholt, Block 1024, bis alle Suchbegriffe der werbenden Person verarbeitet wurden.
  • [0122]
    Im Block 1026 wird ein Bericht an die werbende Person gesandt. Der Bericht zeigt das aktuelle Gebot, das durch das Verfahren bestimmt wird. Im Block 1028 wird ein Flag "erste Ausführung" auf einen Wert "falsch" gesetzt. Im Block 1030 wird eine gewisse Zeitdauer gewartet, wobei es sich um eine zufällige Zeit handeln kann, oder diese von einem äußeren Ereignis abhängt. Im Block 1032 wird der Wert "Verbleibendes- Budget" gleich dem gesamten Budget B minus dem Budget, das vom Start des Fluges an ausgegeben wurde, gesetzt. Im Block 1034 wird der Wert "Verbleibender-Flug" gleich dem Zeitintervall von der aktuellen Zeit bis zum Ende des aktuellen Intervalls gesetzt. Im Block 1036 kehrt die Schleifenoperation zum Block 1006 zurück, wenn die Beendigungszeit für den Flug nicht erreicht wurde. Wenn das Flugende erreicht wurde, so endet das Verfahren am Block 1038.
  • [0123]
    Das Verfahren "Optimale Flugverwaltung" kann auch gemäß dem unten angegebenen Pseudokode verkörpert werden.


  • [0124]
    Das Verfahren "Initialisiere Flug" initialisiert die Parameter am Start der automatischen Flugverwaltung. Dies umfasst das Festlegen des verbleibenden Budgets, das Festlegen der neuen Dauer des Fluges, um von der aktuellen Zeit aus zu starten, die Aufzeichnung, dass dies das erste Mal ist, dass die Gebote für den Flug berechnet werden, und das Initialisieren der Zustandsvariablen, um aufzuzeichnen, dass jeder Begriff aktuell nicht ausgewählt ist (sein Wert "Letzer-Rang" ist null).
  • [0125]
    Fig. 11 zeigt ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Initialisiere Flug" zeigt. Das Verfahren beginnt am Block 1100. Am Block 1102 wird der Wert der Variable "Verbleibendes-Budget" gleich dem Wert der Variablen B gesetzt. Im Block 1104 wird der Wert der Variablen "Verbleibender-Flug" gleich dem Wert der Variablen I gesetzt. Im Block 1106 wird das Flag "Erste-Ausführung" auf den Wert "wahr" gesetzt.
  • [0126]
    Eine Schleife beginnt im Block 1108, wobei sie alle Suchbegriffe der werbenden Person, die durch die Variable T bezeichnet werden, bearbeitet. Im Block 1110 wird die Variable "Letzer-Rang(T)" auf den Wert null initialisiert. Im Block 1112 setzt sich die Schleifenoperation fort, wobei sie die Steuerung an Block 1108 zurückgibt. Das Verfahren "Initialisiere- Flug" endet am Block 1114.
  • [0127]
    Eine andere Ausführungsform des Verfahrens "Initialisiere- Flug" wird im nachfolgenden Pseudokode dargestellt.




  • [0128]
    Das Verfahren "Setze Flugparameter" setzt die Parameter beim Start jeder Ausführung der automatischen Flugverwaltung zurück. Wie vorher erwähnt wurde, werden die optimalen Gebote für die Begriffe periodisch während eines Fluges wieder neu berechnet. Vor jeder Berechnung werden der aktuellen Zustand des Marktes und jede Rückkopplung von der werbenden Person verwendet, um die Parameter zu aktualisieren, die verwendet werden, um die optimalen Gebotswerte zu berechnen.
  • [0129]
    Zu jeder Zeit kann die werbende Person die Umwandlungsrate jedes Begriffs an jedem Rang aktualisieren. Dies kann die letzte Information von der Website der werbenden Person berücksichtigen. Das System berechnet zuerst RmaX, die höchste Umwandlungsrate, R(Ti, j) jedes Begriffs Ti in {T1, T2, . . ., Tk} am Rang j. Es "normiert" als nächstes die Anzahl der Klicks und des Gebots für jeden Begriff an jedem Rang, so dass alle Begriffe an allen Rängen dieselbe Umwandlungsrate Rmax haben. Die Normierung umfasst das Multiplizieren der Anzahl der Klicks jedes Begriffs Ti an jedem Rang j durch den Faktor (R(Ti, j))/Rmax und das Multiplizieren des Gebots jedes Begriffs Ti an jedem Rang j mit dem Faktor Rmax/R (Ti, j).
  • [0130]
    Das Verfahren "Historisch-Klicks" verwendet historische Daten aus dem Markt, um die Anzahl der Klicks für einen vorgegebenen Begriff und Rang über einer Zeitdauer zu schätzen. Das Verfahren "Aktuelles-Gebot" gibt das aktuelle Gebot eines Begriffs an einem Rang zurück.
  • [0131]
    Fig. 12 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Setze Flugparameter" zeigt. Das Verfahren beginnt am Block 1200. Am Block 1202 wird die Variable Rmax, die der höchsten Umwandlungsrate entspricht, gleich der maximalen Umwandlungsrate für jeden Suchbegriff T an jedem Rang J gesetzt. Am Block 1204 wird die Variable L gleich der Länge des verbleibenden Fluges gesetzt.
  • [0132]
    Eine Schleifenoperation beginnt am Block 1206 und geht über alle Suchbegriffe T und alle Ränge J. Im Block 1208 wird die Umwandlungsrate für den aktuellen Begriff und Rang gleich der maximalen Umwandlungsrate Rmax gesetzt. Im Block 1210 werden die Variable Klicks für den aktuellen Suchbegriff und Rang gleich dem Verhältnis der Umwandlungsrate für den aktuellen Begriff und Rang zur maximalen Umwandlungsrate multipliziert mit der Gesamtzahl der Klicks für den aktuellen Suchbegriff, Rang und die aktuelle verbleibende Länge des Fluges gesetzt. Im Block 1212 wird das aktuelle Gebot für den Suchbegriff T am Rang J gleich dem Verhältnis der maximalen Umwandlungsrate zur aktuellen Umwandlungsrate für den Suchbegriff T am Rang J multipliziert mit dem aktuellen Gebot für den Suchbegriff T am aktuellen Rang J gesetzt. Im Block 1214 gibt die Schleifenoperation die Steuerung an Block 1206 zurück, bis alle Suchbegriffe an jedem Rang verarbeitet wurden. Das Verfahren "Setze Flugparameter" endet am Block 1216.
  • [0133]
    Eine zweite Ausführungsform des Programms "Setze Flugparameter" wird in nachfolgendem Pseudokode dargestellt.




  • [0134]
    Das Verfahren "Erzeuge optimalen Flug" berechnet die optimalen Gebote für die Begriffe {T1, T2, . . ., Tk}, um den Gesamtprofit der werbenden Person zu maximieren. Das Verfahren initialisiert zuerst die Berechnungsparameter - diese halten Spur mit den besten Geboten, die bisher gefunden wurden, und den möglichen Rängen, auf die die werbende Person ein Gebot für jeden Begriff abgeben kann und die minimalen Gebote für diese Ränge.
  • [0135]
    Der Hauptteil dieses Verfahrens ist eine Schleife. Jeder Zyklus der Schleife untersucht eine neue Kombination von Geboten für die Begriffe. Wenn die aktuelle Kombination die bisher beste ist, so wird sie als die neueste beste Kombination aufgezeichnet. Wenn alle Kombinationen untersucht wurden, endet das Verfahren und gibt die beste gefundene Kombination zurück.
  • [0136]
    Jeder Zyklus der Schleife untersucht zuerst die aktuelle Kombination der Gebote für jeden Betriff {T1, T2, . . ., Tk}. Er berechnet die Gesamtzahl der Klicks, das mittlere Gebot, die Gesamtkosten und den Gesamtprofit der werbenden Person für die aktuelle Kombination. Die aktuelle Kombination wird ignoriert, wenn das mittlere Gebot größer als die maximalen mittleren CPC, die von der werbenden Person spezifiziert wurden (C) sind, oder wenn die Gesamtkosten größer als das verbleibende Budget sind. Ansonsten wird die aktuelle Kombination mit der vorherigen besten Kombination verglichen. Wenn die aktuelle Kombination besser ist, so ersetzt sie die vorherige beste Kombination durch die aktuelle Kombination. Der letzte Schritt der Schleife nimmt eine neue Kombination von Geboten für die Begriffe {T1, T2, . . ., Tk}. Das Verfahren endet und gibt die beste Kombination der Gebote zurück, wenn es die Untersuchung aller Kombinationen beendet hat.
  • [0137]
    Fig. 13 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Erzeuge optimalen Flug" zeigt. Das Verfahren beginnt am Block 1300. Im Block 1302 wird ein Verfahren "Initialisiere Berechnungsparameter" aufgerufen. Eine Ausführungsform des Verfahrens wird nachfolgend in Verbindung mit Fig. 15 beschrieben.
  • [0138]
    Im Block 1304 wird in eine Schleifenoperation eingetreten. Im Block 1306 werden die Werte der Variablen Klicks/Gebot/Kosten/Profit gleich den sich ergebenen Werten, die durch ein Verfahren "Aktuelle Kombination" zurückgegeben werden, gesetzt. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 17 beschrieben. Im Block 1308 wird ein Vergleich vorgenommen, um zu bestimmen, ob das aktuelle Gebot kleiner als oder gleich den maximalen Kosten pro Klick, die durch die werbende Person spezifiziert wurden, ist, und ob die Kosten des Flugs kleiner als oder gleich dem verbleibenden Budget sind. Wenn dem nicht so ist, so geht die Steuerung weiter zum Block 1318. Ansonsten wird im Block 1310 ein Vergleich vorgenommen, um zu bestimmen, ob die aktuelle Kombination besser als die vorherige beste Kombination ist. Ein Verfahren "Besser" wird aufgerufen, um diese Operation auszuführen. Eine Ausführungsform des Verfahrens "Besser" wird nachfolgend in Verbindung mit Fig. 14 beschrieben. Wenn ein Vergleich des Blocks 1310 kein wahres Ergebnis erzeugt, so geht die Steuerung zum Block 1318 weiter. Ansonsten wird im Block 1312 der Wert der Variablen "Bester-Index" gleich dem Index der aktuellen Kombination gesetzt. In ähnlicher Weise wird im Block 1314 der Wert der Variablen "Beste- Klicks" gleich dem Wert der Variablen "Klicks" für die aktuelle Kombination gesetzt, und im Block 1316 wird der Wert der Variablen "Bester-Profit" gleich dem Wert der Variablen "Profit" für die aktuelle Kombination gesetzt.
  • [0139]
    Im Block 1318 wird bestimmt, ob alle Kombinationen untersucht wurden. Wenn dem nicht so ist, so wird der Wert der Variablen "Index" im Block 1324 inkrementiert, und im Block 1326 kehrt die Schleifenoperation zum Block 1304 zurück, um eine andere Kombination zu verarbeiten. Wenn im Block 1318 alle Kombinationen betrachtet wurden, so wird im Block 1320 der Index der besten Kombination der Begriffe und Gebote durch das Verfahren zurückgegeben. Das Verfahren endet am Block 1322.
  • [0140]
    Eine zweite Ausführungsform des Verfahrens "Erzeuge optimalen Flug" wird durch nachfolgenden Pseudokode gezeigt.


  • [0141]
    Das Verfahren "Besser" prüft, ob die aktuelle Kombination besser als die beste Kombination, die man in der Vergangenheit gesehen hat, ist. Die werbende Person kann den mittleren Profit/Aktion P für suchende Personen, die zur Website der werbenden Person verwiesen werden, spezifizieren.
  • [0142]
    Wenn die werbende Person den mittleren Profit/Aktion (den Wert von P minus 1) nicht spezifiziert hat, dann ist die aktuelle Kombination besser, wenn sie mehr Klicks aufweist. Ansonsten ist die aktuelle Kombination besser, wenn sie zu einem höheren gesamten Profit für die werbende Person führt.
  • [0143]
    Eine Ausführungsform des Verfahrens "Besser" ist im Flussdiagramm der Fig. 14 gezeigt. Das Verfahren beginnt am Block 1400. Im Block 1402 wird der Wert der Variablen P, die dem mittleren Profit pro Aktion entspricht, mit dem Wert -1 verglichen. Wenn P gleich -1 ist, so wird im Block 1404 bestimmt, ob der Wert der Variablen Klicks größer als der Wert der Variablen Beste-Klicks ist. Wenn dem nicht so ist, so gibt im Block 1406 das Verfahren den logischen Wert "falsch" zurück. Wenn die Variable Klicks größer als die Variable Beste-Klicks ist, so gibt das Verfahren in Block 1408 den logischen Wert "wahr" zurück. Wenn im Block 1402 P nicht gleich -1 ist, so wird im Block 1410 bestimmt, ob der Wert der Variablen Profit größer als der Wert der Variablen Bester-Profit ist. Wenn dem nicht so ist, so gibt das Verfahren im Block 1412 den logischen Wert "falsch" zurück. Wenn im Block 1410 die Variable Profit größer als die Variable Bester-Profit ist, so gibt das Verfahren in Block 1408 den logischen Wert "wahr" zurück. Das Verfahren endet am Block 1414.
  • [0144]
    Eine alternative Ausführungsform des Verfahrens "Besser" ist im nachfolgenden Pseudokode gezeigt.




  • [0145]
    Das Verfahren "Initialisiere Berechnungen" setzt die Parameter am Start der Berechnung der optimalen Gebote zurück. Zuerst zeichnet es auf, dass bisher keine beste Kombination der Gebote (Bester-Index) gefunden wurde, und dass keine Klicks und kein Profit für irgend eine Kombination aufgezeichnet wurden. Der zweite Schritt besteht darin, die möglichen Ränge und die minimalen Gebote für diese möglichen Ränge für jeden Begriff {T1, T2, . . ., Tk} zu berechnen. Es zeichnet auch die Anzahl der möglichen Ränge, auf die die werbende Person ein Gebot abgeben kann (#Ränge) auf. Der letzte Schritt stellt die aktuelle Kombination so ein, das sie ein Nullgebot für jeden Begriff aufweist (Index (Ti) wird für jeden Begriff auf null gesetzt).
  • [0146]
    Fig. 15 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens "Initialisiere Berechnungsparameter" zeigt. Das Verfahren beginnt am Block 1500. Im Block 1502 wird die Variable Bester-Index auf einen leeren Wert gesetzt. Im Block 1504 wird die Variable Beste-Klicks auf 0 initialisiert. Im Block 1506 wird die Variable Bester-Profit auch auf 0 initialisiert. Eine Schleifenoperation beginnt am Block 1508. Im Block 1510 wird die Variable Ränge&Gebote für den aktuellen Suchbegriff gleich dem Wert gesetzt, der durch ein Verfahren "Mögliche-Ränge&Gebote" zurückgegeben wird. Eine Ausführungsform des Verfahrens "Mögliche-Ränge&Gebote" wird nachfolgend in Verbindung mit Fig. 16 gezeigt. Im Block 1512 wird die Variable #Ränge für den aktuellen Suchbegriff gleich der Länge des Datenfeldes Ränge&Gebote für den aktuellen Suchbegriff gesetzt. Im Block 1514 werden die Inhalte des Indexfeldes für diesen aktuellen Suchbegriff auf 0 initialisiert. Im Block 1516 endet die Schleifenoperation, und die Steuerung wird an Block 1508 zurückgegeben, bis alle Suchbegriffe verarbeitet wurden. Das Verfahren endet am Block 1518.
  • [0147]
    Eine andere Ausführungsform des Verfahrens "Initialisierte Berechnungsparameter" ist in nachfolgendem Pseudokode gezeigt.


  • [0148]
    Das Verfahren "Mögliche Ränge & Gebote" berechnet die möglichen Ränge, die eine neue werbende Person in Bezug auf einen Begriff (Ti) einnehmen kann, und die minimalen Gebote für diese Ränge. Der Begriff Ti weist einige existierende Gebote im Markt für den Rang 1 bis zu einigen maximalen Anzahl von Rängen r auf. Es ist immer möglich, sich am Rang r + 1 zu befinden, indem das minimale Gebot gewählt wird. Es ist auch möglich am Rang 1 zu sein, indem das aktuelle Gebot für den Rang 1 plus $0,01 gewählt wird. Es kann möglich sein oder auch nicht, sich an anderen Rängen zwischen Rang 1 und Rang r zu befinden. Wenn beispielsweise die aktuellen Auflistungen am Rang 3 und Rang 4 ein Gebot von $0,35 aufweisen, so ist es für eine neue werbende Person nicht möglich, sich am Rang 4 zu befinden. Die neue werbende Person kann nur am Rang 3 oder am Rang 5 sein, da alle Auflistungen mit demselben Gebot chronologisch geordnet werden. Für irgend welche zwei Auflistungen mit demselben Gebot wird die eine mit der früheren Zeit, zu der das Gebot abgegeben wird, auf einen besseren Rang gesetzt.
  • [0149]
    Das Verfahren beginnt, indem es die existierenden Gebote für jeden Rang findet. Diese existierenden Gebote werden dann vom minimalen Gebot (für den schlechtesten Rang) bis zum maximalen Gebot (für Rang 1) sortiert. Die Variable "Schlechtester- Rang" zeichnet die Nummer des schlechtesten Rangs auf. Das Verfahren initialisiert als nächstes die Schleifenvariablen "Aktueller-Rang", "Aktuelles-Gebot" und "Ans" (die Antwort).
  • [0150]
    Das Verfahren führt Schleifen durch jedes existierende Gebot, beginnend vom zweit niedrigsten Gebot (Rest(Gebote)) zum höchsten Gebot, durch. Bei jeder Iteration der Schleife prüft das System, ob das Gebot für einen Rang dasselbe wie das Gebot für den nächst schlechteren Rang ist. Wenn dem nicht so ist, so besteht "Raum", um die neue werbende Person am nächst schlechtesten Rang mit einem Gebot, das einen Cent über den aktuellen Gebot für den nächst schlechtesten Rang liegt, hinzu zu fügen. Am Ende jeder Iteration stellt das Verfahren den aktuellen Rang so ein, dass er ein Rang besser als der aktuellen Rang ist, und weist "Gebot" dem Gebot des aktuellen Rangs zu.
  • [0151]
    Das Verfahren gibt die Liste der möglichen Ränge und des minimalen Gebots, damit man diesen Rang erreicht, zurück. Jedes Element der Liste ist ein Tupel <Rang,Gebot>. Diese Liste der Tupels wird vom geringsten Gebot zum höchsten Gebot sortiert.
  • [0152]
    Fig. 16 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens "Mögliche Ränge&Gebote" zeigt. Das Verfahren beginnt am Block 1600. Am Block 1602 wird der Wert der Variablen Gebote gleich dem Satz der Gebote für den aktuellen Suchbegriff T bei allen Rängen gesetzt. Im Block 1604 werden die Gebote vom niedrigsten bis zum höchsten Gebot sortiert. Im Block 1606 wird die Variable Schlechtester-Rang gleich dem Rang des Gebots mit dem niedrigsten Rang gesetzt. Im Block 1608 wird die Variable Aktueller-Rang mit dem Wert von Schlechtester-Rang initialisiert. Im Block 1610 wird die Variable Aktuelles-Gebot auf den ersten Eintrag im Feld der Gebote initialisiert. Im Block 1612 wird die Variable mit dem Paar folgender Werte initialisiert: dem Wert von Schlechtester-Rang plus eins und dem minimalen Gebot.
  • [0153]
    Eine Schleifenoperation beginnt in Block 1614, wobei die Variable x über dem Satz der anderen Gebote verwendet wird. Im Block 1616 wird die Variable x mit dem Wert des aktuellen Gebots verglichen. Wenn x gleich dem Aktuellen-Gebot ist, so geht die Steuerung zum Block 1620. Wenn x nicht gleich der Variablen Aktuelles-Gebot ist, werden im Block 1618 das Paar der Werte Aktueller-Rang und Aktuelles-Gebot plus dem minimalen möglichen Gebotswert zum Ende des Feldes ans addiert. Im Block 1620 wird der Wert der Variablen Aktuelles-Gebot gleich dem Wert von x gesetzt. Im Block 1622 wird der Wert der Variablen Aktueller-Rang um 1 erniedrigt. Die Schleifenoperation endet am Block 1624, und die Steuerung wird zum Block 1614 zurück gegeben, es sein denn, dass das höchste Gebot erreicht wurde.
  • [0154]
    Im Block 1626 wird ein Eintrag, der ein Paar Werte aufweist, die aus einem Rang 1 und einem Gebot, das gleich dem aktuellen Gebot plus dem minimalen Gebotsbetrag ist, dem Feld ans hinzugefügt. Im Block 1628 gibt das Verfahren das Feld ans zurück. Das Verfahren endet am Block 1630.
  • [0155]
    Eine zweite Ausführungsform des Verfahrens "Mögliche Ränge&Gebote" wird gemäß dem nachfolgenden Pseudokode gezeigt.


  • [0156]
    Das Verfahren "Aktueller Kombination" nimmt als Eingabe die aktuelle Kombination, die die Gebot/Rang-Kombination jedes Begriffs {T1, T2, . . ., Tk} ist und berechnet: 1) die Gesamtzahl der Klicks, 2) das mittlere Gebot, 3) die Gesamtkosten und 4) den gesamten Profit der werbenden Person. Die Gesamtzahl der Klicks ist die Summe der Klicks für jeden Begriff an seinem ausgewählten Rang über der verbleibenden Flugdauer. Die Gesamtkosten ist die Summe der Kosten jedes der Begriffe an seinem ausgewählten Rang über der verbleibenden Flugdauer. Das mittlere Gebot ist die Gesamtkosten geteilt durch die Gesamtzahl der Klicks. Der gesamte Profit der werbenden Person ist die Summe des Profits für jeden Begriff.
  • [0157]
    Das vorherigen Verfahren "Mögliche Ränge&Gebote" berechnet die Liste der möglichen Tupel <Rang,Gebot> für einen Begriff.
  • [0158]
    Das Verfahren "Initialisierte Berechnungsparameter" initialisiert Ränge&Gebote(Ti) auf die Liste der möglichen Tupel <Rang,Gebot> für den Begriff Ti. Die betrachtete "aktuelle Kombination" wird durch den ausgewählten Tupel <Rang,Gebot> für jeden Begriff definiert. Der Tupel, der für den Begriff Ti ausgewählt wird, wird durch Index (Ti) definiert. Wenn Index(Ti) = 0, dann weist der Begriff Ti ein Gebot von null auf (er wird in der aktuellen Kombination nicht ausgewählt). Wenn Index(Ti) = 1, dann definiert das erste Tupel Ränge&Gebote(1) das Gebot und den Rang für den Begriff Ti und in ähnlicher Weise für die anderen Werte von Index(Ti). Man erinnere sich, dass die Liste der Tupel durch ein zunehmendes Gebot sortiert ist, so dass das erste Tupel das niedrigste Gebot aufweist, was dem schlechtesten Rang entspricht.
  • [0159]
    Bei der Iteration i extrahiert das Verfahren den aktuellen Rang und das Gebot des Begriffs Ti. Die Anzahl der Klicks von Ti an seinem aktuellen Rang über der verbleibenden Flugzeit (L) wird aus den historischen Daten des Marktes geschätzt. Die Kosten für Ti sind die Anzahl der Klicks mal dem Gebot. Der Profit für Ti ist das Produkt aus: 1) der Anzahl der Klicks und 2) dem Profit/Aktion mal der Umwandlungsrate minus dem Gebot. Am Ende der Iteration werden die Gesamtkosten um die Kosten für Ti erhöht, die gesamten Klicks werden um die Klicks für Ti erhöht, und der gesamte Profit wird um den Profit für Ti erhöht.
  • [0160]
    Die Schleife endet, wenn alle Begriffe Ti in {T1, T2, . . ., Tk} betrachtet wurden. Das Verfahren gibt schließlich vier Werte zurück: 1) die gesamten Klicks, 2) das mittlere Gebot, 3) die gesamten Kosten, und 4) den gesamten Profit für die Begriffe {T1, T2, . . ., Tk}.
  • [0161]
    Fig. 17 ist ein Blockdiagramm, das eine Ausführungsform des Verfahrens "Aktuelle Kombination" zeigt. Das Verfahren beginnt am Block 1700. Im Block 1702 wird die Variable Kosten auf einen Wert 0 initialisiert. Im Block 1704 wird die Variable Klicks auf den Wert 0 initialisiert. Im Block 1706 wird die Variable Profit auf den Wert 0 initialisiert.
  • [0162]
    Im Block 1708 beginnt die Schleifenoperation unter Verwendung der Begriffe der werbenden Person als Schleifenindex. Im Block 1710 wird bestimmt, ob der Indexwert für den aktuellen Suchbegriff nicht gleich 0 ist. Wenn der Index für den aktuellen Suchbegriff gleich 0 ist, so geht die Steuerung zu Block 1724 weiter. Ansonsten wird im Block 1712 der Variablen Rang der Rang des Index (T) Elements des Feldes Ränge&Gebote für den Suchbegriff T zugewiesen. Im Block 1714 wird der Variablen Gebot das Gebot des Index (T) Elements des Feldes Ränge&Gebote für den Suchbegriff T zugewiesen. Im Block 1716 wird die Anzahl der Klicks für den Suchbegriff T am aktuellen Rang geschätzt. Im Block 1718 wird der aktuelle Kostenwert gleich der Summe der Kosten und dem Produkt des Gebots und der Anzahl der Klicks für jeden Suchbegriff T gesetzt. Im Block 1720 wird die Anzahl der Klicks um die Anzahl der Klicks für den Suchbegriff T erhöht. Schließlich wird im Block 1722 der Profit um das Produkt der Anzahl der Klicks und des Profits pro Aktion multipliziert mit der Umwandlungsrate minus dem Gebot für den Suchbegriff erhöht. Im Block 1724 kehrt die Steuerung zum Block 1708 für eine andere Iteration der Schleife zurück, wenn der Wert der Variablen Index für den aktuellen Suchbegriff gleich 0 ist, so wird die Schleife verlassen und das Verfahren liefert im Block 1726 die Werte der vier Variablen Klicks, Kosten pro Klicks, Kosten und Profit zurück. Das Verfahren endet am Block 1728.
  • [0163]
    Eine zweite Ausführungsform des Verfahrens "Aktuelle Kombination" ist im nachfolgenden Pseudokode gezeigt.

  • [0164]
    Das Verfahren "Max-Index?" prüft, ob es keine zu berücksichtigenden Kombinationen mehr gibt. Die startende Kombination weist ein null Gebot für alle Begriffe auf. Es gibt keine Kombinationen mehr, wenn sich die aktuelle Kombination für alle Begriffe auf Rang 1 befindet.
  • [0165]
    Wie früher erwähnt wurde, wird die "aktuelle Kombination" durch den ausgewählten Tupel <Rang,Gebot> für jeden Begriff definiert. Der Tupel, der für den Begriff Ti ausgewählt wird, wird definiert durch Index (Ti). Wenn Index (Ti) = 0, dann weist der Begriff Ti ein Gebot von null auf (er wird in der aktuellen Kombination nicht ausgewählt). Wenn Index (Ti) = 1, dann definiert das erste Tupel Ränge&Gebote(1) das Gebot und den Rang für den Begriff Ti, wobei dies in ähnlicher Weise für die anderen Werte von Index(Ti) gilt. Es gibt keine Kombinationen mehr, wenn der Index für jeden Begriff sich auf seinem maximalen Wert befindet. Dies entspricht der Tatsache, dass jeder Begriff ein Gebot erhalten hat, so dass er sich auf Rang 1 befindet (man erinnere sich, dass die Liste der Tupel vom niedrigsten Gebot zum höchsten Gebot - das dem Rang 1 entspricht, sortiert ist).
  • [0166]
    Fig. 18 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens Max-Index? Zeigt. Das Verfahren beginnt am Block 1800. Am Block 1802 beginnt eine Schleifenoperation unter Verwendung der Suchbegriffe der werbenden Person als Schleifenindex. Im Block 1804 wird eine Bestimmung durchgeführt, ob der Wert der Variablen Index für den aktuellen Suchbegriff kleiner als die Anzahl der Ränge für den Suchbegriff ist. Wenn dem so ist, so wird im Block 1808 ein logischer Wert "falsch" zurückgegeben, und die Steuerung geht zum Block 1812 weiter. Ansonsten gibt im Block 1806 die Schleifenoperation die Steuerung an Block 1802 zurück, um einen nächsten Suchbegriff zu verarbeiten. Nachdem die Schleife verlassen wurde, gibt am Block 1810 das Verfahren einen logischen Wert "wahr" zurück. Das Verfahren endet am Block 1812.
  • [0167]
    Eine alternative Ausführungsform des Verfahrens Max-Index? ist in nachfolgendem Pseudokode gezeigt.


  • [0168]
    Das Verfahren "Inkrement-Index" wählt die nächste zu betrachtende Kombination. Jeder Begriff Ti in {T1, T2, . . ., Tk} weist einen Indexwert Index(T1) auf, der ein Index in einer Liste von Tupeln <Rang,Gebot> ist. Diese Tupel sind in der Liste vom niedrigsten Gebot zum höchsten Gebot sortiert. Das Verfahren versucht zuerst, den Index von Ti zu erhöhen (das Tupel mit dem nächst höheren Gebot und dem nächst besseren Rang zu wählen). Wenn der Index von T1 sich schon an seinem Maximum befindet, so wird der Index von T1 auf null gesetzt (auf Ti wird nicht länger ein Gebot abgegeben), und dasselbe Verfahren wird für T2 wiederholt. Dies ist ähnlich dem Inkrementieren einer k-stelligen Zahl. Wir inkrementieren zuerst eine Ziffer. Wenn wird das Maximum für die eine Ziffer erreichen, so setzen wir sie auf null und inkrementieren die nächste Ziffer, und so weiter. Hier weist jede Ziffer ihren eigenen Rang auf (0 für kein Gebot auf den Begriff, 1 für den schlechtesten Rang, 2 für den zweitschlechtesten Rang, bis zu #Ränge (Ti) für den Rang 1). Die Funktion "Nächster" nimmt einen Begriff Ti als Eingabe und gibt den nächsten Begriff Ti + 1 in {T1, T2, . . ., Tk}, das heißt Nächster (Ti) - Ti + 1 aus.
  • [0169]
    Fig. 19 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Inkrementiere-Index" zeigt. Das Verfahren beginnt am Block 1900. Am Block 1902 wird bestimmt, ob der Indexwert für den aktuellen Suchbegriff gleich der Anzahl der Ränge dieses aktuellen Suchbegriffs ist. Wenn dem nicht so ist, so wird im Block 1904 der Indexwert für den Suchbegriff um 1 inkrementiert. Die Steuerung geht dann zum Block 1912 weiter.
  • [0170]
    Wenn im Block 1902 der Index für den Suchbegriff gleich der Anzahl der Ränge für den Suchbegriff ist, dann wird im Block 1906 der Index für den Suchbegriff auf 0 gesetzt, und im Block 1908 wird bestimmt, ob i und k gleich sind. Wenn dem so ist, so geht die Steuerung zum Block 1912 weiter, und dann wird das Verfahren verlassen. Ansonsten ruft im Block 1910 das Verfahren sich selbst rekursiv auf, um den Index des nächsten Begriffs zu inkrementieren. Das Verfahrend endet am Block 1912.
  • [0171]
    Eine alternative Ausführungsform für das Implementieren des Verfahrens "Inkrementiere-Index" ist in nachfolgendem Pseudokode gezeigt.


  • Geführte Flugverwaltung
  • [0172]
    Die vorherigen Verfahren haben die erste Variation definiert, in der das System die optimalen Gebote für die Begriffe {T1, T2,. . ., Tk} berechnet, um den Profit der werbenden Person zu maximieren. Wie früher erwähnt wurde, so können die Kosten für das Finden der optimalen Lösung für große Probleme rechenmäßig untragbar sein.
  • [0173]
    Die zweite Variation, die geführte Flugverwaltung genannt wird, spricht dieses Problem an, indem sie eine Lösung findet, die in den meisten Situationen (obwohl nicht in allen) optimal sein kann, und die stark reduzierte Rechenkosten aufweist.
  • [0174]
    Der Schlüssel zur Effizienz der geführten Flugverwaltung liegt darin, dass sie nur Kombinationen betrachtet, bei denen es wahrscheinlich ist, dass sie in der optimalen Lösung vorkommen. Dies reduziert die Anzahl der Kombinationen, die betrachtet werden müssen, stark. Um den Profit der werbenden Person zu maximieren, muss die automatische Flugverwaltung die Gebote der Begriffe {T1, T2, . . ., Tk} so festsetzen, dass die meisten Klicks für das Budget B erzielt werden. Dies ist äquivalent zum Vorhandensein des minimalen mittleren Gebots für den Begriff {T1, T2,. . ., Tk}.
  • [0175]
    Die geführte Flugverwaltung startet, indem sie nach der Kombination mit dem geringsten Gebot und den meisten Klicks schaut. Das ist das minimale Gebot für alle Begriffe. Sie tritt dann in eine Schleife ein, wobei sie bei jeder Iteration das Gebot erhöht, um den Rang eines Begriffs in {T1, T2, . . ., Tk} zu verbessern, um somit das mittlere Gebot um mindestens einen Betrag zu erhöhen. Die Iterationen werden so lange wiederholt, wie die gesamten Kosten kleiner als das Flugbudget sind und so lange, wie das mittlere Gebot kleiner als die von der werbenden Person spezifizierten maximalen mittleren CPC ist. Am Ende wird die beste Kombination, die das Flugbudget verbraucht und die das geringste mittlere Gebot aufweist, zurückgegeben.
  • [0176]
    Das Verfahren "Geführte Flugverwaltung" ist identisch zum Verfahren "Optimale Flugverwaltung" (das vorher beschrieben wurde) mit der Ausnahme, dass es das Verfahren "Erzeuge geführten Flug" statt "Erzeuge optimalen Flug" verwendet. Das ist die fettgedruckte Zeile unten. Dieselben Beschreibungen, die vorher präsentiert wurden, gelten für die anderen gemeinsamen Verfahren.
  • [0177]
    Fig. 20 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens der geführten Flugverwaltung zeigt. Das Verfahren beginnt am Block 2000. Am Block 2002 wartet das Verfahren auf den Beginn des Werbeflugs. Im Block 2004 wird der Flug initialisiert. In einer Ausführungsform kann dies gemäß dem Verfahren, das oben in Verbindung mit Fig. 11 beschrieben wurde, durchgeführt werden.
  • [0178]
    Im Block 2006 beginnt eine Schleifenoperation, die sich über die Dauer des Fluges erstreckt. Die erste Schleifenoperation ist Block 2008, in dem die Flugparameter errichtet werden. Dies kann gemäß den Vorgängen, die oben in Verbindung mit Fig. 12 beschrieben wurden, geschehen. In Block 2010 wird ein Verfahren "Erzeuge geführten Flug" initiiert. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 21 beschrieben.
  • [0179]
    Eine Schleifenoperation beginnt in Block 2012, während der alle Suchbegriffe T der werbenden Person, die mit dem Werbeflug verbunden sind, verarbeitet werden. Im Block 2014 wird bestimmt, ob der Index des aktuellen Suchbegriffs gleich 0 ist. Wenn dem so ist, so wird im Block 2016 eine Variable PP- Gebot für den Suchbegriff auf 0 gesetzt, und im Block 2018 wird eine Variable Letzer-Rang für den Suchbegriff gleich der Anzahl der Ränge, für die es für den Suchbegriff T Gebote gibt plus 1 gesetzt. Die Steuerung geht dann zum Block 2024 weiter und kehrt zum Block 2012 für einen anderen Durchgang durch die Schleife zurück. Somit wird in Block 2014, wenn der Index des aktuellen Suchbegriffs nicht 0 ist, im Block 2020 der Wert der Variablen PP-Gebot für den aktuellen Suchbegriff gleich dem Wert der Variablen, die in Gebotvon (Ränge&Gebote(T), Index(t)) enthalten ist, gesetzt. Im Block 2022 wird der Wert der Variablen Letzer-Rang für den aktuellen Suchbegriff gleich dem Rang des aktuellen Suchbegriffs gesetzt.
  • [0180]
    Nach dem Verlassen der Schleife, die die Blöcke 2012, 2014, 2016, 2018, 2020, 2022, 2024 enthält, wird im Block 2026 ein Bericht der aktuellen Gebote und Ränge, wie sie durch die Schleifenoperation bestimmt wurden, an die werbende Person, die zum Werbeflug gehört gesandt. Im Block 2028 wird eine logische Variable Erste-Ausführung auf einen Wert "falsch" gesetzt. Im Block 2030 wartet das Verfahren eine Zeit, bevor es weiter macht. Diese Zeit kann durch eine zufällige Zeit, das Vergehen einer vorbestimmten Zeitdauer oder durch das Auftreten eines Ereignisses bestimmt werden. Im Block 2032 wird eine Variable Verbleibendes-Budget gleich der Differenz zwischen dem gesamten Budget für den Flug B und dem Budget, das vom Start des Webefluges ausgegeben wurde, gesetzt. Im Block 2034 wird die Variable Verbleibender-Flug gleich der Differenz zwischen der aktuellen Zeit und dem Ende des vorbestimmten Flugintervalls gesetzt. Im Block 2036 wird das Ende der Schleife erreicht, und die Steuerung kehrt zum Block 2006 für eine zusätzliche Bearbeitung zurück. Nach der Beendigung des Fluges wird das Verfahren der Fig. 20 am Block 2038 beendet. Eine zweite Ausführungsform des Verfahrens "Geführte Flugverwaltung" ist in nachfolgendem Pseudokode gezeigt.




  • [0181]
    Das Verfahren "Erzeuge geführten Flug" erforscht nur die Kombinationen, von denen es wahrscheinlich ist, dass sie in einer optimalen Lösung vorhanden sind. Das Verfahren startet mit der Initialisierung der Berechnungsparameter, wie das früher für das Verfahren "Erzeuge optimalen Flug" beschrieben wurde. Es tritt als nächstes in eine Schleife ein. Jede Iteration der Schleife erforscht eine neue Kombination, wobei der Rang einer der Begriffe um eine Position verbessert wird, was immer zu höheren Gesamtkosten und einem höheren mittleren Gebot führt.
  • [0182]
    Bei jeder Iteration prüft das System, ob die aktuelle Kombination besser als die beste bisher gesehene Kombination ist. Die beste Kombination wird durch die aktuelle Kombination ersetzt, wenn dies der Fall ist.
  • [0183]
    Die Schleife wird verlassen, wenn die aktuelle Kombination Gesamtkosten aufweist, die größer als das Flugbudget B sind, oder wenn das mittlere Gebot der aktuellen Kombination größer als die maximalen mittleren CPC C sind, oder wenn es keine Kombinationen mehr gibt. Das Verfahren gibt die beste gefundene Kombination zurück.
  • [0184]
    Fig. 21 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Erzeuge geführten Flug" zeigt. Das Verfahren beginnt am Block 2100. Am Block 2102 wird ein Verfahren "Initialisiere Berechnungsparameter" aufgerufen. Eine Ausführungsform dieses Verfahrens ist oben in Verbindung mit Fig. 15 beschrieben.
  • [0185]
    Im Block 2104 beginnt eine Schleifenoperation. Im Block 2106 werden die Werte der vier Variablen Klicks/Gebot/Kosten/Profit gleich den Werten gesetzt, die vom Verfahren "Aktuelle Kombination" zurückgegeben werden. Eine Ausführungsform dieses Verfahrens ist oben in Verbindung mit Fig. 17 beschrieben. Im Block 2108 wird bestimmt, ob das aktuelle Gebot größer als die maximalen CPC C ist, oder ob die Kosten größer als die Variable Verbleibendes-Budget sind, oder ob das Verfahren "Max-Index?" den logischen Wert "wahr" zurückgibt. Eine Ausführungsform des Verfahrens "Max-Index?" ist oben in Verbindung mit Fig. 18 beschrieben. Wenn der Test des Blocks 2108 wahr ist, so gibt das Verfahren am Block 1220 den Wert der Variablen Bester-Index zurück, und das Verfahren endet am Block 2112. Ansonsten wird am Block 2114 bestimmt, ob die Variable Bester-Index einen leeren Wert speichert, oder ob der Wert, der durch das Verfahren "Besser" zurückgegeben wird, einen wahren Wert aufweist. Eine Ausführungsform des Verfahrens "Besser" ist oben in Verbindung mit Fig. 14 beschrieben. Wenn der Test des Blocks 2114 wahr ist, so wird im Block 2116 der Wert der Variablen Bester-Index gleich dem Wert der Variablen Index gesetzt. Im Block 2118 wird der Wert der Variablen Beste-Klicks gleich dem Wert der Variablen Klicks gesetzt. Im Block 2120 wird der Wert der Variablen Bester-Profit gleich dem Wert der Variablen Profit gesetzt. Wenn der Test des Blocks 2114 nicht wahr ist oder nach der Verarbeitung in Block 2120 wird in Block 2112 der Wert der Variablen Index gesetzt, so dass er gleich dem Wert ist, der durch das Verfahren "Minimale-Gebots-Erweitung" zurückgegeben wird. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 22 beschrieben. Das Schleifenverfahren endet am Block 2124, und die Steuerung wird an den Block 2104 zurück gegeben.
  • [0186]
    Eine alternative Ausführungsform des Verfahrens "Erzeuge geführten Flug" ist im nachfolgenden Pseudokode gezeigt.


  • [0187]
    Der Hauptunterschied zwischen der geführten Flugverwaltung und der optimalen Flugverwaltung besteht im Erzeugen der nächsten "aktuellen Kombination". Bei der optimalen Flugverwaltung betrachten wir alle Kombinationen. Bei der geführten Flugverwaltung schauen wird auf die aktuelle Kombination und sehen, wie der Rang einer der Begriffe verbessert werden kann, so dass das mittlere Gebot um den geringsten Betrag erhöht wird. Dies wird durch das Verfahren "Minimum-Gebots-Erweiterung" erreicht.
  • [0188]
    Die aktuelle Kombination wird durch den Rang und das Gebot jedes Begriffs {T1, T2, . . ., Tk} definiert. Jeder Begriff Ti weist eine List von Tupeln <Rang,Gebot>, die vom niedrigsten Gebot bis zum höchsten Gebot sortiert ist, auf. Das Tupel, das für Ti ausgewählt wird, wird durch den Wert von Index(Ti) definiert. Wenn dieser null ist, so ist das Gebot für Ti null. Wenn dieser eins ist, so ist dies die erste Rang/Gebot- Kombination (minimales Gebot und schlechtester Rang.).
  • [0189]
    Das Verfahren "Minimum-Gebots-Erweiterung" startet mit der Initialisierung der Variablen "Geringster-Gebots-Index" (der Index der ausgeforschten Kombination, die zu niedrigsten mittleren Gebot führt) und "Niedrigstes-Gebot" (das mittlere Gebot der ausgeforschten Kombination, die zum geringsten mittleren Gebot führt).
  • [0190]
    Das Verfahren tritt in eine Schleife ein, wobei jede Iteration der Schleife die Verbesserung des Rangs einer der Begriffe {T1, T2, . . ., Tk} betrachtet. Dies wird durch das Inkrementieren des Index des ausgewählten Begriffs um eins erreicht. Jede Iteration berechnet die gesamten Klicks, das mittlere Gebot, die gesamten Kosten und den gesamten Profit für die neu betrachtete Kombination. Wenn das mittlere Gebot der aktuellen Kombination kleiner als das beste betrachtete mittlere Gebot bei jeder vorherigen Iteration ist, so wird die beste Erweiterung durch die aktuelle Kombination ersetzt.
  • [0191]
    Das Verfahren verlässt die Schleife, wenn alle Erweiterungen betrachtet wurden, und es gibt die neue Kombination zurück, die das mittlere Gebot um den geringsten Betrag inkrementiert.
  • [0192]
    Fig. 22 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens "Minimum-Gebots-Erweiterung" zeigt. Das Verfahren beginnt am Block 2200. Am Block 2202 wird die Variable Geringster-Gebots-Index auf 0 initialisiert, und dann wird im Block 2204 die Variable Geringstes-Gebot auf 0 initialisiert.
  • [0193]
    Eine Schleifenoperation beginnt am Block 2206, wobei sie eine Schleife über alle Suchbegriffe der werbenden Person macht. Im Block 2208 wird bestimmt, ob der Index eines aktuellen Suchbegriffs kleiner als die Anzahl der Ränge des Suchbegriffs ist. Wenn dem nicht so ist, so wird das Ende der Schleife erreicht, und die Steuerung geht zum Block 2222 weiter. Ansonsten wird im Block 2210 der Wert der Variablen Index um 1 inkrementiert, und im Block 2212 wird der Wert der vier Variablen Klicks/Gebot/Kosten/Profit gleich den vier Werten, die durch das Verfahren "Aktuelle-Kombination" zurückgegeben werden, gesetzt. Eine Ausführungsform dieses Verfahrens ist oben in Verbindung mit Fig. 17 beschrieben.
  • [0194]
    Im Block 2214 wird bestimmt, ob der Wert der Variablen Geringster-Gebots-Index gleich 0 ist oder ob das aktuelle Gebot kleiner als der Wert der Variablen Geringstes-Gebot ist. Wenn dem nicht so ist, so geht die Steuerung zum Block 2220 weiter. Ansonsten wird im Block 2216 die Variable Geringster-Gebots-Index gleich dem aktuellen Wert der Variablen Index gesetzt, im Block 2218 wird die Variable Geringstes-Gebot gleich dem aktuellen Gebot für den aktuellen Suchbegriff gesetzt, und im Block 2220 wird der Index für den aktuellen Suchbegriff um 1 dekrementiert. Im Block 2222 gibt die Schleife die Steuerung an Block 2206 zurück. Wenn die Schleife endet, nachdem alle Suchbegriffe der werbenden Person verarbeitet wurden, so wird im Block 2224 die Variable Index gleich dem Wert Geringster-Gebots-Index gesetzt, und das Verfahren endet am Block 2226.
  • [0195]
    Eine alternative Ausführungsform des Verfahrens "Minimale Gebotserweiterung" ist in nachfolgendem Pseudokode gezeigt.


  • Optimierungen
  • [0196]
    In einer dritten Variation der automatischen Flugverwaltung verbessert das System weiter die Leistung, indem es Ränge der Begriffe {T1, T2, . . ., Tk} verwirft, bei denen es nicht wahrscheinlich ist, dass sie einen Teil der optimalen Lösung darstellen. Durch das Reduzieren der Anzahl der Ränge wird die zu betrachtende Kombination der Ränge exponentiell reduziert. Dies führt zu einer stark verbesserten Leistung. Diese Optimierungen können sowohl auf die optimale Flugverwaltung als auch auf die geführte Flugverwaltung angewandt werden.
  • [0197]
    Es besteht ein Kompromiss bei der Anzahl der Ränge, die für jeden Begriff verworfen werden sollen. Wenn mehr Ränge verworfen werden, so ist die Verbesserung in der Leistung exponentiell größer, wobei jedoch, wenn zu viele Ränge verworfen werden, es sein kann, dass die optimale Lösung verfehlt wird. Der Operator des Marktes kann die Optimierungsparameter steuern, um den besten Kompromiss zu erreichen.
  • [0198]
    Die Optimierungen werden erreicht, indem das vorher definierte Verfahren "Initialisiere Berechnungsparameter" durch das Verfahren "Initialisiere gefilterte Berechnungsparameter" ersetzt wird.
  • [0199]
    Es gibt zwei Änderungen im neuen Verfahren (die fett gezeigt sind). Zuerst schätzt vor der anfänglichen Ausführung der automatischen Flugverwaltung das System das Gebot bo, das wenn es allen Begriffen {T1, T2, . . ., Tk} zugeordnet wird, zur Ausgabe des Flugbudgets B führt. Dieses geschätzte optimale Gebot bo wird verwendet, um ein Band von Rängen, das für jeden Betriff zu betrachten ist, auszuwählen. Das Verfahren "Schätze ursprüngliche Gebote" führt diese Berechnung durch.
  • [0200]
    Die zweite Änderung besteht darin, dass das Ergebnis des Findens der möglichen Ränge und Gebote für alle Begriffe {T1, T2, . . ., Tk} gefiltert wird, um nur einige der Ränge bei jedem Begriff zu betrachten. Dies wird durch das Verfahren "Filter" erreicht.
  • [0201]
    Fig. 23 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Initialisiere gefilterte Berechnungsparameter" zeigt. Das Verfahren beginnt am Block 2300. Im Block 2302 wird die Variable Bester-Index auf einen Wert 0 initialisiert. In ähnlicher Weise werden im Block 2304 und im Block 2306 die Variablen Beste-Klicks und Bester-Profit auf den Wert 0 initialisiert. Der Test wird in Block 2308 durchgeführt, um zu bestimmen, ob die Variable Erste-Ausführung einen logischen Wert "wahr" aufweist. Wenn dem so ist, so wird im Block 2310 ein Verfahren "Schätze ursprüngliche Gebote" aufgerufen. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 24 beschrieben. Im Block 2312 wird in eine Schleife eingetreten. Im Block 2314 wird der Wert der Feldvariable Ränge&Gebote am Index des aktuellen Begriffs T gleich dem Wert, der vom Verfahren Filter zurückgegeben wird, gesetzt. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 27 beschrieben. Im Block 2316 wird die Feldvariable #Ränge am Index des aktuellen Begriffs T gleich der Länge des Feldwertes für den aktuellen Suchbegriff gesetzt. Im Block 2318 wird der Index für den aktuellen Suchbegriff gleich 0 gesetzt, und im Block 2320 endet die Schleife. Die Steuerung wird an den Block 2312 zurückgegeben, bis alle Suchbegriffe bearbeitet wurden. Nach dem Bearbeiten aller Suchbegriffe endet das Verfahren am Block 2322.
  • [0202]
    Eine alternative Ausführungsform des Verfahrens "Initialisiere gefilterte Berechnungsparameter" ist im Pseudokode dargestellt.


  • [0203]
    Das Verfahren "Schätze ursprüngliche Gebote" berechnet das Gebot bo, das, wenn es allen Begriffen {T1, T2, . . ., Tk} zugewiesen wird, zu einer Ausgabe des Flugbudgets B führt. Die Variable "Bester-Unter" ist der höchste Wert von bo, der gefunden wurde, der dazu führt, dass weniger als das Budget B ausgegeben wird. In ähnlicher Weise ist die Variable "Bester-Über" der geringste Wert von bo, der gefunden wurde, der dazu führt, dass mehr als das Budget B ausgegeben wird. Anfänglich ist Bester-Unter null, Bester-Über ist das höchste Gebot, um am Rang 1 zu sein, für jeden Begriff {T1, T2, . . ., Tk}, und die anfängliche Schätzung von bo ist "Bester-Über" geteilt durch zwei.
  • [0204]
    Das Verfahren führt eine Schleife durch eine Anzahl von Iterationen durch, wobei jede Iteration das aktuelle Gebot (bo) so einstellt, dass die gesamten Kosten dichter an das Flugbudget B herankommen. Die Schleife endet, wenn der aktuelle Wert von "Gebot" ungefähr zum Ausgeben des Budgets B führt. Das Fenster der Annäherung wird durch die Variable δ definiert, die zwischen null und eins liegen muss. Wenn δ 0 ist, dann müssen die gesamten Kosten exakt B sein, und wenn δ 1 ist, dann sind jegliche gesamten Kosten kleiner als 2 × B akzeptabel.
  • [0205]
    Wenn die gesamten Kosten mit allen Begriffen {T1, T2, . . ., Tk}, die das Gebot "Gebot" aufweisen, größer als das Budget sind ((1 + δ) × B < Kosten), dann wird "Gebot" so eingestellt, dass es auf der Hälfte zwischen seinem aktuellen Wert und "Bester-Unter" liegt. Wenn das aktuelle "Gebot" kleiner als "Bester-Über" ist, so wird "Bester-Über" durch das "Gebot" ersetzt.
  • [0206]
    In ähnlicher Weise wird, wenn die gesamten Kosten mit allen Begriffen {T1, T2, . . ., Tk), die das Gebot "Gebot" aufweisen, kleiner als das Budget sind ((1 - δ) × B > Kosten), "Gebot" so eingestellt, dass es auf der Hälfte zwischen seinem aktuellen Wert und "Bester-Über" liegt. Wenn das aktuelle "Gebot" größer als "Bester-Unter" ist, so wird "Bester-Unter" durch das "Gebot" ersetzt.
  • [0207]
    Jede Iteration der Schleife bringt das geschätzte "Gebot" dichter an das mittlere optimale Gebot bo, was zum Ausgeben des Budgets B führt. Schließlich wird der Wert von "Gebot" dicht genug liegen, und das Verfahren wird enden und dieses "Gebot" der Ursprünglichen-Gebots-Schätzung zuweisen.
  • [0208]
    Fig. 24 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Schätze ursprüngliche Gebote" zeigt. Das Verfahren beginnt am Block 2400. Am Block 2402 wird die Variable Bester-Unter auf einen Wert 0 initialisiert. Im Block 2404 wird die Variable Bester-Über so initialisiert, dass sie das maximale Gebot darstellt, um für jeden Suchbegriff der werbenden Person auf Rang 1 zu sein. Im Block 2406 wird die Variable Gebot auf den halben Wert der Variable Bester-Über initialisiert.
  • [0209]
    Eine Schleife erfolgt unter diesem Block 2408. Im Block 2410 wird die Variable Kosten gleich dem Ergebnis, das durch das Verfahren Kosten mit Gebot zurückgegeben wird, gesetzt. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 25 beschrieben. Im Block 2412 wird ein Test durchgeführt, um zu bestimmen, ob das Produkt des Budgets B und der Summe der Variablen Delta und 1 größer oder gleich dem Wert der Variable Kosten ist, und ob die Variable Kosten größer oder gleich dem Produkt des Budgets B und 1 minus dem Wert der Variablen Delta ist. Wenn dem so ist, so wird im Block 2414 die Variable Ursprüngliche-Gebots-Schätzung gleich dem aktuellen Wert der Variablen Gebot gesetzt, und das Verfahren endet am Block 2416. Ansonsten wird am Block 2418bestimmt, ob das Produkt des Budgets B und 1 plus der Variablen Delta kleiner als der Wert der Variablen Kosten ist.
  • [0210]
    Im Block 2420 wird bestimmt, ob der Wert der Variablen Gebot kleiner als der der Variablen Bester-über ist. Wenn dem so ist, so wird im Block 2422 der Wert der Variablen Bester-Über gleich dem Wert der Variablen Gebot gesetzt. Im Block 2424 wird der Wert der Variablen Gebot gleich dem unteren Wert der Summe der Variablen Gebot und der Variablen Bester-Unter- geteilt durch 2 gesetzt. Die Steuerung geht dann zum Block 2434. Ansonsten wird im Block 2426 bestimmt, ob das Produkt des Budgets B und 1 minus der Variablen Delta größer als die Variable Kosten ist. Wenn dem so ist, so wird im Block 2428 bestimmt, ob die Variable Gebot größer als die Variable Bester-Unter ist. Wenn dem so ist, so wird im Block 2430 die Variable Bester-Unter gleich dem aktuellen Wert der Variablen Gebot gesetzt, und im Block 2432 wird die Variable Gebot gleich dem Unteren der Summe der Variablen Gebot und Bester- Über geteilt durch 2 gesetzt. Die Steuerung geht dann zum Block 2434, der das Ende der Schleife darstellt.
  • [0211]
    Eine zweite Ausführungsform des Verfahrens "Schätze ursprüngliche Gebote" ist gemäß dem unten stehenden Pseudokode gezeigt.




  • [0212]
    Das Verfahren "Kosten mit Gebot" berechnet die Kosten für die werbende Person, wenn alle Begriffe {T1, T2, . . ., Tk} das Gebot "Gebot" aufweisen. Es tut dies durch das Summieren der Kosten jedes einzelnen Begriffs mit diesem Gebot.
  • [0213]
    Fig. 25 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Kosten mit Gebot" zeigt. Das Verfahren beginnt am Block 2500. Am Block 2502 wird die Variable Gesamte-Kosten auf einen Wert von null initialisiert. Die Schleife beginnt am Block 2504. Am Block 2506 wird die Variable Gesamte-Kosten durch das Ergebnis, das vom Verfahren "Begriff-Kosten" zurückgegeben wird, inkrementiert. Eine Ausführungsform des Verfahrens Begriff-Kosten wird nachfolgend in Verbindung mit Fig. 26 beschrieben. Das Ende der Schleife wird am Block 2508 erreicht, und die Schleife wird wiederholt, bis alle solche Begriffe, die mit der werbenden Person verbunden sind, bearbeitet wurden. Im Block 2510 gibt das Verfahren den Wert der Variablen Gesamte-Kosten zurück. Das Verfahren endet am Block 2512.
  • [0214]
    Eine alternative Ausführungsform des Verfahrens "Kosten mit Gebot" ist gemäß dem nachfolgenden Pseudokode dargestellt.


  • [0215]
    Das Verfahren Begriffs-Kosten nimmt als Eingabe einen Begriff Ti in {T1, T2, . . ., Tk} und ein Gebot. Es berechnet die Kosten für die werbende Person für das Bieten eines "Gebots" für Ti. Das Verfahren findet zuerst alle möglichen Ränge, auf der sich die werbende Person befinden kann, und das minimale Gebot für diese Ränge. Es führt als nächstes eine Schleife über alle möglichen Ränge/Gebote aus und wählt den Rang/Gebot, der das Gebot aufweist, das am dichtesten zur Eingabe "Gebot" liegt. Die Kosten für diesen Rang sind das Gebot mal den historischen Klicks im Markt für dieser Rang.
  • [0216]
    Fig. 26 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens Begriffs-Kosten darstellt. Das Verfahren beginnt am Block 2600. Mehrere Variable werden initialisiert, wobei die Variable Dichtestes-Gebot auf den Wert null initialisiert wird, Block 2604, die Variable Dichteste-Distanz auf den Wert minus eins initalisiert wird, Block 2606, und die Variable Ränge/Gebote gleich dem Wert gesetzt wird, der durch das Verfahren Mögliche-Ränge&Gebote zurückgegeben wird. Eine Ausführungsform des Verfahrens Mögliche-Ränge&Gebote ist oben in Verbindung mit Fig. 16 beschrieben.
  • [0217]
    Am Block 2610 beginnt eine Schleifenoperation unter Verwendung einer Schleifenvariablen x, die Werte zwischen eins und der Länge der Variablen Ränge/Gebote aufweist. Im Block 2612 wird der Wert der Variable Aktuelles-Gebot gleich dem Gebot für den Eintrag x in die Auflistung der Ränge/Gebote gesetzt. Im Block 2614 wird der Wert der Variable Distanz gleich dem absoluten Wert der Differenz zwischen der Variable Gebot und der Variable Aktuelles-Gebot gesetzt. Im Block 2616 wird ein Test durchgeführt, um zu bestimmen, ob der Wert der Variable Dichteste-Distanz gleich minus eins ist, oder ob der Wert der Variable. Distanz kleiner als der Wert der Variable Dichteste- Distanz ist. Wenn keine Bedingung wahr ist, so geht die Steuerung zum Ende der Schleife, Block 2622. Wenn entweder die Bedingung des Blocks 2616 wahr ist, so wird im Block 2618 der Variablen Dichtestes-Gebot ein Wert zugeordnet der gleich Aktuelles-Gebot ist. Im Block 2620 wird die Variable Dichtester-Rang gleich dem Rang des x-ten Eintrags des Feldes Ränge/Gebote gesetzt. Im Block 2622 kehrt die Schleifensteuerung zum Block 2610 zurück.
  • [0218]
    Nachdem die Schleife verlassen wurde, wird im Block 2624 die Variable Dichteste-Klicks gleich dem Wert gesetzt, der durch ein Verfahren Historische-Klicks zurückgegeben wird. Im Block 2626 werden die Kosten gleich dem Produkt der Variablen Dichteste-Klicks und Dichtestes-Gebot gesetzt. Im Block 2628 wird der Wert der Variablen Kosten durch das Verfahren zurückgegeben. Das Verfahren endet am Block 2630.
  • [0219]
    Eine alternative Ausführungsform des Verfahrens Begriffs-Kosten wird durch nachfolgenden Pseudokode dargestellt.




  • [0220]
    Das Verfahren "Filter" nimmt als Eingabe den Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Das Verfahren filtert einige der Tupel, um somit Ränge der eliminierten Tupel von Ti aus der Betrachtung zu entfernen. Diese Filterung wird durch Information gesteuert, die von der werbenden Person oder dem Operator des Marktes geliefert wird.
  • [0221]
    Es gibt drei Typen der Filterung, und eine oder mehrere davon können in beliebiger Kombination verwendet werden. Die werbende Person kann spezifizieren, dass sie wünscht, alle Ränge bei jedem Begriff zu eliminieren, wenn der Rang weniger Klicks als ein Schwellwert aufweist. Die Beschränkung der werbenden Person der minimalen Klicks wird durch den Wert von Min-Klicks(Ti) spezifiziert.
  • [0222]
    Eine werbende Person kann einen Bereich von zu betrachtenden Rängen spezifizieren, von einem besten Rang bis zu einem schlechtesten Rang (inklusive). Die Beschränkung der werbenden Person für den schlechtes Rang von Ti wird durch Schlechtester-Rang(Ti) definiert, und die Beschränkung der werbenden Person für den besten Rang von Ti wird durch Bester-Rang(Ti) definiert.
  • [0223]
    Ein Auto-Filter ist der dritte Typ der Filterung, bei dem der Operator des Marktes die Ergebnisse der vorherigen Ausführung der automatischen Flugverwaltung verwenden kann, um die Ränge zu eliminieren, die nicht dicht an den Rängen der vorherigen Ausführung für jeden Begriff {T1, T2, . . ., Tk} liegen.
  • [0224]
    Fig. 27 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Filter" zeigt. Das Verfahren beginnt am Block 2700. Im Block 2702 wird bestimmt, ob der Wert der Variablen Min-Klicks für den aktuellen Suchbegriff nicht gleich null ist. Wenn dem so ist, so wird im Block 2704 der Wert des Feldes Ränge/Gebote gleich dem Ergebnis gesetzt, das vom Verfahren Filter-Min-Klicks zurückgegeben wird. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 28 beschrieben. Im Block 2706 wird bestimmt, ob entweder der beste Rang für den Suchbegriff T größer als eins ist, oder ob der schlechteste Rang für den Suchbegriff ein anderer Wert als null ist. Wenn dem so ist, so werden im Block 2708 die Inhalte des Feldes Ränge/Gebote gleich dem Ergebnis gesetzt, das durch das Verfahren Filter-Ränge zurückgegeben wird. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 29 beschrieben. Im Block 2710 wird bestimmt, ob das Ergebnis, das durch das Verfahren Auto-Filter-Ränge zurückgegeben wird, einen logischen Wert "wahr" aufweist. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 32 beschrieben. Wenn der Test des Blocks 2710 wahr ist, so wird im Block 2712 der Wert des Feldes Ränge/Gebote gleich dem Ergebnis gesetzt, das durch das Verfahren Auto-Filter zurückgegeben wird. Eine Ausführungsform dieses Verfahrens wird nachfolgend in Verbindung mit Fig. 30 beschrieben. Im Block 2714 gibt das Verfahren den Wert des Feldes Ränge/Gebote zurück. Das Verfahren endet am Block 2716.
  • [0225]
    Eine alternative Ausführungsform des Verfahrens Filter ist in Verbindung mit nachfolgendem Pseudokode gezeigt.


  • [0226]
    Das Verfahren Filter-Min-Klicks nimmt als Eingabe einen Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Es eliminiert alle Tupel, deren Ränge weniger Klicks als der Klickschwellwert, der durch die werbende Person für den Begriff Ti spezifiziert wurde, aufweisen.
  • [0227]
    Fig. 28 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens Filter-Min-Klicks zeigt. Das Verfahren beginnt am Block 2800. Am Block 2802 wird die Variable min gleich dem Wert gesetzt, der vom Verfahren Min-Klicks zurück gegeben wird. Eine Schleifenoperation beginnt am Block 2804, wobei sie über die Variable x, die sich vom Wert eins bis zu einem Wert gleich der Länge des Feldes Ränge/Gebote erstreckt, eine Schleife ausführt. Im Block 2806 wird die Variable Rang gleich dem Rang des Eintrags x des Feldes Ränge/Gebote gesetzt. Im Block 2808 wird die Variable Klicks gleich dem Wert gesetzt, der durch das Verfahren Historische-Klicks zurückgegeben wird. Im Block 2810 wird ein Test durchgeführt, um zu bestimmen, ob der Wert der Variablen Klicks kleiner als der Variablen min ist. Wenn dem so ist, so wird im Block 2812 der x-te Eintrag des Feldes Ränge/Gebote aus dem Feld gelöscht. Im Block 2814 kehrt die Steuerung der Schleife zum Block 2804 zurück. Nachdem die Schleife vollständig bearbeitet wurde, wird im Block 2816 der Wert des Feldes Ränge/Gebote durch das Verfahren zurückgegeben. Das Verfahren endet am Block 2818. Eine alternative Ausführungsform des Verfahrens Filter-Min- Klicks wird gemäß dem nachfolgenden Pseudokode gezeigt.


  • [0228]
    Das Verfahren Filter-Ränge nimmt als Eingabe einen Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Es eliminiert alle Tupel, deren Rang größer als der Schlechteste-Rang, der durch die werbende Person spezifiziert wurde, ist, oder deren Rang kleiner als der Bester-Rang ist, der durch die werbende Person spezifiziert wurde.
  • [0229]
    Fig. 29 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens Filter-Ränge zeigt. Das Verfahren beginnt am Block 2900. Am Block 2902 wird der Variable Bester der Wert von Bester-Rang für jeden Suchbegriff der werbenden Person zugewiesen. Im Block 2904 wird der Variable Schlechtester der Schlechteste Rang jedes solchen Begriffs der werbenden Person zugewiesen. Es beginnt eine Schleifenoperation am Block 2906, die eine Schleife über die Variable x von einem Wert eins zu einem Wert gleich der Länge des Feldes Ränge/Gebote durchführt. Im Block 2908 wird die Variable Rang gleich dem Rang des x-ten Eintrags des Feldes Ränge/Gebote gesetzt. Im Block 2910 wird ein Test durchgeführt, um zu bestimmen, ob die Variable Rang kleiner als der Wert der Variablen Bester ist oder ob die Variable Schlechtester nicht gleich null ist, und 5 die Variable größer als der Wert der Variablen Schlechtester ist. Wenn dem so ist, so wird im Block 2912 der x-te Eintrag des Feldes Ränge/Gebote aus dem Feld Ränge/Gebote gelöscht. Im Block 2914 kehrt die Steuerung zum Start der Schleife, dem Block 2906, zurück. Im Block 2916 gibt das Verfahren den Wert des Feldes Ränge/Gebote zurück. Das Verfahren endet am Block 2918.
  • [0230]
    Eine zweite Ausführungsform des Verfahrens Filter-Ränge ist gemäß dem nachfolgenden Pseudokode gezeigt.


  • [0231]
    Das Verfahren Auto-Filter nimmt als Eingabe einen Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Es eliminiert alle Tupel, deren Rang außerhalb des Bereichs der Ränge liegt, in welchem es wahrscheinlich ist, dass die optimale Lösung existiert. Das Filtern wird durch Parameter gesteuert, die durch den Operator des Marktes eingestellt werden können.
  • [0232]
    Es gibt zwei Typen von Auto-Filtern. Der erste Typ filtert die Ränge auf der Basis ihre Gebote - Ränge, deren Gebot weit von den Geboten der vorherigen Ausführung der automatischen Flugverwaltung liegen, werden verworfen. Wenn es die erste Ausführung der automatischen Flugverwaltung ist, so verwendet das System die Schätzung des mittleren optimalen Gebots bo, das durch das Verfahren "Schätze Ursprüngliche Gebote" berechnet wird. Der zweite Typ filtert die Ränge, die weit von den Rängen der vorherigen Ausführungsform einer automatischen Flugverwaltung entfernt liegen. Dieser zweite Filterschritt wird nicht durchgeführt, wenn dies die erste Ausführung der automatischen Flugverwaltung ist.
  • [0233]
    Fig. 30 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens Auto-Filter zeigt. Das Verfahren beginnt am Block 3000. Im Block 3002 wird das Feld Ränge/Gebote gleich dem Ergebnis gesetzt, das durch das Verfahren "Auto-Filter unter Verwendung von Geboten" zurückgegeben wird. Eine Ausführungsform des Verfahrens "Auto-Filter unter Verwendung von Geboten" ist unten in Verbindung mit Fig. 31 gezeigt. Im Block 3004 wird bestimmt, ob die Variable Erste-Ausführung den logischen Wert "falsch" aufweist. Wenn dem so ist, so wird im Block 3006 das Feld Ränge/Gebote gleich dem Wert gesetzt, der durch das Verfahren "Auto-Filter unter Verwendung von Rängen" zurückgegeben wird. Eine Ausführungsform des Verfahrens "Auto-Filter unter Verwendung von Rängen" ist nachfolgend in Verbindung mit Fig. 32 dargestellt. Im Block 3008 gibt das Verfahren den Wert des Feldes Ränge/Gebote zurück. Das Verfahren endet am Block 3010.
  • [0234]
    Eine zweite Ausführungsform des Verfahrens Auto-Filter ist in Verbindung mit nachfolgendem Pseudokode gezeigt.


  • [0235]
    Das Verfahren "Auto-Filter unter Verwendung von Geboten" nimmt als Eingabe einen Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Es eliminiert alle Tupel, deren Gebot nicht dicht am optimalen Gebot von Ti liegt, das bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde. Wenn es die aller erste Ausführung der automatischen Flugverwaltung ist, so verwendet das System die Schätzung des mittleren optimalen Gebots bo, das durch das Verfahren "Schätze ursprüngliche Gebote" berechnet wird.
  • [0236]
    Das Verfahren führt eine Schleife über die Liste der Tupel <Rang,Gebot> aus und prüft ob das Gebot des Tupels "dicht" am optimalen Gebot liegt, das bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde. Das aktuelle Tupel wird eliminiert, wenn sein Gebot nicht dicht daran liegt. Die Dichtigkeit wird durch den Parameter β, der zwischen null und eins liegt, gesteuert. Wenn β null ist, so wird das aktuelle Tupel eliminiert, wenn sein Gebot nicht exakt gleich dem optimalen Gebot ist, das für Ti bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde. Wenn β eins ist, so wird das aktuelle Tupel eliminiert, wenn sein Gebot mehr als dem Zweifachen des optimalen Gebots der vorherigen Ausführung entspricht.
  • [0237]
    Fig. 31 ist ein Flussdiagramm, das eine Ausführungsform des Verfahrens "Auto-Filter unter Verwendung von Geboten" zeigt. Das Verfahren beginnt am Block 3100. Im Block 3102 wird bestimmt, ob die logische Variable Erste-Ausführung den logischen Wert "wahr" aufweist. Wenn dem so ist, so wird in Block 3104 die Variable Letztes-Gebot gleich dem Wert der Variablen Ursprüngliche-Gebots-Schätzung gesetzt. Ansonsten wird im Block 3106 die Variable Letztes-Bit gleich dem Wert des Feldes Preisgeschütztes-Gebot für den aktuellen Suchbegriff gesetzt.
  • [0238]
    Im Block 3108 beginnt eine Schleifenoperation, die über die Variable x von einem Wert eins bis zu einem Wert gleich der Länge des Feldes Ränge/Gebote reicht. Im Block 3110 wird die Variable Gebot gleich dem Gebotswert des x-ten Eintrags des Feldes Gebot-von gesetzt. Im Block 3112 wird bestimmt, ob der Wert von Gebot kleiner als das Produkt von Eins minus Beta und die Variable Letztes-Gebot ist oder ob der Wert der Variablen Gebot größer als eins plus Beta multipliziert mit dem Wert der Variablen Letztes-Gebot ist. Wenn dem so ist, so wird im Block 3114 der x-te Eintrag aus dem Feld Ränge/Gebote gelöscht. Ansonsten geht im Block 3116 die Steuerung zum Start der Schleife am Block 3108 zurück. Nach dem Bearbeiten aller Werte in der Schleife, wird im Block 3118 das Feld Ränge/Gebote zurückgegeben. Das Verfahren endet am Block 3120.
  • [0239]
    Eine alternative Ausführungsform des Verfahrens "Auto-Filter unter Verwendung von Geboten" ist nachfolgend in Verbindung mit dem folgenden Pseudokode dargestellt.


  • [0240]
    Das Verfahren "Auto-Filter unter Verwendung von Rängen" nimmt als Eingabe einen Begriff Ti und eine Liste von Tupeln <Rang,Gebot>. Es eliminiert alle Tupel, deren Rang nicht dicht am optimalen Rang von Tiu liegt, der bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde.
  • [0241]
    Das Verfahren führt eine Schleife über die Liste der Tupel <Rang,Gebot> aus und prüft ob der Rang des Tupels "dicht" am optimalen Rang liegt, der bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde. Das aktuelle Tupel wird eliminiert, wenn sein Rang sich in einer Distanz von mehr als α vom optimalen Rang, der für Ti bei der vorherigen Ausführung der automatischen Flugverwaltung berechnet wurde, befindet.
  • [0242]
    Fig. 32 ist ein Flussdiagramm, das das Verfahren "Auto-Filter unter Verwendung von Rängen" zeigt. Das Verfahren beginnt am Block 3200. Im Block 3202 wird der Variablen Letzter-Rang der Wert des Eintrags, der dem aktuellen Suchbegriff im Feld Letzter/Rang entspricht, zugewiesen. Im Block 3204 beginnt eine Schleifenoperation, die über die Variable x von einem Wert eins bis zu einem Wert gleich der Länge des Feldes Ränge/Gebote reicht. Im Block 3206 wird die Variable Gebot gleich dem Rangwert des x-ten Eintrags des Feldes Ränge/Gebote gesetzt. Im Block 3208 wird bestimmt, ob die Variable Rang einen Wert aufweist, der kleiner als die Variable Letzter-Rang minus Alpha ist oder ob die Variable Rang einen Wert aufweist, der größer als die Summe von Letzter-Rang und Alpha ist. Wenn dem so ist, so wird im Block 3210 der x-te Eintrag aus dem Feld Ränge/Gebote gelöscht. Ansonsten geht im Block 3212 die Steuerung zum Start der Schleife am Block 3204 zurück. Im Block 3214 gibt das Verfahren, nachdem alle Einträge in der Schleife bearbeitet wurden, den Wert des Feldes Ränge/Gebote zurück. Das Verfahren endet am Block 3216.
  • [0243]
    Eine alternative Ausführungsform des Verfahrens "Auto-Filter unter Verwendung von Rängen" ist nachfolgend in Verbindung mit dem folgenden Pseudokode dargestellt.


  • [0244]
    Aus dem Vorangehenden kann man sehen, dass die vorliegenden Ausführungsformen ein Verfahren und eine Vorrichtung liefern, die ein automatisches Flugverwaltungssystem für werbende Personen mit einem Online-Markt-System liefert. Das System empfängt als Eingabeparameter ein Werbebudget, eine Dauer des Webefluges, anwendbare Suchbegriffe der werbenden Person, maximale mittlere Kosten pro Aktion, Umwandlungsraten und den mittleren Profit der werbenden Person pro Aktion für jeden Begriff. Das System setzt automatisch die Kosten pro Klick oder einer anderen Aktion für jede Auflistung fest, um den Profit der werbenden Person zu maximieren und das Budget vollständig während der Dauer des Fluges auszugeben. Periodisch berechnet das System automatisch die Kosten pro Aktion der Auflistungen neu. Dieses System verbessert somit die Bequemlichkeit und Effizienz, die die werbende Person mit dem Markt-System erfährt.
  • [0245]
    Während eine spezielle Ausführungsform der vorliegenden Erfindung gezeigt und beschrieben wurde, so können Modifikationen vorgenommen werden. Beispielsweise kann das System auf jedes Online-Marktsystem, das andere Zahlungsschemata als die Kosten pro Klick verwendet, wie Kosten pro Abdruck, wo der ökonomische Wert durch eine werbende Person gegeben wird, wenn die Suchauflistung der werbenden Person einem Nutzer dargestellt wird, oder eine Bezahlung für einen Einschluss, wenn der ökonomische Wert durch die werbende Person gegeben wird, um in die Suchdatenbank eingefügt zu werden, angewandt werden. Die angefügten Ansprüche sollen somit solche Änderungen und Modifikationen, die der wahren Idee und dem Umfang der Erfindung folgen, abdecken.
Klassifizierungen
Internationale KlassifikationG06Q30/00, G06F17/30
UnternehmensklassifikationG06Q30/0256, G06Q30/0264, G06Q30/0257, G06Q30/0249, G06Q30/0247, G06Q30/08, G06Q30/02, G06Q30/0275, G06Q30/0277, G06F17/30864
Europäische KlassifikationG06Q30/02, G06Q30/0256, G06Q30/0275, G06Q30/0247, G06Q30/0257, G06Q30/0264, G06F17/30W1, G06Q30/0277, G06Q30/0249, G06Q30/08
Juristische Ereignisse
DatumCodeEreignisBeschreibung
18. Sept. 2003OP8Request for examination as to paragraph 44 patent law
7. Mai 20098127New person/name/address of the applicant
Owner name: YAHOO! INC. (N.D.GES.D. STAATES DELAWARE), SUN, US
23. Juli 20098131Rejection