ПРОГНОЗИРОВАНИЕ И ОБРАБОТКА ТРАНЗАКЦИЙ НА ОСНОВЕ ЧАСТОТЫ
FREQUENCY-BASED TRANSACTION PREDICTION AND PROCESSING

Для настоящей заявки испрашивается приоритет на основании предварительной заявки на патент США № 61/175,381, озаглавленной "SYSTEMS AND METHODS FOR DETERMINING AUTHORIZATION, RISK SCORES AND PREDICTION OF TRANSACTIONS", поданной 4 мая 2009 года, по отношению к которой настоящая заявка является непредварительной и все содержимое которой настоящим включено в данный документ путем ссылки для всех целей.
Настоящая заявка является родственной для одновременно поданных заявок на патент США того же заявителя, озаглавленных "PRE-AUTHORIZATION OF A TRANSACTION USING PREDICTIVE MODELING" авторов Faith и др. (номер дела поверенного 016222-046210US), "DETERMINING TARGETED INCENTIVES BASED ON CONSUMER TRANSACTION HISTORY" авторов Faith и др. (номер дела поверенного 016222-046220US), "DEMOGRAPHIC ANALYSIS USING TIME-BASED CONSUMER TRANSACTION HISTORIES" авторов Faith и др. (номер дела поверенного 016222-046230US) и "FREQUENCY-BASED TRANSACTION PREDICTION AND PROCESSING" авторов Faith и др. (номер дела поверенного 016222-046240US), все содержимое которых настоящим включено в данный документ путем ссылки для всех целей.
УРОВЕНЬ ТЕХНИКИ
Настоящая заявка относится в общем к потребительским операциям (например, транзакциям), более конкретно к отслеживанию потребительской активности, которое может быть использовано в обработке потребительских транзакций.
Сумма, которую потребитель расходует, и общий тип товаров, которые потребитель покупает, могут быть использованы при маркетинговых мероприятиях. Попытки отслеживать такую потребительскую активность в общем принимают во внимание только поведение потребителя в широком смысле, например общую сумму, расходуемую потребителем за фиксированный период времени. Такие попытки отслеживать потребительскую активность также в общем анализируют или иным образом используют потребительскую активность достаточно редко. Например, потребительское поведение может быть проанализировано только несколько раз в год или непосредственно перед крупной маркетинговой кампанией.
Возможность отслеживать точно настраиваемую потребительскую активность может приводить к значительной дополнительной вычислительной сложности и сложности хранения. Эта сложность может требовать того, чтобы анализ данных был нечастым, поскольку более частый анализ является в вычислительном отношении неосуществимым.
Соответственно, желательно обеспечить более точное и надежное отслеживание потребительской активности и отслеживание, при котором данные могут анализироваться и часто использоваться, например, в реальном времени.
Дополнительно, множество транзакций (к примеру, покупки, электронные переводы и т.п.) выполняются в отношении платежного счета, например счета кредитной карты, банковского счета или другого типа счета. Эти типы счетов подвержены мошенничеству, поскольку деньги для оплаты транзакций не предоставляются непосредственно, а вместо этого извлекаются из платежного счета. Например, мошенничество может возникать, когда кто-то, помимо владельца кредитной карты, использует номер кредитной карты, чтобы выполнять покупку.
Уменьшение мошенничества может достигаться по-разному. Например, когда потребитель инициирует транзакцию с продавцом с использованием платежного счета, продавец может отправлять запрос на авторизацию для платежного счета в сеть обработки платежей. Этот запрос на авторизацию может быть частью проверки на предмет мошенничества, а также способом проверки того, что достаточно денежных средств доступно для того, чтобы оплачивать транзакцию. Тем не менее, этот этап авторизации может отнимать значительное количество времени. Таким образом, этот этап авторизации может уменьшать число транзакций, которое продавец может обрабатывать, тем самым уменьшая доход. Потребители также могут задерживаться, что может препятствовать транзакции с использованием платежного счета.
Соответственно, желательно предоставлять более эффективную обработку транзакций при поддержании некоторого механизма для проверки на предмет мошенничества.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Варианты осуществления предоставляют системы, устройства и способы для отслеживания и анализа данных потребительской активности. Отслеживаемые данные могут быть организованы (например, сохранены в кэше, RAM, на жестких дисках) в определенных типах таблиц, при этом таблицы могут быть ассоциированы с определенными тегами (ключами) для эффективного осуществления доступа к данным. Организация и ассоциирования данных также могут предоставлять простые механизмы для обработки данных, чтобы получать результаты, конкретно релевантные для такой задачи, как обнаружение мошенничества или прогноз потребительского поведения, чтобы предоставлять лучшее обслуживание клиентов или новые услуги. Например, таблицы могут содержать счетчики, которые сохраняют число раз, когда два коррелированных потребительских события происходят в конкретных временных интервалах относительно друг друга. Такие временные данные могут предоставлять эффективное определение шаблонов потребительской активности.
Согласно одному варианту осуществления, предоставляется способ определения вероятности возникновения транзакции с участием потребителя. Данные, ассоциированные с транзакциями, ранее выполненными потребителем, принимаются, и определяется множество коррелированных пар транзакций. Каждый из множества счетчиков ассоциирован с диапазоном времени. Для каждой коррелированной пары первое компьютерное устройство определяет временной интервал между транзакциями коррелированной пары и увеличивает счетчик из множества счетчиков. Временной интервал находится в диапазоне времени, ассоциированном с увеличенным счетчиком. Значения счетчиков используются для того, чтобы определять вероятность возникновения другой транзакции с участием потребителя.
Согласно другому варианту осуществления, предоставляется способ определения вероятности возникновения транзакции с участием потребителя. Данные для событий, ассоциированных с потребителем, принимаются, и определяется множество коррелированных пар событий. Один или более ключей ассоциированы с каждым событием; и для каждой коррелированной пары событий идентифицируются одна или более пар ключей, ассоциированных с коррелированной парой. Каждая идентифицированная пара ключей имеет набор счетчиков, при этом каждый счетчик ассоциирован с диапазоном времени. Для каждой коррелированной пары событий первое компьютерное устройство определяет временной интервал между двумя событиями коррелированной пары и увеличивает счетчик для каждой пары ключей, ассоциированной с коррелированной парой событий. Временной интервал находится в диапазоне времени, ассоциированном с увеличенным счетчиком. Значения счетчиков используются для того, чтобы определять вероятность возникновения другого события, которое происходит с участием потребителя и которое ассоциировано с одним или более ключей.
Варианты осуществления настоящего изобретения также могут предоставлять системы, устройства и способы для эффективной авторизации транзакции, инициированной потребителем. В одном варианте осуществления, авторизация формируется до того, как потребитель фактически инициирует транзакцию. Например, будущая транзакция может быть спрогнозирована, и авторизация может формироваться для прогнозируемой транзакции. Таким образом, авторизация может быть готова и быстро использоваться, когда потребитель инициирует транзакцию. Предыдущие транзакции, выполненные потребителем, могут быть использованы для того, чтобы прогнозировать, когда будущая транзакция является наиболее вероятной. В различных примерах авторизация может отправляться конкретному продавцу или потребителю для использования, когда потребитель инициирует прогнозируемую транзакцию, или сохраняться посредством объекта авторизации для использования в ответ на запрос на авторизацию от продавца.
Согласно одному варианту осуществления, предоставляется способ предварительной авторизации будущей транзакции потребителя. Данные, соответствующие предыдущим транзакциям, принимаются. Компьютерная система определяет один или более шаблонов предыдущих транзакций. На основе определенных шаблонов она прогнозирует, когда потребитель с большой вероятностью инициирует будущую транзакцию. Авторизация будущей транзакции формируется до инициирования потребителем транзакции.
Согласно другому варианту осуществления, предоставляется способ использования авторизации для будущей транзакции потребителем. Потребитель выполняет множество предыдущих транзакций. Маркер для авторизации будущей транзакции принимается. Авторизация предназначена для времени, когда будущая транзакция прогнозируется как вероятная на основе предыдущих транзакций. Потребитель предоставляет авторизацию продавцу в момент, когда будущая транзакция прогнозируется как вероятная.
Варианты осуществления настоящего изобретения могут предоставлять системы, устройства и способы для авторизации транзакции, инициированной потребителем. В одном варианте осуществления, функция вероятности аппроксимирует шаблон предыдущих транзакций и предоставляет показатель того, насколько велика вероятность того, что транзакция проводится, в качестве функции от времени. Время текущей транзакции может быть использовано для того, чтобы определять соответствующее значение вероятности функции вероятности, ассоциированной с транзакцией. Значение вероятности может быть использовано для того, чтобы определять количественный показатель для авторизации транзакции. Поскольку вероятность соответствует конкретному времени шаблона, количественный показатель может приспосабливаться к текущей транзакции и достигать большей точности.
Согласно одному варианту осуществления, предоставляется способ определения авторизации транзакции с участием потребителя. Данные, ассоциированные с транзакцией, принимаются. Данные включают в себя время T транзакции. Идентифицируют функцию вероятности, ассоциированную с потребителем и с транзакцией. Функция вероятности аппроксимирует один или более шаблонов ранее выполненных транзакций. Кроме того, функция вероятности имеет соответствующее значение вероятности для каждого из множества времен. Компьютерная система определяет первое значение вероятности функции вероятности, при этом первая вероятность представляет показатель вероятности возникновения транзакции во время T. Количественный показатель определяют с использованием значения вероятности, и он приспособлен для использования при определении авторизации транзакции.
Согласно другому варианту осуществления, принимаются данные, ассоциированные с транзакцией. Одна или более таблиц идентифицируются как ассоциированные с потребителем и с транзакцией. Каждая таблица включает в себя множество значений, организованных вдоль по меньшей мере одной оси. Первая ось каждой таблицы соответствует множеству различных диапазонов времени. Значения в каждой таблице соответствуют числу предыдущих транзакций, проводимых в одном из различных диапазонов времени. Компьютерная система определяет по меньшей мере одно значение из каждой таблицы, при этом по меньшей мере одно значение предназначено для диапазона времени, с которым время T соотносится. Количественный показатель определяется с использованием по меньшей мере одного значения и приспособлен для использования при определении авторизации транзакции.
Другие варианты осуществления изобретения направлены на системы, устройства, портативные бытовые устройства и машиночитаемые носители, ассоциированные со способами, описанными в данном документе.
Лучшее понимание характера и преимуществ настоящего изобретения может быть получено при обращении к нижеследующему подробному описанию и сопровождающим чертежам.
Краткое описание чертежей
Фиг. 1 показывает блок-схему системы согласно варианту осуществления изобретения.
Фиг. 2A и 2B показывают графики предыстории транзакций потребителя, проанализированных согласно вариантам осуществления настоящего изобретения.
Фиг. 3A является блок-схемой последовательности операций, иллюстрирующей способ для анализа предыстории транзакций, ассоциированной с потребителем согласно вариантам осуществления настоящего изобретения.
Фиг. 3B показывает модуль преобразования, который принимает данные транзакции и предоставляет ключи, которые ассоциированы с данными транзакции согласно вариантам осуществления настоящего изобретения.
Фиг. 4 является графиком числа транзакций в определенные истекшие времена между конечным ключом и начальным ключом из пары коррелированных ключей согласно вариантам осуществления настоящего изобретения.
Фиг. 5A показывает таблицу, которая сохраняет информацию времени для пары ключей согласно вариантам осуществления настоящего изобретения.
Фиг. 5B показывает график для использования при определении интервалов времени для таблицы 500 согласно варианту осуществления настоящего изобретения.
Фиг. 6A показывает данные транзакции с примерными категориями ключевых элементов, перечисленных согласно варианту осуществления настоящего изобретения.
Фиг. 6B показывает набор пар коррелированных ключей, отслеживаемых на предмет объекта счета согласно варианту осуществления настоящего изобретения.
Фиг. 7A показывает различные запросы и результаты согласно вариантам осуществления настоящего изобретения.
Фиг. 7B показывает таблицу поиска идентификаторов пар ключей, при этом каждый номер пары ключей имеет пару хэшей, ассоциированных с ним, согласно вариантам осуществления настоящего изобретения.
Фиг. 7C показывает способ совмещения для нахождения аналогичного ключа, когда точное совпадение для входного ключа(ей) не найдено согласно вариантам осуществления настоящего изобретения.
Фиг. 7D показывает модуль согласования и извлечения, который получает совпадающие таблицы пар ключей на основе ключей, принятых из функции преобразования согласно вариантам осуществления настоящего изобретения.
Фиг. 8 показывает различные таблицы, обновленные для идентичной транзакции K5 согласно варианту осуществления настоящего изобретения.
Фиг. 9 показывает пример получения признаков подобия последней транзакции относительно установленного шаблона транзакции потребителя согласно варианту осуществления настоящего изобретения.
Фиг. 10 иллюстрирует совмещение краткосрочной таблицы пар ключей с установленными таблицами пар ключей согласно вариантам осуществления настоящего изобретения.
Фиг. 11 показывает вычисление вероятности того, что транзакция или набор транзакций являются аналогичными установленным шаблонам согласно вариантам осуществления настоящего изобретения.
Фиг. 12 является блок-схемой последовательности операций способа для определения вероятности событий, для которых данные приняты согласно вариантам осуществления.
Фиг. 13 является блок-схемой последовательности операций способа для авторизации транзакции потребителя согласно вариантам осуществления настоящего изобретения.
Фиг. 14 является блок-схемой последовательности операций способа для прогнозирования события согласно вариантам осуществления настоящего изобретения настоящего изобретения.
Фиг. 15 является блок-схемой последовательности операций способа для предварительной авторизации транзакции потребителя согласно вариантам осуществления.
Фиг. 16 показывает блок-схему примерной компьютерной системы, применимой с системами и способами согласно вариантам осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Варианты осуществления обеспечивают системы, устройства и способы для отслеживания и анализа данных потребительской активности. Отслеживаемые данные могут быть организованы (например, сохранены в кэше, RAM, на жестких дисках) в определенных типах таблиц, при этом таблицы могут быть ассоциированы с определенными тегами (ключами) для эффективного осуществления доступа к данным. Организация и ассоциирование данных также могут обеспечивать простые механизмы обработки данных, чтобы получать результаты, конкретно релевантные для задачи (например, обнаружение мошенничества или прогноз потребительского поведения, чтобы предоставлять лучшее обслуживание клиентов или новые услуги).
Предложена структура для отслеживания потребителей, продавцов, область использования различных событий (например, транзакции или начала периода времени) для определения релевантного потребительского поведения. Потребительское поведение затем может быть использовано для различных целей. Сначала описана общая структура обработки платежей, затем вводится принцип шаблона для транзакций. Пояснен способ сохранения информации синхронизации для данных транзакции в таблицах с дискретизированными диапазонами времени и отношением с периодическими функциями. Организация таблиц для различных атрибутов транзакций и расширения до различных событий и объектов конкретизирована в различных вариантах осуществления. Фильтрация для релевантных событий и объектов описана таким образом, что она получает релевантные данные для вычислений. Также описано использование мнимой части комплексных чисел в таблицах для оценки того, когда будущая транзакция является вероятной. Примеры различных вычислений с использованием этой инфраструктуры приведены ниже.
I. Обзор системы
Фиг. 1 показывает примерную систему 20 согласно варианту осуществления изобретения. Другие системы согласно другим вариантам осуществления изобретения могут включать в себя большее или меньшее число компонентов, чем показано на фиг. 1.
Система 20, показанная на фиг. 1, включает в себя продавца 22 и аквизитора 24, ассоциированного с продавцом 22. В обычной платежной транзакции потребитель 30 может приобретать товары или услуги у продавца 22 с использованием портативного бытового устройства 32. Продавец 22 может быть физическим продавцом с обслуживанием в офисе или электронным продавцом. Аквизитор 24 может обмениваться данными с эмитентом 28 через сеть 26 обработки платежей. Продавец 22 альтернативно может быть соединен непосредственно с сетью 26 обработки платежей. Потребитель может взаимодействовать с сетью 26 обработки платежей и продавцом через устройство 34 доступа.
В контексте данного документа «аквизитор» обычно является коммерческой организацией, например, коммерческим банком, который имеет деловые отношения с конкретным продавцом, или ATM. «Эмитент» обычно является коммерческой организацией (например, банком), которая выдает портативное бытовое устройство, к примеру, кредитную или дебетовую карту потребителю. Некоторые объекты могут выполнять функции эмитента и аквизитора. Варианты осуществления изобретения включают в себя таких эмитентов-аквизиторов в одном объекте.
Потребитель 30 может быть человеком или организацией, к примеру фирмой, которая допускает покупку товаров или услуг. В других вариантах осуществления, потребитель 30 может быть просто человеком, который хочет осуществлять некоторый другой тип транзакции, к примеру транзакцию денежного перевода или транзакцию в ATM.
Портативное бытовое устройство 32 может иметь любую подходящую форму. Например, подходящие портативные клиентские устройства могут быть карманными и компактными, так что они могут вмещаться в бумажник и/или карман потребителя (например, карманными). Они могут включать в себя смарт-карты, обычные кредитные или дебетовые карты (с магнитной полосой и без микропроцессора), устройства-брелоки (такие как Speedpass™, предлагаемый на рынке компанией Exxon-Mobil Corp.) и т.д. Другие примеры портативных клиентских устройств включают в себя сотовые телефоны, персональные цифровые помощники (PDA), устройства поискового вызова, платежные карты, карты безопасности, карты доступа, смарт-носители, ретрансляторы и т.п. Портативные клиентские устройства 32 также могут быть дебетовыми устройствами (например, дебетовой картой), кредитными устройствами (например, кредитной картой) или устройствами с хранимой суммой (например, картой с хранимой суммой).
Продавец 22 также может иметь или может принимать обмен данными из устройства 34 доступа, которое может взаимодействовать с портативным бытовым устройством 32. Устройства доступа согласно вариантам осуществления изобретения могут иметь любую подходящую форму. Примеры устройств доступа включают в себя кассовые (POS) терминалы, сотовые телефоны, PDA, персональные компьютеры (PC), планшетные PC, специализированные карманные устройства считывания, абонентские приставки, электронные кассовые аппараты (ECR), банкоматы (ATM), виртуальные кассовые аппараты (VCR), киоски, системы безопасности, системы доступа и т.п.
Если устройство 34 доступа является кассовым терминалом, может быть использован любой подходящий кассовый терминал, в том числе и устройства считывания карт. Устройства считывания карт могут включать в себя любой подходящий контактный или бесконтактный режим работы. Например, примерные устройства считывания карт могут включать в себя RF (радиочастотные) антенны, устройства считывания магнитных полос и т.д., чтобы взаимодействовать с портативными клиентскими устройствами 32.
Устройство 34 доступа также может быть беспроводным телефоном. В одном варианте осуществления, портативное бытовое устройство 32 и устройство доступа являются идентичным устройством. Например, потребитель может использовать беспроводной телефон для того, чтобы выбирать элементы для покупки через обозреватель (браузер).
Когда устройство 34 доступа является персональным компьютером, взаимодействие портативных бытовых устройств 32 может достигаться через потребителя 30 или другого человека, вводящего информацию кредитной карты в приложение (например, обозреватель), которое открыто для того, чтобы приобретать товары или услуги, и которое подключено к серверу продавца, например, через веб-узел. В одном варианте осуществления, персональный компьютер может быть в контрольно-кассовом пункте розничного магазина продавца, и приложение может быть уже подключено к серверу продавца.
Портативное бытовое устройство 32 дополнительно может включать в себя бесконтактный элемент, который обычно реализуется в форме полупроводникового кристалла (или другого элемента хранения данных) с ассоциированным элементом для беспроводной передачи (например, передачи данных), таким как антенна. Бесконтактный элемент ассоциирован (например, встроен) с портативным бытовым устройством 32, и данные или управляющие инструкции, передаваемые через сотовую сеть, могут применяться к бесконтактному элементу посредством интерфейса бесконтактного элемента (не показан). Интерфейс бесконтактного элемента выполнен с возможностью разрешать обмен данными и/или управляющими инструкциями между схемой мобильного устройства (и, следовательно, сотовой сетью) и необязательным бесконтактным элементом.
Портативное бытовое устройство 32 также может включать в себя процессор (например, микропроцессор) для обработки функций портативного бытового устройства 32 и дисплей, чтобы давать возможность потребителю видеть телефонные номера и другую информацию и сообщения.
Если портативное бытовое устройство имеет форму дебетовой, кредитной или смарт-карты, портативное бытовое устройство также необязательно может иметь такие признаки, как магнитные полосы. Такие устройства могут работать в контактном или бесконтактном режиме.
Снова ссылаясь на фиг. 1, сеть 26 обработки платежей может включать в себя подсистемы обработки данных, сети и операции, используемые для того, чтобы поддерживать и предоставлять услуги авторизации, услуги файлов исключения и услуги клиринга и расчетов. Примерная сеть обработки платежей может включать в себя VisaNet™. Сети обработки платежей, такие как VisaNet™, могут обрабатывать транзакции по кредитным картам, транзакции по дебетовым картам и другие типы коммерческих транзакций. VisaNet™, в частности, включает в себя систему VIP (систему объединенных платежей Visa), которая обрабатывает запросы на авторизацию, и систему Base II, которая выполняет услуги клиринга и расчетов.
Сеть 26 обработки платежей может включать в себя серверный компьютер или другое компьютерное устройство. Серверный компьютер обычно является мощным компьютером или кластером компьютеров. Например, серверный компьютер может быть большим мэйнфреймом, кластером мини-компьютеров или группой серверов, выступающих в качестве модуля. В одном примере, серверный компьютер может быть сервером базы данных, соединенным с веб-сервером. Сеть 26 обработки платежей может использовать любую подходящую проводную или беспроводную сеть, включающую в себя Интернет.
Как показано на фиг. 1, сеть 26 обработки платежей может содержать сервер 26a, базу 26b данных предыстории транзакций и анализатор 26c транзакций. В различных вариантах осуществления, анализатор 26c транзакций может определять шаблоны в транзакциях, сохраненных в базе 26b данных предыстории транзакций, чтобы определять определенные действия, такие как авторизация транзакции или отправка стимулирования. В одном варианте осуществления, система 27 стимулирования соединяется или является частью сети 26 обработки платежей и может быть использована для того, чтобы определять стимулирование на основе определенных шаблонов транзакций. Каждое из этих устройств может поддерживать связь друг с другом. В одном варианте осуществления, все или части анализатора 26c транзакций и/или базы 26b данных предыстории транзакций могут быть частью или совместно использовать схему с сервером 26a.
При использовании в данном документе, «стимулирование» может быть любыми данными или информацией, отправляемой потребителю, чтобы мотивировать транзакцию. Например, купон может отправляться потребителю в качестве стимулирования, поскольку потребитель может получать лучшую цену транзакции. В качестве другого примера, реклама может отправляться потребителю, чтобы мотивировать транзакцию посредством осведомления потребителя о продукте или услуге. Другой пример стимулов может включать в себя вознаграждения за выполнение транзакции и преференциальный режим обслуживания при выполнении транзакции.
В одном варианте осуществления, сеть 26 обработки платежей может заключать сделки с конкретными компаниями, рекламодателями или производителями для отправки стимулов. Сеть 26 обработки платежей затем может извлекать стимулирование из системы 27 стимулирования, которая соединяется или является частью сети 26 обработки платежей. Система 27 стимулирования может быть простым репозиторием стимулов или информации о конкретных стимулах. В одном варианте осуществления, сеть 26 обработки платежей может идентифицировать конкретные свойства стимулирования (например, продавец, тип продавца, продукт,...) и затем запрашивать систему 27 стимулирования на предмет стимулирования. Система 27 стимулирования может выполнять задачу хранения актуального перечня стимулов, которые могут быть использованы. Система 27 стимулирования также может извлекать стимулы из серверов, ассоциированных с конкретными продавцами, изготовлениями, рекламодателями или другими компаниями.
Эмитент 28 может быть банком или другой организацией, которая может иметь счет, ассоциированный с потребителем 30. Эмитент 28 может управлять сервером, который может поддерживать связь с сетью 26 обработки платежей.
Варианты осуществления изобретения не ограничены вышеописанными вариантами осуществления. Например, хотя отдельные функциональные блоки показаны для эмитента, сети обработки платежей и аквизитора, некоторые объекты выполняют все или любую подходящую комбинацию этих функций и могут быть включены в варианты осуществления изобретения. Дополнительные компоненты также могут быть включены в варианты осуществления изобретения.
II. Идентификация шаблонов
Потребительская активность может включать в себя транзакции, помимо прочего. Знание шаблона транзакций потребителя может давать возможность лучшего обнаружения случаев мошенничества, лучшего обслуживания клиентов посредством подготовки транзакции или идентификации возможностей стимулировать длительное либо новое поведение потребителя, а также предоставлять другие преимущества. Тем не менее, идентификация шаблона может быть затруднительной с учетом огромного объема данных, некоторые из которых могут демонстрировать шаблоны, а некоторые - нет.
При использовании в данном документе, термин «шаблон» относится в широком смысле к поведению любого набора событий (например, транзакций), которые имеют вероятность повторения. В одном аспекте вероятность может превышать случайный набор событий, например, событий, которые декоррелированы. Вероятность может выражаться как вероятность (например, в качестве процентного отношения или отношения), ранг (например, с помощью чисел или организованных слов) или другие подходящие значения или символы. Один тип шаблона является основанным на частоте шаблоном, в котором события повторяются с одной или более частот, которые могут предварительно задаваться. Чтобы задавать шаблон, может быть использован опорный кадр. В различных вариантах осуществления опорный кадр может быть или включать в себя истекшее время с момента последнего события (например, типа, коррелированного с текущим событием), с начала фиксированного периода времени, такого как день, неделя, месяц, год,... (который является примером начального события), перед концом фиксированного периода времени или перед возникновением запланированного события (пример завершающего события). Другим событием могут быть определенные действия потребителя, к примеру, поездка в конкретное географическое местоположение или просмотр определенного адресного местоположения в Интернете.
Фиг. 2A показывает график 200 предыстории транзакций или других событий потребителя, проанализированных согласно вариантам осуществления настоящего изобретения. График 200 показывает время, в которое произошла каждая из множества из предыдущих транзакций 210. Как показано, время является абсолютным временем (например, дата и время), но это может быть истекшее время в других вариантах осуществления. В данном документе, термин «время» может означать дату и время конкретного дня. Эти предыдущие транзакции 210, которые проводятся до конечного времени 205, могут быть проанализированы, чтобы определять шаблон 220, который может быть функцией, которая аппроксимируется, когда транзакции проводятся с большой вероятностью. В качестве примера, идентифицированный шаблон может быть использован для того, чтобы прогнозировать следующую транзакцию или авторизовать новую транзакцию, например транзакцию 230.
Идентификация шаблона может иметь множество сложностей. Если предыдущие транзакции 210 включают в себя все транзакции потребителя и демонстрируют только один шаблон, то идентификация шаблона может быть относительно простой. Тем не менее, если только определенные типы транзакций для потребителя показывают шаблон, то идентификация может быть более сложной. Некоторые варианты осуществления могут использовать ключи (K1, K2,...), чтобы упрощать анализ определенных типов транзакций, при этом ключ может соответствовать типу транзакции. Ключи также дают возможность идентификации транзакций как релевантных для текущей задачи (например, ассоциированных с текущей транзакцией).
Дополнительная сложность может состоять в том, оказывает или нет путь для конкретной транзакции влияние на шаблон, например шаблон, который существует только тогда, когда определенные транзакции предшествуют или идут после транзакции. Варианты осуществления могут сохранять данные транзакции, ассоциированные с конкретным порядком ключей (например, K1, K3). Таким образом, данные для этого конкретного порядка могут быть проанализированы для того, чтобы определять шаблон. Порядок ключей также дает возможность дополнительной идентификации релевантных транзакций.
iwt
Вся эта сложность может быть дополнительно повышена в случаях, когда определенный путь (последовательность двух или более транзакций) может иметь несколько шаблонов. Варианты осуществления могут использовать определенные функциональные формы, чтобы помогать идентифицировать различные шаблоны. В некоторых вариантах осуществления, используются периодические функции, например, e, где w является частотой шаблона. В одном варианте осуществления, частоты заранее выбраны, тем самым предоставляя возможность эффективного определения шаблонов. Дополнительно, частоты могут быть идентифицированы посредством ассоциированной длины волны или диапазона длин волн. Счетчики могут использоваться для каждого диапазона длин волн, тем самым давая возможность очень быстрой идентификации шаблона посредством анализа значений счетчиков.
Различные варианты осуществления могут обрабатывать определенные или все эти случаи сложности. В данном документе, сначала приводятся менее сложные примеры, чтобы получать понимание фундаментальных понятий, и более сложные примеры добавляются позднее.
Фиг. 3A является блок-схемой последовательности операций, иллюстрирующей способ 300 для анализа предыстории транзакций, ассоциированной с потребителем согласно вариантам осуществления настоящего изобретения. Например, предыдущие транзакции 210 могут рассматриваться как предыстория транзакций. В одном варианте осуществления, транзакции анализируются в конкретный период времени, например в прошлом году или в определенном временном окне (например, показано начало 203 и завершение 205). В другом варианте осуществления, все транзакции перед временем анализа анализируются как часть предыстории транзакций. Транзакции также могут быть фильтрованы на основе определенных критериев, так что анализируются только определенные типы транзакций. Предыстория транзакций может включать в себя действительные и мошеннические транзакции. Все или части способа 300 или других способов в данном документе могут выполняться посредством компьютерной системы, которая может включать в себя всю или части сети 26; эта система может включать в себя различные подсистемы, которые могут обмениваться данными, например, через сеть посредством считывания и записи на идентичное запоминающее устройство или через портативные запоминающие устройства, которые переносятся из одной подсистемы в другую.
На этапе 310, компьютерное устройство (например, вся или части сети 26, такие как база 26b данных и анализатор 26c) принимает данные, ассоциированные с транзакциями, ранее выполненными потребителем. Каждая транзакция может иметь любое число фрагментов данных, ассоциированных с ней. Например, данные могут включать в себя категории номера счета, объемы транзакции, времени и даты, типа или названия продукта или услуги, участвующей в транзакции, названия или кода продавца (mcc), отраслевого кода, поля терминала (проведена или нет карта через считывающее устройство) и географического местоположения (страна, почтовый индекс,...). В одном варианте осуществления, продавец может быть целой цепочкой или конкретным магазином цепочки. В некоторых вариантах осуществления, данные транзакции также могут включать в себя видео- и/или аудиоданные, например, чтобы идентифицировать человека или поведение человека. Данные транзакции могут отличаться для каждой транзакции, в том числе и номер счета. Например, потребитель может быть идентифицирован с помощью номера счета, и другие номера счетов потребителя могут быть включены в анализ поведения потребителя.
На этапе 320, каждая транзакция ассоциирована с одним или более ключей (например, K1, K2,...). В различных вариантах осуществления, ключ может включать в себя части данных транзакции и/или данных, извлеченных из данных транзакции. Например, ключ может идентифицировать транзакцию посредством включения одного или более номеров счетов (или другого идентифицирующего буквенно-цифрового кода), времени и даты, названия продавца, отраслевого кода и географического местоположения (страна, почтовый индекс,...). Ключ также может состоять из результатов анализа транзакции, например, то, является транзакция транзакцией с физическим наличием карты или транзакцией без физического наличия карты, может быть определено из данных транзакции и включено в ключ.
Каждый фрагмент данных ключа упоминается как ключевой элемент. Ключ большей длины может иметь больше ключевых элементов и может быть более избирательным идентификатором типа транзакций. Таким образом, каждая транзакция может быть ассоциирована с различными ключами, каждый из которых имеет различную область специфичности для отличения транзакции.
Фиг. 3B показывает модуль 392 преобразования, который принимает данные 390 транзакции и предоставляет ключи (например, K1 и K2), которые ассоциированы с данными транзакции согласно вариантам осуществления. В простом показанном примере, данные 390 транзакции включают в себя почтовый индекс, код продавца и номер счета. Модуль 392 преобразования определяет то, что существует по меньшей мере два ключа K1 (почтовый индекс, номер счета) и K2 (mcc, номер счета), ассоциированных с данными транзакции. Эти ключи могут быть использованы для того, чтобы отслеживать различные уровни детализации по транзакциям, например, для нескольких почтовых индексов, кодов продавцов и номеров счетов. В одном аспекте, чем больше ключей, которые ассоциированы, тем более отличающаяся информация отслеживается. Модуль 392 преобразования может выполняться различными способами. Например, патент (США) номер 7227950 Faith и др. описывает некоторые реализации с использованием дверей и замков для ассоциирования данных транзакции с ключом.
В некоторых вариантах осуществления, модуль 392 преобразования может иметь предписанный набор операций, которые могут предоставлять различное число ассоциированных ключей в зависимости от принятых данных транзакции. В одном варианте осуществления, эти операции могут выполняться в идентичном порядке относительно каждого набора данных транзакции, который принимается. В других вариантах осуществления, порядок и конкретные функции, выполняемые посредством модуля 392 преобразования, могут изменяться в зависимости от данных транзакции и промежуточных данных, извлеченных из них. Например, различный набор функций преобразования может использоваться для конкретных номеров счетов, что может приводить к отслеживанию большего объема информации для конкретного потребителя (например, если потребитель расходует крупную сумму денег или ассоциирован с большим объемом мошенничества). Модуль 392 преобразования может извлекать данные или функции из запоминающего устройства, чтобы предоставлять результат, адаптированный к принимаемым данным транзакции.
Снова ссылаясь на фиг. 3A, на этапе 330, пары коррелированных ключей (например, пара ключей <KI:KF>) определяются на основе того, коррелируются или нет транзакции, ассоциированные с начальным ключом (KI), с транзакциями с конечным ключом (KF). Первая (начальная) транзакция может быть коррелирована с последующей (конечной) транзакцией. Начальный ключ и конечный ключ могут быть одинаковыми или отличаться друг от друга. Например, транзакция для одного продавца может быть коррелирована с последующей покупкой для другого продавца, что может происходить, если продавцы располагаются рядом друг с другом. В одном варианте осуществления, группа из более чем двух ключей может быть коррелирована между собой, например, группа из трех ключей может быть коррелирована.
В одном варианте осуществления, транзакции коррелируются, если две транзакции появляются значительное число раз. Близость во времени также может быть использована в качестве критериев. Вероятность двух коррелированных транзакций обычно уменьшается, если в ключах используется больше ключевых элементов (например, данных транзакции). В одном варианте осуществления два ключа пары ключей имеют идентичный уровень специфичности.
Транзакции могут быть коррелированы несколькими способами в зависимости от того, сколько ключей ассоциировано с каждой транзакцией. Таким образом, две транзакции могут способствовать нескольким парам ключей, когда транзакции ассоциированы с несколькими ключами. Например, если начальная транзакция ассоциирована с двумя ключами и конечная транзакция также ассоциирована с двумя ключами, то может быть четыре результирующих пары ключей.
Транзакция может быть коррелирована с другой транзакцией только через определенные ключи. Например, первая транзакция T1 ассоциирована с ключами K1 и K2, а вторая транзакция T2 ассоциирована с ключами K3 и K4. Если <K1:K2> является парой коррелированных ключей, то данные для транзакций T1 и T2 ассоциированы с парой ключей <K1:K2>. Но если <K3:K4> не коррелируются, то пара ключей <K3:K4> не отслеживается и, таким образом, отсутствуют данные транзакции, ассоциированные с ней. Фактически различные ключи для идентичной транзакции могут рассматриваться как различные транзакции.
На этапе 340 для каждой пары коррелированных ключей информация времени, ассоциированная с транзакциями для этой пары ключей или другой группы ключей, сохраняется (например, в базе 26b данных предыстории транзакций). В одном аспекте, идентификатор пары ключей (например, уникальный идентификационный номер) ассоциирован с сохраненной информацией времени. В качестве примера ассоциирования, идентификатор пары ключей может указывать на информацию времени, информация времени может быть сохранена в строке, идентичной строке идентификатора пары ключей, и идентификатор пары ключей может быть сохранен ассоциированным с указателем.
В некоторых вариантах осуществления, информация времени для пары ключей <K1:K2> может быть сохранена в таблице базы данных, доступ к которой может осуществляться с помощью запроса, содержащего K1, K2 или комбинацию (потенциально в порядке K1:K2). Например, поиск K1 и/или K2 может предоставлять ассоциированные идентификаторы. В одном варианте осуществления, хэш каждого ключа пары также ассоциирован с идентификатором пары ключей, так что информация для каждого ключа может индексироваться и находиться отдельно. Например, хэши K1 и K2 могут быть сохранены в таблице поиска, таким образом, идентификаторы пар ключей (и тем самым информация пары ключей) могут быть легко найдены. Таким образом, сохранение информации времени в ассоциации с определенными парами ключей может давать возможность простого осуществления доступа к информации времени для определенных типов транзакций. Кроме того, такая организация может предоставлять более простой анализ данных, чтобы идентифицировать шаблоны для конкретных пар ключей.
В одном варианте осуществления, информация времени может быть абсолютным временем. Например, время и дата для всех транзакций, имеющих K1 или K2, могут быть по отдельности сохранены для пары ключей <K1:K2> или сохранены для каждого примера корреляции. Другие данные также могут быть сохранены, к примеру, то, что является транзакция K1 или K2, и другие данные, не включенные в ключи, к примеру, объем транзакции. Когда пара ключей - это <K1:K1>, дата и время, возможно, должны быть сохранены только один раз.
В другом варианте осуществления, информация времени может быть истекшим временем. Например, истекшее время может быть истекшим временем между транзакцией с K1 и следующей транзакцией с K2 для коррелированной пары <K1:K2>. В этом варианте осуществления, K1 является начальным ключом, а K2 является конечным ключом.
На этапе 350 выбираются релевантные пары ключей. Релевантные пары ключей могут быть определены на основе конкретной задачи, в которой предыстория транзакций используется. Например, если задача состоит в том, чтобы определять то, авторизовать или нет новую транзакцию (например, текущую транзакцию 230 на фиг. 2A), то релевантные пары ключей должны быть парами, которые включают в себя ключи, ассоциированные с новой транзакцией. В одном варианте осуществления, релевантными парами ключей являются все пары ключей, которые ассоциированы с текущей транзакцией в качестве конечного ключа.
На этапе 360, анализатор шаблонов (например, анализатор 26c транзакций) определяет один или более шаблонов предыдущих транзакций из информации времени для релевантных пар ключей. Поскольку информация времени организуется с ассоциированием с релевантными парами ключей, анализатор шаблонов может легко получать конкретные необходимые данные.
Например, допустим, что фиг. 2A показывает все транзакции с ключом K1 (т.е. каждая из транзакций имеет идентичный ключ). Анализатор шаблонов может получать эту информацию времени посредством формирования запроса для пары ключей <K1:K1>. Информация времени может быть сохранена в качестве списка транзакций в хронологическом порядке. Возникновения транзакции затем могут быть проанализированы (например, анализ Фурье или другой функциональный анализ), чтобы идентифицировать шаблон времен и дат этих транзакций. Как показано, транзакции моделируются с помощью периодической функции (к примеру, синусоидальной или косинусоидальной), которая аппроксимирует возникновение транзакций. Параметры функции(й) могут быть модифицированы до хорошей аппроксимации транзакций, проводимых на пиках функции(й). Как показано, шаблон 220 демонстрирует относительно большую длину волны с группами транзакций на пиках шаблона.
В качестве примера различного шаблона фиг. 2B показывает график 250 предыдущих транзакций 260 потребителя, проанализированных согласно вариантам осуществления настоящего изобретения. В случае, если фиг. 2B приведена для другой пары ключей <K2:K2>, доступ к данным только для этой конкретной пары ключей может снова осуществляться легко, поскольку данные уже сохранены ассоциированными с парой ключей. Таким образом, шаблон 270 для предыдущих транзакций может быть идентифицирован только посредством анализа транзакций, ассоциированных с парой ключей <K2:K2>. Прогнозируемые или текущие транзакции 280 затем могут быть проанализированы в связи с шаблоном 270. Если обе предыдущие транзакции 210 и 260 анализируются как один набор предыдущих транзакций для потребителя, то различные шаблоны 220 и 270 труднее идентифицировать. Другие более эффективные методы определения шаблонов поясняются позднее.
На этапе 370 один или более признаков шаблона могут получаться. Признаки могут быть любой характеристикой шаблона транзакции потребителя, например числовым значением. В одном варианте осуществления, признаки заключаются в том, как конкретная транзакция связана с полным шаблоном транзакций потребителя. Признаки также могут связывать текущую транзакцию с шаблонами других объектов, к примеру определенными демографическими данными или мошенническими шаблонами.
В различных вариантах осуществления, признаками могут быть число транзакций в диапазоне времени или вероятность (либо другой показатель вероятности) в данный момент времени, например, вычисленная из значения функции шаблона в момент времени. Например, если авторизация для текущей транзакции запрашивается, признаки могут включать в себя вероятность для транзакции во время текущей транзакции (например, транзакции 230). В одном варианте осуществления, для прогнозируемой транзакции, признаки могут включать в себя вероятность и временное окно того, когда возникает высокая вероятность прогнозируемой транзакции. Временное окно может измеряться со времени, когда анализ выполняется (например, в конечное время 205). Временное окно может указываться любым числом способов. Например, временное окно может указывать дату/время начала и дату/время окончания.
В варианте осуществления, в котором текущая транзакция имеет несколько ассоциированных ключей, признаки (например, вероятности) могут быть суммированы. Например, допустим, что текущая транзакция имеет оба ключа K1 и K2, ассоциированные с ней. Таким образом, шаблоны 220 и 270 могут применяться к транзакции. Признаки обоих этих шаблонов могут быть суммированы, поскольку на полную вероятность для транзакции оказывают влияние оба шаблона. В одном варианте осуществления, ассоциирование транзакции с несколькими ключами может приводить к суммированию, чтобы определять полную вероятность, и выделение ключей может давать возможность более простой идентификации шаблонов. В другом варианте осуществления значения вероятности анализируют отдельно, как упомянуто ниже.
На этапе 380 признаки от одного или более шаблонов могут быть использованы для того, чтобы определять полную вероятность, которая может быть использована для того, чтобы определять действие. Например, признаки могут быть использованы для того, чтобы определять количественный показатель риска, который может быть использован для того, чтобы определять то, авторизовать или нет текущую транзакцию. Действие также может включать в себя то, следует предварительно авторизовать транзакцию или отправлять стимулирование (например, купон). В различных вариантах осуществления, полная вероятность может соответствовать вероятности того, что транзакция является мошеннической, вероятности того, что транзакция должна проводиться в конкретное абсолютное или относительное время, вероятности (например, в процентном отношении) того, что один шаблон транзакции потребителя является аналогичным другому шаблону транзакции потребителя.
В некоторых вариантах осуществления, признаки могут вводиться в функцию моделирования в качестве части определения полной вероятности. В различных реализациях, функция моделирования может быть функцией оптимизации (например, нейронной сетью) или может быть деревом решений (например, состоящим из логики IF THEN, которая сравнивает признаки с одним или более предельных значений). В одном варианте осуществления, функция оптимизации может обучаться на предыдущих транзакциях и тем самым может определять то, подходит или нет текущее событие (например, транзакция) к предыдущим шаблонам конкретного объекта (например, потребителя или продавца) в достаточной степени для того, чтобы выполнять действие. Алгоритм оптимизации также может обучаться с использованием предыдущих шаблонов из нескольких объектов. В другом варианте осуществления, число ассоциированных ключей из этапа 320 связано с числом вводов в функцию моделирования. Взаимосвязь не обязательно является «один к одному», поскольку аналогичные ключи (например, идентичной категории) могут быть комбинированы (например, идентичные ключевые элементы, но просто различные значения), но может быть соответствие между числом различных типов ключей и числом вводов.
Примеры, в которых пары ключей имеют различные ключи
Вышеприведенные примеры для идентификации шаблона конкретно направлены на случаи, когда пары ключей оба являются идентичным ключом. В таких случаях абсолютные времена транзакций могут быть проиллюстрированы и могут подходить для функции. Тем не менее, когда транзакции выполняются из двух различных ключей, идентификация шаблона может быть труднее. В этих случаях может быть использовано истекшее время (временной интервал между двумя событиями).
В этом варианте осуществления, пара ключей может иметь начальный ключ и конечный ключ, как упомянуто выше. Начальный ключ появляется первым по времени, а второй ключ появляется вторым по времени. Истекшее время должно быть временем между конечным ключом и начальным ключом. Таким образом, если два ключа K1, K2 коррелируются, может быть две пары ключей <K1:K2> и <K2:K1>. Следует отметить, что возможно то, что только одна из этих пар ключей существует, поскольку возможно то, что другая пара ключей не коррелируется. В одном варианте осуществления, в котором K2 является текущей транзакцией, истекшие времена для транзакции K2 с момента последней транзакции K1 анализируются.
Фиг. 4 является графиком 400 числа транзакций в определенные истекшие времена между конечным событием (с ключом KF) и начальным событием (с ключом KI) пары коррелированных ключей согласно вариантам осуществления. График 400 может рассматриваться как гистограмма. Ось X является истекшим временем между конечным событием (например, транзакция) и коррелированным начальным событием. Может использоваться любая единица времени, к примеру минуты, часы, дни, недели и даже годы. Ось Y является пропорциональной числу транзакций. Каждая полоса 410 соответствует числу транзакций в истекшее время. Каждая полоса 410 может увеличиваться во времени по мере того, как новые транзакции принимаются, причем новая транзакция должна иметь истекшее время относительно коррелированного начального события. Следует отметить, что несколько пар событий могут иметь идентичное истекшее время.
В одном варианте осуществления, ось X может иметь дискретные времена. Например, только транзакции в течение каждого дня могут отслеживаться. Таким образом, если начальное событие является началом месяца, то число дискретных периодов времени должно иметь максимум 31 день. В этом варианте осуществления, значения истекшего времени в определенном диапазоне могут способствовать идентичному параметру, и полосы 410 могут рассматриваться как счетчики. Например, если дискретные времена задаются за день, то любые две транзакции, которые имеют истекшее время в 12 дней с момента коррелированного события KI, должны приводить к увеличению одного счетчика. В одном варианте осуществления, эти счетчики являются информацией времени, которая сохраняется на этапе 340 способа 300. В некоторых реализациях диапазоны времени не имеют идентичную производительность. Например, диапазоны времени ближе к нулю могут иметь меньшую продолжительность (например, всего несколько минут), чем диапазоны времени дальше от нуля (например, дни или месяцы).
Шаблон 420 может быть различен из истекших времен. Как показано, шаблон 420 имеет большее значение в истекшие времена, когда больше транзакций выполнено. В одном варианте осуществления, шаблоном 420 могут быть сами счетчики. Тем не менее, в случаях, если временные интервалы не являются дискретными или имеют небольшой диапазон, полосы 410 могут иметь нулевое или низкое значение в периоды времени, которые, как определено, находятся между многими транзакциями. В этих случаях конкретные варианты осуществления могут учитывать транзакции в конкретное время, а также транзакции в периоды времени, которые являются близкими друг к другу. Например, как показано, функция, представляющая шаблон транзакций, начинает изгибаться и является плоской около кластера 460 транзакций, чтобы формировать пик 430. В одном варианте осуществления, каждый момент времени функции может иметь значение скользящего среднего номера транзакции в периоде времени до и после (либо только одно или другое) момента времени. В других вариантах осуществления, функция может быть определена из интерполяции или другого способа адаптации (например, соответствия периодическим функциям), выполняемого для счетчиков.
В некоторых вариантах осуществления, в которых истекшее время используется, прогнозируемая или текущая транзакция может быть проанализирована относительно нуля шкалы времени, и признаки могут быть извлечены из шаблона в истекшее время с момента последней транзакции KI. Один признак может быть временным окном, в котором транзакция является вероятной. Ширина функции при конкретных значениях или в конкретные времена затем может быть использована в качестве временного окна.
В одном варианте осуществления, полная ширина в половине максимума может быть использована, к примеру, ширина пика 430. В другом варианте осуществления, окно (например, 440) выше порогового значения 450 используется или просто часть этого окна, например, с началом во время, когда шаблон 420 выше порогового значения, и окончанием на верху (или в другой части) пика 430. В еще одном другом варианте осуществления, временное окно может иметь заданную ширину по центру либо иным образом размещаться вокруг максимума или другого значения выше порогового значения.
В вариантах осуществления с использованием порогового значения, значение функции шаблона, возможно, должно превышать пороговое значение до того, как считается, что транзакция с достаточной вероятностью должна проводиться, чтобы отправлять авторизацию продавцу. Несколько пороговых уровней могут быть использованы, при этом различные уровни потенциально используются для того, чтобы определять, когда, как и какие стимулы использовать. Функция моделирования, упомянутая выше для этапа 380, может быть использована для того, чтобы выполнять любое из этих определений.
В одном варианте осуществления, пороговое определение может состоять в том, имеет или нет счетчик достаточно высокое значение (абсолютное или относительно одного или более других счетчиков). В другом варианте осуществления, пороговый уровень может быть относительным (например, нормализованным) по сравнению с общим числом транзакций. Нормализация или определение порогового значения может выполняться посредством регулирования уровня в зависимости от низких значений вероятности шаблона, например, может быть использована высота от пика до впадины. В одном аспекте впадины могут смещаться к нулю.
При сохранении информации времени, которая включает в себя номер транзакции в определенные истекшие времена, можно не только обрабатывать пути (к примеру, от начального ключа к конечному ключу), но можно также легко идентифицировать несколько шаблонов. Каждый пик может соответствовать различному шаблону. Например, каждый пик может соответствовать различной частоте возникновения для транзакции, ассоциированной с конечным ключом, относительно транзакции, ассоциированной с начальным ключом. В одном варианте осуществления, информация времени для истекших времен может быть сохранена посредством сохранения времени того, когда оба события происходят. В другом варианте осуществления, информация времени может сохранять истекшее время в качестве одного значения. В еще одном другом варианте осуществления, время одного события может неявно включать в себя время начального события (например, когда первое событие является началом месяца или другого фиксированного периода времени).
Из фиг. 4 можно быстро идентифицировать один преобладающий шаблон (пик 430) с большой длиной волны (короткой частотой), который не возникает очень часто, и три незначительных пика с более высокими частотами. Соответственно, если транзакции по фиг. 2A и 2B оба являются шаблонами для пары ключей <K1:K1>, с использованием истекшего времени оба шаблона 220 и 270 могут быть идентифицированы. Тем не менее, определение шаблона может по-прежнему приводить к значительной трудоемкости вычислений, если шаблон может иметь какую-либо функциональную форму.
iwt
III. Определение шаблонов с использованием e с заданными частотами
iwt
iwt
w
w
Некоторые варианты осуществления используют определенные функциональные формы, чтобы помогать идентифицировать различные шаблоны. Как упомянуто выше, периодические функции могут быть использованы, например, e, где w является частотой шаблона. Например, каждая полоса (счетчик) 410 по фиг. 4 может соответствовать различной частоте. Полная вероятность V возникновения транзакции K2 во время t после транзакции K1 может рассматриваться как пропорциональная , где C соответствует значению счетчика с частотой w, и w идет по всем частотам. C может считаться коэффициентом периодической функции e на конкретной частоте. Таким образом, концептуально, вероятность может быть вычислена непосредственно из вышеприведенной формулы.
iwt
В одном варианте осуществления, частоты заранее выбраны, тем самым предоставляя возможность эффективного определения шаблонов. Дополнительно, частоты могут быть идентифицированы только посредством ассоциированной длины волны или диапазона длин волн. Следует отметить, что в конкретных вариантах осуществления, использование e является просто инструментальным средством, и фактическое значение функции не определяется.
Фиг. 5A показывает таблицу 500, которая сохраняет информацию времени для пары ключей <KI:KF> согласно вариантам осуществления настоящего изобретения. Таблица 500 сохраняет информацию для истекших времен между транзакциями, ассоциированными с конкретной парой ключей, например, как выполняется на этапе 340 способа 300. Таблица 500 также может сохранять информацию объема транзакций. Таблица 500 может рассматриваться как табличная форма графика 400 вместе со всеми возможными вариациями для различных вариантов осуществления, описанных для графика 400.
iwt
В одном варианте осуществления, каждый столбец 510 соответствует различному диапазону времени. Диапазон времени может соответствовать диапазонам, упомянутым выше со ссылкой на фиг. 4. Как показано, таблица 500 имеет 6 диапазонов времени, но может быть использовано любое число диапазонов времени. Диапазоны времени могут рассматриваться как соответствующие различным функциям, которые аппроксимируют шаблоны транзакций потребителя или другого объекта. Например, каждый диапазон времени может соответствовать или считаться различной частотой w для e.
В некоторых вариантах осуществления, таблица 500 имеет только одну строку. В других вариантах осуществления, строки таблицы 500 соответствуют различным объемам в долларах (или диапазонам объемов в долларах). Таким образом, каждый диапазон времени может иметь подгруппы для заданных диапазонов объемов (например, объемов в долларах). Организация является аналогичной матрице, в которой строка или столбец могут рассматриваться как группа или подгруппа. Хотя показаны пять диапазонов объемов, таблица 500 может иметь любое число объемов в долларах. В некоторых вариантах осуществления, существует только одна строка, т.е. когда объемы в долларах не различаются. Следует отметить, что обозначение строки и столбца используется для простоты иллюстрации, но время или объем может использоваться либо для строки, либо для столбца (каждая из которых является примером оси). Кроме того, данные для таблицы могут быть сохранены любым способом, например, в качестве простого массива или двумерного массива.
Значения для матричных элементов 520 соответствуют числу транзакций KF, которые имеют истекшие времена относительно транзакции KI, которые попадают в диапазон времени конкретного столбца 510. В одном варианте осуществления, каждая новая принимаемая транзакция K2 может принудительно увеличивать поле (элемент) 520 таблицы (матрицы) 500. Значение может увеличиваться на единицу для каждой транзакции либо на другое целочисленное или нецелочисленное значение. Значение также может быть комплексным числом, как описано ниже. В другом варианте осуществления, таблица, возможно, должна иметь определенную сумму всех значений, среднее значений, минимальное значение в любом матричном элементе или другой показатель значений в таблице. Такое требование может обеспечивать то, что достаточно данных принято, чтобы предоставлять точный шаблон.
Значения матричных элементов могут быть использованы для того, чтобы определять шаблон для пары ключей <KI:KF>, например, в качестве части этапа 360 способа 300. Например, матричные элементы с высокими значениями относительно других матричных элементов могут указывать шаблон транзакций в соответствующем диапазоне времени, который может соответствовать конкретной частоте w. В другом варианте осуществления, можно рассматривать каждый матричный элемент изолированно, чтобы определять то, является или нет транзакция вероятной. Например, если матричный элемент превышает пороговое значение, может быть определено то, что транзакция проводится с большой вероятностью в этом диапазоне времени. Пороговое значение может быть определено различными способами, например, в качестве функции суммы всех матричных элементов или эквивалентно может быть фиксированным с нормализацией матричных элементов перед сравнением с пороговым значением. Таким образом, этап 360 может быть выполнен проще на основе того, как этап 340 выполняется.
Как упомянуто выше, диапазоны времени могут иметь идентичную продолжительность (например, 24 часа) или варьирующуюся продолжительность. В одном варианте осуществления, первый столбец имеет очень короткую продолжительность, второй столбец имеет большую продолжительность и т.д. Таким образом, больше подробностей получается для коротких длин волн при одновременном предоставлении возможности сохранения данных для больших длин волн без исчерпания емкости хранения. В другом варианте осуществления, диапазоны объемов в долларах прогрессивно структурированы аналогично тому, как могут быть структурированы диапазоны времени. В одной реализации диапазон объемов в долларах может быть использован для того, чтобы отслеживать вероятность транзакций, имеющих определенные объемы в долларах. Прогнозируемый объем в долларах для вероятной транзакции может быть использован для того, чтобы определять диапазон цен, в котором предварительная авторизация является действительной. Кроме того, объем в долларах для текущей транзакции может быть использован для того, чтобы определить конкретную функцию вероятности, которая соответствует объему, например, строку таблицы.
Фиг. 5B показывает график 510 для использования при определении диапазонов времени для таблицы 500 согласно варианту осуществления настоящего изобретения. Ось X соответствует номерам столбцов. Ось Y соответствует времени конкретного столбца в минутах. Например, первый столбец включает в себя времена между первой точкой данных во временной области 0 и точкой данных во временной области 1. Вследствие крупного масштаба оси Y вторая точка данных кажется равной нулю, но является просто довольно небольшой относительно максимального значения.
0
2
3
15
1
Длина A волны шаблона соответствует диапазону времени столбца. Для вариантов осуществления с использованием времени относительно другой транзакции, затем A является временем между транзакциями. В одном варианте осуществления, 16 временных областей (диапазонов) выбираются следующим образом: λ составляет меньше 1 минуты, λ составляет 1-2,7 минуты, λ составляет 2,7-7,4 минуты, λ составляет 7,4-20 минут, и λ составляет более 1,2 миллиона минут. В одном аспекте меньшие диапазоны времени могут предоставлять большую точность, но могут приводить к большему числу полных диапазонов времени и тем самым использованию большего объема хранения.
w
Значения объемов также могут быть использованы для того, чтобы определять шаблоны для транзакций определенных объемов в долларах. Если объем не является проблемой, то значения в столбце могут быть суммированы, чтобы получать итоговое значение для определенного диапазона времени. Суммы также могут быть включены в математическое понятие, введенное выше. Например, в системе математических обозначений, функция-значение может задаваться как V=, где A является объемом транзакции. Игнорируя C в настоящий момент, это уравнение предоставляет как . Таким образом, если диапазоны объемов выражаются как ln(A), то вычисления могут выполняться без выполнения возведения в степень, поскольку ln(A) и iwt находятся в показателе степени. В одном аспекте, чтобы фактически получать значение V, время t может быть включено. Но на практике это не обязательно следует выполнять, поскольку для большинства целей можно просто видеть, какие длины волн имеют наибольшие значения в матричных элементах.
Для восьми диапазонов объемов и 10 диапазонов времени таблица может задаваться следующим образом. С использованием групповых операций A задается следующим образом: , так что , где La является индексом, который соответствует 1:8. Поэтому V перезаписывается: . Если Liwt является индексом из 1:8, то цикл может задаваться как . Поэтомуили ln (V)=Liwt+La. Соответственно, Liwt и La могут быть линейно связаны.
Когда принимают транзакцию, объем и соответствующее истекшее время для конкретной пары ключей могут быть использованы для того, чтобы определить соответствующий матричный элемент для таблицы пар ключей. Значения в матричных элементах могут быть нормализованы для одной таблицы и для нескольких таблиц. Например, значение может быть поделено на сумму для всех значений конкретной таблицы пар ключей. Кроме того, сумма может быть вычислена для всех значений для нескольких таблиц и значений для каждой таблицы, деленных на эту сумму. В качестве части нормализации значение для матричного элемента может уменьшаться, когда некоторые данные, используемые для того, чтобы определять значение, также устаревают. Например, для диапазона времени, который включает в себя короткие временные интервалы, значения счетчика из транзакций, которые произошли более года назад, могут отбрасываться как неактуальные, поскольку короткие шаблоны временных кадров могут быстро изменяться.
В одном варианте осуществления, значения в матричных элементах могут быть сглажены. Т.е. значения в одном матричном элементе могут изменяться (сглаживаться), чтобы учитывать значения в других (например, соседних) матричных элементах. Сглаживание может осуществляться независимо по времени и по объему. Например, допустим, что матричные элементы для объема A1 в долларах для последовательных диапазонов времени составляют 0,20,0. Эти значения могут вызывать краевые эффекты в вычислениях, поскольку вероятность резко увеличивается, а затем резко падает. Следовательно, вычисление для новой транзакции в конце первого диапазона времени фактически может быть частью шаблона для следующего диапазона времени, но это не должно быть идентифицировано.
В одном варианте осуществления, вероятность первого и третьего диапазонов времени может быть рассматриваться как ненулевая, а имеющая некоторое большее значение вследствие сглаживания значения 20. Средний элемент выборки может получать немного меньшее значение вследствие сглаживания. Такое сглаживание может учитывать статистическую вариацию в предыстории транзакций. В одном аспекте сглаживание обусловлено тем, что матричные элементы задаются не по частоте, а по времени. Если матричные элементы задаются по частоте и затем преобразуются во время, то преобразование должно сглаживать функцию. Вместо преобразования варианты осуществления могут обрабатывать элементы выборки как находящиеся точно во временной области и затем сглаживать их в этом представлении. Сглаживание может предоставлять аналогичные результаты, как пояснено с помощью кривой около пика 430 по фиг. 4.
В некоторых вариантах осуществления, частота w может задаваться как обратно пропорциональная длине волны . В одном варианте осуществления, константа пропорциональности равняется 1, что может соответствовать рассмотрению истекшего времени в 0 как максимальной вероятности. В другом варианте осуществления, константа пропорциональности равняется 2, что может соответствовать рассмотрению истекшего времени в 0 как минимальной вероятности. Фактически диапазон времени может считаться полной длиной волны или половиной длины волны. В зависимости от того, какое обозначение выбрано, результирующий шаблон должен иметь различную форму, что может иметь последствия, когда матричные элементы сглаживаются. В вариантах осуществления с использованием диапазонов времени каждый матричный элемент соответствует не всего одной частоте, а диапазону частот. Тем не менее, одна частота может аппроксимироваться. В различных вариантах осуществления, частота может быть из средней частоты для диапазона времени, частоты для начала диапазона времени, частоты для конца диапазона времени.
В различных вариантах осуществления, таблицы для различных пар ключей могут иметь различные диапазоны времени и/или диапазоны объемов. Если такие различия возникают, различия могут учитываться, когда операция суммирования выполняется для таблиц.
В других вариантах осуществления, конкретные диапазоны объемов или диапазоны времени могут подавляться. Например, если только определенные типы шаблонов (например, только определенные частоты) должны быть проанализированы, то можно подавлять данные для других частот. В одном варианте осуществления, подавление выполняется с помощью матрицы масок, которая имеет нули в столбцах частоты и/или строках объема, которые должны подавляться. Таким образом, можно просто умножать матрицы, чтобы получать требуемые данные. Диапазоны объемов могут аналогично подавляться. При подавлении определенных частот эти матрицы масок могут действовать аналогично фильтрам верхних частот, нижних частот или режекторным фильтрам. Например, если желательно, чтобы купон был действующим только в течение 7 дней и требуется 1 день на то, чтобы создавать купон, требуемое временное окно является любым диапазоном времени, который включает в себя эти 6 дней. Соответственно, информация времени для транзакций за пределами временного окна может подавляться как не представляющая интерес.
IV. Организация множества таблиц для различных ключей
Как пояснено выше, таблицы могут быть организованы как ассоциированные с соответствующей парой ключей. Для одного потребителя может быть множество пар ключей, которые коррелируются на основе предыстории транзакций этого потребителя и которые тем самым отслеживаются. Одна таблица может использоваться для всех транзакций для этого человека (фактически всего один ключ, равный человеку), но чтобы более точно настраивать прогнозирующие характеристики, больше информации может быть использовано. Таким образом, несколько пар ключей могут отслеживаться для потребителя, причем ключи включают в себя различные идентификационные данные относительно того, где произошли транзакции и что куплено. Таким образом, более подробный путь для текущих или прогнозируемых транзакций может быть известным. Ниже приведена более подробная информация по организации ключей и таблиц.
A. Иерархия ключей (какие пары ключей отслеживать)
Как описано выше, событие (например, транзакция) имеет набор данных событий, ассоциированных с ним. Данные событий могут быть обработаны, чтобы получать один или более ключей, которые ассоциированы с событием. Каждый ключ включает в себя один или более ключевых элементов, которые могут получаться из данных событий. Ключевые элементы могут быть комбинированы множеством способов, чтобы получать ключи, которые ассоциированы с событием. По мере добавления дополнительных ключевых элементов к конкретному ключу ключ, в общем, становится более избирательным с точки зрения числа событий, с которыми ассоциирован ключ.
Пример категории ключевых элементов следующие: страна или другая большая область (например, Европа); почтовый индекс продавца или потребителя; отраслевой код (например, перемещение); код продукта (например, газ, пищевые продукты и т.д.); название продавца; потребитель или тип потребителей (например, определенная демографическая группа); и дата. Различные таблицы могут иметь различные длины для каждого ключа пары ключей, т.е. различное число используемых ключевых элементов.
Фиг. 6A показывает данные 600 транзакции с примерными категориями ключевых элементов 610, перечисленных согласно вариантам осуществления. Ключ K1 620 показывает примерный ключ K1, имеющий конкретные значения в определенных категориях ключевого элемента данных 600 транзакции. Ключевые элементы включают в себя страну, почтовый индекс, код продавца, отраслевой код, номер счета и название продавца. Следует отметить, что номер счета и название продавца могут быть использованы для того, чтобы идентифицировать конкретный объект (например, потребителя или продавца), для которого данные транзакции могут быть использованы для того, чтобы обновлять таблицы для конкретного объекта, и могут быть включены в отдельный идентификатор из ключа. В качестве другого примера, ключ может быть для любого потребителя или продавца. Таким образом, один ключ в таком случае может быть просто US 94566 4812 3.
US обозначает, что страной транзакции является США. Страна обычно является местоположением продавца, в противоположность домашнему адресу человека, когда человек покупает по Интернету. Число 94566 является почтовым индексом продавца. Число 4812 является кодом продавца. Число 3 является отраслевым кодом.
Примеры других ключей, которые могут быть составлены из ключевых элементов, включают в себя K2 630 {US}; K3 640{94566}; K4 650 {94566, 4812} и K5 660 {945**, 4812}, где * является значением подстановочного символа. Примеры, аналогичные K5, показывают то, что только часть ключевого элемента может быть использована. Использование только части ключевого элемента расширяет ключ, т.е. делает его менее избирательным. Такое расширение может быть использовано для того, чтобы захватывать больше транзакций в таблице, но также и в том случае, если данные в ключевом элементе могут быть ненадежными. Например, конкретный почтовый индекс может не всегда являться точным. Также, когда название продавца является ключевым элементом, названием может быть XYZ, XYZ inc., XYZ, inc. или другие вариации. Разрешение подстановочных символов или просто использование только части ключевого элемента может приспосабливать случаи, когда существуют некоторые ошибки или вариации в ключе.
Соответственно, одна транзакция может быть представлена с помощью множества различных ключей. В частности, если ключевые элементы могут быть использованы независимо от других ключевых элементов, число возможных категорий (например, страна и почтовый индекс) пар ключей является N*N, где N является числом ключевых элементов. Например, <почтовый индекс|почтовый индекс> или <страна, код продавца|почтовый индекс> должны быть различными категориями. Поскольку каждый из этих ключевых элементов может иметь различные значения, число всех возможных пар ключей может быть чрезвычайно высоким. Кроме того, число ключевых элементов может быть даже большим, когда ключевые элементы являются новыми значениями, извлеченными из данных транзакции.
B. Корреляция ключей для того, чтобы определять то, какие пары ключей отслеживать
Общее число возможных пар ключей (например, для каждого почтового индекса) может быть слишком большим, чтобы отслеживать. Таким образом, не каждая возможная комбинация ключей, в общем, должна отслеживаться. Например, пары ключей, которые демонстрируют корреляцию, могут отслеживаться. Зачастую, для таблицы, которая должна отслеживаться, по меньшей мере один из ключевых элементов (например, идентификатор потребителя или продавец) должен совместно использоваться посредством пары ключей. В других случаях таблица может отслеживаться на предмет очень широких характеристик, например пары транзакций из одной страны в другую. Тем не менее, в таких случаях пара транзакций, из которой вычисляется истекшее время, может быть для идентичного счета или потребителя.
Чтобы определять то, отслеживать или нет определенную пару ключей, дискретизация транзакций может осуществляться, чтобы идентифицировать транзакции, которые проводятся часто в связи друг с другом. Пороговое значение может быть использовано для того, чтобы определять то, должна или нет пара ключей отслеживаться. Пары ключей с большими частотами могут требовать данных за длительные периоды времени, чтобы определять то, являются они достаточно значительными или нет для того, чтобы отслеживать. В одном варианте осуществления, до тех пор, пока один матричный элемент имеет значительное значение, отслеживается целая таблица.
Фиг. 6B показывает набор 680 пар коррелированных ключей, отслеживаемых касательно объекта 670 счета согласно вариантам осуществления. Пара 691 ключей отслеживает шаблоны транзакций K4, проводимых после транзакций в почтовом индексе 94566 с кодом продавца 3510 (ключом является {94566, 3510}). Пара 692 ключей отслеживает шаблоны транзакций K5, проводимых после транзакций в почтовых индексах 945** с кодом продавца 3510 (ключом является {945**, 3510}). Пара 691 ключей отслеживает шаблоны транзакций K3, проводимых после транзакций K4.
Другие объекты также могут иметь отслеживаемые таблицы пар ключей. Например, продавец может иметь отслеживаемые транзакции через различные пары ключей. Кроме того, группы потребителей (например, посредством почтового индекса) могут отслеживаться как один объект. Потребители, демографические данные (группы по интересам) и продавец являются примерами объектов, поведение которых может отслеживаться с использованием различных наборов таблиц пар ключей.
В одном варианте осуществления, определенные потребители могут быть сгруппированы первоначально в качестве части демографической группы, чтобы получать точки дополнительных данных, чтобы идентифицировать пары ключей, которые коррелируются. Таким образом, транзакции группы потребителей могут быть проанализированы вместе, чтобы определять корреляции транзакций, имеющих определенные ключи. Потребители могут быть заданы даже с точки зрения демографических групп. Кроме того, при использовании просто дискретизации для того, чтобы определять то, какие ключи отслеживать, определенные пары ключей могут предварительно определяться для отслеживания. Например, магазин может хотеть, чтобы отслеживались транзакции в конкретном местоположении (или всех местоположениях).
Также может быть определенная иерархия в отношении того, какие комбинации ключевых элементов отслеживаются как пары ключей. Например, может не быть достаточного числа транзакций, чтобы определять корреляции для конкретного потребителя в конкретном местоположении продавца по конкретному почтовому индексу. Таким образом, ключи могут быть расширены, чтобы включать в себя только продавца или включать в себя только отраслевой код. Такое расширение может быть использовано для того, чтобы захватывать корреляцию, когда целый ключевой элемент может не иметь достаточного объема данных, чтобы демонстрировать корреляцию.
В другом варианте осуществления, широкий ключ может быть комбинирован с очень узким ключом, чтобы получать конкретную информацию, но по-прежнему обеспечивать достаточно данных транзакции, чтобы определять статистически значительные корреляции. Например, определенные категории ключевого элемента, к примеру, страна, покрывают большое число транзакций. Таким образом, если требуется очень избирательный ключевой элемент (например, название продавца), то этот ключевой элемент может спариваться с ключевым элементом страны, чтобы создавать ключ, который имеет существенное число транзакций, чтобы определять то, существуют или нет корреляции.
В качестве другого примера, ключ также может включать в себя конкретное время. В одном варианте осуществления, ключ включает в себя время (например, 4-часовые блоки дня, день недели, месяц года) только тогда, когда остальная часть ключевых элементов ключа является довольно широкой. Примеры широких ключевых элементов включают в себя все транзакции для продавца, все транзакции для конкретной группы по интересам (группы аналогичных потребителей), все транзакции в США или все транзакции, которые имеют начальный ключ с США и конечный ключ с Канадой, и транзакции без физического наличия карты из США в Канаду. Использование этих более широких ключевых элементов с конкретным ключевым элементом (к примеру, временем) может обеспечивать то, что по-прежнему должен быть большой объем данных, чтобы таблица передавала значимые результаты.
В некоторых вариантах осуществления, определенные пары ключей также могут отслеживаться, когда транзакционная активность является важной. Например, если большой объем мошенничества возникает в конкретные времена, то пара ключей может отслеживаться. Даже если нет множества точек данных, информация для такой пары ключей является ценной, поскольку последствия могут быть связаны с большими затратами. В качестве другого примера, комиссия за знакомство через Интернет в определенное время и в определенной стране может иметь большое число случаев мошенничества. Таким образом, конкретная страна и время могут быть включены в ключ пары ключей, поскольку значительная сумма денег в противном случае может быть потеряна вследствие мошенничества.
Транзакционная активность также может являться важной, когда прибыль для конкретной пары ключей является высокой. В таких случаях пары ключей могут быть более избирательными, поскольку специальные знания избирательной пары ключей могут значительно способствовать общей прибыли. Например, корпоративный счет для менеджера выступающего артиста может иметь очень большую сумму покупок, в частности дорогих покупок, таких как гостиничные номера на 20 человек. Поскольку прибыль является довольно большой, важно иметь специальные знания шаблонов транзакций. Такие знания могут быть использованы для того, чтобы более точно и быстро авторизовать транзакции и прогнозировать, когда транзакции могут проводиться, так что стимулы (например, купоны) могут предоставляться, чтобы обеспечивать то, что транзакции проводятся. Во всех этих случаях важной транзакционной активности несколько таблиц пар ключей могут использоваться для конкретного объекта.
В одном варианте осуществления, объемы транзакции также могут быть коррелированы. Например, для определенной пары ключей, объем первой транзакции может быть коррелирован с объемом второй транзакции. Это может осуществляться, например, при наличии нескольких значений расчете на матричный элемент. Фактически, каждый матричный элемент может быть вектором. Каждое значение вектора должно соответствовать различным объемам для начальной транзакции пары ключей.
То, какие пары ключей отслеживаются касательно различных объектов, может обновляться в разное время, например в определенные фиксированные времена (например, периодически) или когда определенные события происходят. Например, каждый месяц новые точки данных могут быть использованы для того, чтобы добавлять новые таблицы или удалять таблицы, в которых корреляция более не является значительной. Существующие таблицы могут периодически обновляться в пакетах (например, каждый день, неделю,...) или также могут обновляться по отдельности после каждой транзакции. В одном варианте осуществления, таблицы пар ключей могут обновляться ночью относительно того, где объект, т.е. продавец или потребитель, находится.
C. Фильтрация
Поскольку существует множество таблиц, каждая из которых отслеживает различную информацию для пары ключей (или для большей группы коррелированных ключей), варианты осуществления могут предоставлять механизм фильтрации для осуществления доступа к конкретным данным. В одном аспекте, ключи и/или ключевые элементы используются для того, чтобы извлекать требуемые данные. Поскольку каждая таблица имеет начальный ключ и конечный ключ, ассоциированный с ним, ключи могут быть использованы в запросе, чтобы извлекать таблицы. Когда три или более ключей ассоциированы с таблицей, могут быть промежуточные ключи, каждый из которых может быть использован для того, чтобы извлекать таблицы, имеющие конкретный ключ в конкретной позиции.
В некоторых вариантах осуществления, функция согласования может принимать ключ и возвращать одну или более таблиц, ассоциированных с ключом. Примеры результатов включают в себя список указателей, которые указывают на каждую из таблиц, ассоциированных с этим ключом, и самих таблиц. В одном варианте осуществления, функция согласования заключает в себе запрос. Например, ключ (или производное ключа, к примеру, хэш) может быть сохранен в таблице (или в указателе на таблицу), и может быть выдан запрос на то, чтобы находить таблицы с ассоциированным ключом. В одном варианте осуществления, это может выполняться при наличии каждого ключа пары в различном поле большего объекта (например, таблицы или другой структуры данных), который включает в себя таблицу пар ключей. В другом варианте осуществления, отдельная таблица поиска может быть использована.
Запрос может включать в себя входной ключ, и все таблицы, ассоциированные с этим входным ключом, могут возвращаться. В различных вариантах осуществления, запрос может указывать уровень согласования. В одном варианте осуществления, запрос может указывать, что все ключевые элементы входного ключа точно совпадают. Т.е. если страна, код продавца и почтовый индекс вводятся в запрос, то только таблицы, которые имеют ключи с точной страной, кодом продавца и почтовым индексом, с не меньшим, а потенциально большим числом ключевых элементов, возвращаются. В другом варианте осуществления, может разрешаться большее число ключевых элементов. В еще одном другом варианте осуществления, может разрешаться, чтобы совпадение каждого ключевого элемента не было точным, как описано в данном документе.
Фиг. 7A показывает различные запросы и результаты согласно вариантам осуществления. Запрос 705 предоставляется, чтобы возвращать таблицы, которые предназначены для пар ключей с K4 в качестве начального ключа. Результат 710 показывает список таблиц, которые возвращаются из запроса. Это может осуществляться, например, когда K4 является начальным событием, к примеру началом дня. См. раздел V.A на предмет дополнительного описания таких событий. Шаблоны в результирующих матрицах затем могут быть проанализированы, чтобы определять шаблоны в событиях в связи с появлением начального события K4.
Запрос 715 предоставляется, чтобы возвращать таблицы, которые предназначены для пар ключей с K5 в качестве конечного ключа. Результат 720 показывает список таблиц, которые возвращаются из запроса. Это может осуществляться, например, когда K5 является текущей транзакцией для авторизации, которая запрашивается. Время и объем текущей транзакции также могут быть использованы для того, чтобы выбирать конкретные матричные элементы этих таблиц. Выбранные матричные элементы затем могут быть использованы для того, чтобы определять то, имеет текущая транзакция обычный шаблон (например, высокое относительное значение для матричных элементов) для потребителя или является необычной (например, низкое относительное значение для матричных элементов).
Запрос 725 предоставляется, чтобы возвращать таблицы, которые служат для пар ключей, для которых почтовый индекс 94566 существует в качестве ключевого элемента в конечном ключе. Одна таблица результата 730 предназначена для <K4|94566>, где 94566 является полным конечным ключом. Тем не менее, другая таблица результата 730 предназначена для <K46|94566,4812>, где 94566 является только одним из ключевых элементов конечного ключа. Запросы также могут включать в себя запросы как начальных, так и конечных ключей.
В другом варианте осуществления, запрос может указывать, что только входной ключ должен отображаться. Т.е. можно указывать почтовый индекс, и любые пары ключей, которые включают в себя почтовый индекс, а также другие ключевые элементы могут извлекаться. Например, ко всем транзакциям для потребителя, ассоциированного с определенным продавцом, может осуществляться доступ посредством фильтрации с помощью идентификатора продавца. Можно требовать, чтобы входной ключ был единственным ключевым элементом в конечном ключе, как упомянуто выше. Конкретный объект также может быть включен в запрос. Например, к таблицам для конкретного потребителя может осуществляться доступ.
Если указано в запросе или иным образом, результаты запроса могут быть комбинированы в одну таблицу, когда множество таблиц возвращаются. Например, запрос конкретного ключа K2, включенного в конечный ключ для конкретного потребителя, может предоставлять агрегирование всех таблиц, для которых запрос совпадает. В одном аспекте, результат может быть эквивалентным таблице <*|K2>, что соответствует возникновению K2 после любой транзакции. Агрегированная таблица может предоставляться посредством: для каждого матричного элемента конечной таблицы, суммирования соответствующих матричных элементов из возвращаемых таблиц. Таким образом, более общие шаблоны могут быть идентифицированы, и более конкретные шаблоны также могут отслеживаться и идентифицироваться. Например, через механизм фильтрации, события, которые имеют аналогичные данные (например, все транзакции в США), могут группироваться. Данные могут быть агрегированы, чтобы определять шаблон для транзакций в США.
В вариантах осуществления, в которых по меньшей мере некоторые таблицы имеют время в качестве ключевого элемента, фильтрация по времени может предоставлять поведение в моменты дня, недели, месяца и т.д. Например, можно фильтровать конкретное возникновение транзакции в 3:00 (или диапазон, к примеру, 1:00-4:00). Таблицы транзакций, которые коррелируются с этой транзакцией, проводимой в 3:00, затем выбираются. В одном варианте осуществления, можно фильтровать начальные ключи, которые появляются в конкретное время. Затем, матричные элементы возвращаемых таблиц могут быть использованы для того, чтобы идентифицировать шаблоны транзакций, которые проводятся после таких транзакций.
В одном варианте осуществления, таблицы могут индексироваться посредством значений ключевых элементов. Ключевые элементы, которые являются числами, могут непосредственно указывать соответствующую таблицу, которая может быть конкретным элементом многомерного массива. Например, array1 (value1, value2, table) может быть найдено с помощью ключевого элемента value1 и value2, который фактически указывает на надлежащую таблицу. Значения могут быть почтовым индексом, который идет от наименьшего доступного почтового индекса до наибольшего доступного значения. Тем не менее, этот способ может иметь ограниченную функциональность и иметь большое требование по хранению, в частности, если не каждое возможное значение для ключевого элемента (например, не каждый почтовый индекс) отслеживается.
В другом варианте осуществления, таблица поиска используется для того, чтобы идентифицировать одну или более таблиц, совпадающих с входным ключом. Каждая таблица, которая отслеживается, может вводиться в качестве новой записи с идентификатором (например, указателем или буквенно-цифровым значением) в таблицу поиска. Таблица поиска может быть динамической в том, что новая запись может вводиться в любой момент. Каждая запись может иметь соответствующий входной ключ и конечный ключ, сохраненный в ассоциации с записью, например, в идентичной строке. После того как ключ согласован, соответствующие таблицы могут быть идентифицированы с помощью идентификатора. Записи могут быть организованы посредством того, каковы значения ключей (например, возрастают с почтовым индексом), но необязательно имеют какую-либо конкретную организацию. В одной реализации, ключи являются строкой ключевых элементов, которые могут быть хэшированы. Эти хэши могут быть сохранены вместо необработанных значений ключей.
Фиг. 7B показывает таблицу 740 поиска идентификаторов 750 пар ключей, при этом каждый номер пары ключей имеет пару хэшей 760 и 770, ассоциированных с ним, согласно вариантам осуществления. Если фильтр выполняет поиск таблиц, имеющих конкретный конечный ключ, в столбце 770 может выполняться поиск на предмет совпадающего хэша. Эту таблицу можно распределять по нескольким запоминающим устройствам, каждое из которых соответствует различному процессору или набору процессоров. Таким образом, доступ может быть легко параллелизован. Процессор, сохраняющий запись, также может сохранять фактическую таблицу пар ключей, соответствующую идентификатору этой записи. Таким образом, идентификаторы могут не быть глобально уникальными, а быть уникальными на конкретном процессоре.
В одном варианте осуществления, если существует организация для хэшей, поиск может быть более интеллектуальным, чем просто начало в паре ключей # 1. В таких случаях может быть использован поиск по двоичному дереву (или другому уровню дерева) либо другие способы. Также несколько таблиц (например, с иерархией) могут быть использованы. Например, первая таблица может использоваться для более широких ключевых элементов, таких как страна. На основе страны другая таблица может выбираться, при этом другая таблица предназначена для ключей, которые включают явно или неявно (например, на основе первой таблицы) указанную страну в ключе.
В другом варианте осуществления, только один ключ может быть сохранен, когда начальный ключ и конечный ключ являются одинаковыми. Кроме того, начальный или конечный ключ могут быть подстановочными символами, поскольку любой ключ может совпадать (например, когда корреляция выполняется от любой начальной транзакции с конкретной конечной транзакцией).
Как упомянуто выше, точное совпадение может требоваться. Тем не менее, в случае, если точное совпадение не найдено (например, для конкретной пары ключей), механизм совмещения может быть использован для того, чтобы идентифицировать аналогичную совпадающую запись. Примеры того, когда такое совмещение должно выполняться, включают в себя: когда конкретный ключ для текущей транзакции принимается, но только более широкая версия того ключа отслеживается; и когда два объекта сравниваются, и различные пары ключей отслеживаются.
Фиг. 7C показывает способ 700 совмещения для нахождения аналогичного ключа, когда точное совпадение для входного ключа(ей) не найдено согласно вариантам осуществления. На этапе 781, один или более ключей (например, и начальный, и конечный ключ) принимаются для фильтрации. На этапе 782, хэш необязательно вычисляется для входного ключа(ей). Хэш должен вычисляться, например, когда используется таблица 740 поиска. На этапе 783, определяется то, совпадает или нет хэш (или просто необработанный ключ) с хэшем в таблице поиска. Если существует соответствие, то требуемая матрица пары ключей (или другой объект шаблона) или просто идентификатор, чтобы получать матрицу пары ключей, может извлекаться на этапе 784. Если нет соответствия, то входной ключ(и) модифицируется на этапе 785. Например, число цифр в почтовом индексе может быть уменьшено от пяти до четырех или до трех. На этапе 786, новый хэш создается из модифицированного ключа, и способ возвращается к этапу 783, чтобы находить соответствие модифицированного ключа. Модифицированный ключ шире исходного входного ключа, и тем самым соответствие является более вероятным.
В некоторых вариантах осуществления, соответствие гарантируется. Например, ключевые элементы могут отбрасываться до тех пор, пока ключ не является достаточно небольшим так, что он совпадает по меньшей мере с одной матрицей пары ключей, которая отслеживается. В других вариантах осуществления, точка останова может быть определена для модификации (например, минимальный размер, т.е. число ключевых элементов либо полный размер ключа или ключевого элемента). Также если соответствий не найдено, то входной ключ может отбрасываться из процесса фильтрации. В одном варианте осуществления, ключ отбрасывается только в том случае, если другой ключ для события по-прежнему остается.
В одном варианте осуществления, способ 700 совмещения может осуществляться в функции 392 преобразования по фиг. 3B, так что преобразованные ключи - это ключи, которые в настоящее время отслеживаются. Такое расширение ключа также может помогать, когда определенные данные отсутствуют или являются ненадежными. В других вариантах осуществления, ключи, выводимые из функции 392 преобразования, могут вводиться в другую функцию (например, модуль обновления для обновления таблицы или модуль количественной оценки (например, количественной оценки вероятности) для определения количественного показателя, ассоциированного с данными транзакции).
Фиг. 7D показывает модуль 794 согласования и извлечения, который получает совпадающие таблицы пар ключей на основе ключей, принятых из функции 792 преобразования (например, функции 392 по фиг. 3B) согласно вариантам осуществления. Модуль 794 может принимать ключи, являющиеся результатом данных транзакции, и определять то, соответствуют или нет ключи существующим таблицам пар ключей, например, с использованием таблицы 740. После того как таблица идентифицирована, данные для этой таблицы могут извлекаться. Модуль 794 может включать в себя совмещение (например, реализовывать способ 700) в качестве части функции согласования, чтобы давать возможность аналогичных, а также точных совпадений.
D. Обновление таблиц
После того как событие (например, потребительская транзакция) принимается, варианты осуществления могут определять то, какие отслеживаемые пары ключей имеют конечные ключи, которые совпадают с ключами, являющимися результатом транзакции. Поскольку транзакция может быть ассоциирована со многими ключами и парами ключей, транзакция может инструктировать многим таблицам обновлять матричный элемент. Например, транзакция может приводить к обновлениям различных таблиц для конкретного потребителя. Обновления могут выполняться для одной таблицы для всех транзакций этим потребителем (пример общей таблицы) и более конкретных таблиц для конкретных почтовых индексов, продавцов и других ключевых элементов. Транзакция также может приводить к обновлениям таблиц для конкретного продавца, у которого выполнена транзакция. В одном варианте осуществления, способ 700 может быть использован для того, чтобы определять то, какие таблицы должны обновляться. Как описано в нижеприведенном разделе, способ 700 также может быть использован для того, чтобы определять то, какие таблицы использовать для того, чтобы получать признаки шаблона из этапа 370.
Поскольку существуют различные таблицы, которые могут обновляться, каждая из которых имеет различный начальный ключ, диапазон времени (и тем самым матричный элемент), который обновляется, может отличаться для каждой таблицы. Например, когда истекшее время используется, последняя транзакция для каждой таблицы может проводиться в различное истекшее время с момента различных начальных транзакций. Объем транзакции обычно должен быть идентичным, тем самым точная строка для матричного элемента, который должен быть увеличен, может быть идентичной до тех пор, пока таблицы имеют идентичные диапазоны объемов. Но столбец (т.е. время) может отличаться для каждой таблицы.
Касательно того, какой столбец времени обновлять, также может быть несколько столбцов, обновленных для конкретной таблицы. Например, транзакция K2 может иметь различные временные шаблоны относительно транзакций K1 (т.е. пара <K1:K2>). Соответственно, когда транзакция K2 принимается, истекшие времена с момента последних двух, три или более транзакций K1 могут быть использованы для того, чтобы обновлять таблицу.
Аналогичным образом, одна таблица пар ключей может быть <*:K2>, что включает в себя корреляции от множества начальных ключей с ключом K2 в идентичной таблице. Фактически, эта таблица может равняться сумме всех таблиц, в которых K2 является конечным ключом для конкретного потребителя или другого объекта. Тем не менее, если отдельные пары ключей не являются достаточно значительными, таблица <*:K2> может быть единственной таблицей, которая отслеживается. Таблицы типа <K1:*> также могут отслеживаться.
Фиг. 8 показывает различные таблицы, обновленные для идентичной транзакции K5 согласно вариантам осуществления настоящего изобретения. Для таблицы 810 пары ключей <K4:K5> четвертый диапазон времени обновляется в результате транзакции K5. «X» помечает изменение матричного элемента вследствие транзакции K5. Для таблицы 820 пары ключей <K80:K5> второй диапазон времени обновляется для транзакции K5. Для таблицы 830 пары ключей <*:K5> второй и четвертый диапазоны времени обновляются, что может осуществляться для того, чтобы учитывать пары ключей <K4:K5> и <K80:K5>. Для <*:K5> матричные элементы X могут быть увеличены посредством различных значений, если имеется несколько пар ключей с K5 в качестве конечного ключа, для которых истекшее время находится во втором диапазоне времени.
Таблицы могут обновляться сразу после того, как транзакция принимается, периодически (например, каждые 10 минут или один раз в день) или в другие моменты времени. Кроме того, в разное время могут обновляться различные части таблицы. Например, высокочастотные (с коротким временным кадром) матричные элементы таблиц могут формироваться из списка последних транзакций, которые могут быть сохранены в локальном запоминающем устройстве (например, RAM). В качестве примера, последние транзакции могут быть последними N (например, 10) транзакциями или всеми транзакциями в течение фиксированного временного кадра (например, за последние 24 часа). Другие таблицы или части таблиц могут быть сохранены в долговременном запоминающем устройстве (например, на жестком диске). Различные кратко- и долгосрочные данные могут быть комбинированы в таблицу, либо, если есть интерес только к краткосрочным или долгосрочным шаблонам, только один набор данных может быть использован. Следует отметить, что это решение может быть аналогичным использованию матрицы масок, чтобы выбирать только определенные диапазоны времени.
В некоторых вариантах осуществления, время транзакции может не быть точным, например, продавец может пакетировать запросы на авторизацию (т.е. не выполнять их в реальном времени). В этих вариантах осуществления, транзакция может иметь несколько времен или диапазон времен. Таким образом, когда истекшее время вычисляется, и таблица обновляется, может быть несколько матричных элементов, которые увеличиваются. Увеличение может быть частичным, поскольку пара транзакций совместно используется несколькими матричными элементами.
E. Характерные потребители
Как упомянуто выше, число таблиц, отслеживаемых касательно потребителя, может сокращаться посредством отслеживания только пар ключей, которые показывают корреляцию. Даже посредством такого уменьшения по-прежнему может быть слишком много таблиц для того, чтобы отслеживать. Например, потребитель может по-прежнему иметь от 4000 до миллиона возможных таблиц.
В одном варианте осуществления, чтобы сокращать число таблиц, различные почтовые индексы потребителя могут считаться идентичными. Например, продавец может иметь аналогичную предысторию транзакций в городах на его пути. Все эти почтовые индексы могут считаться эквивалентными и тем самым помещаться в одну таблицу. Аналогичная обработка может выполняться для других ключевых элементов. Кроме того, аналогичным образом, различные потребители могут обрабатываться как эквивалентные.
Как упомянуто выше, определенные потребители могут быть сгруппированы в группы по интересам (демографические данные), чтобы получать больше информации о коррелированных ключах. В одном варианте осуществления, группы по интересам могут быть использованы для того, чтобы задавать потребителя. Например, если группа потребителей имеет идентичные или практически аналогичные предыстории транзакций, то отдельные таблицы не должны быть сохранены. Когда потребитель группы по интересам выполняет покупку, к таблицам группы по интересам может осуществляться доступ.
Соответственно, полный объем хранения может быть сокращен посредством задания потребителя по группам по интересам. Вместо сохранения избыточных таблиц для каждого потребителя всего может быть сохранен один набор таблиц. Тем не менее, для потребителя может быть нехарактерным иметь шаблоны транзакций, идентичные шаблонам транзакций конкретной группы по интересам. В таких случаях потребитель может задаваться как линейная комбинация групп по интересам, каждая из которых является комбинацией пары ключей. Например, может быть 100 групп AG по интересам. Потребитель может задаваться как 10% AG 1, 15% AG 23, 30% AG 41, 20% AG 66 и 25% AG 88. Потребитель также может иметь отдельные таблицы, которые используются в комбинации с таблицами группы по интересам.
Потребитель тем самым может рассматриваться как комбинация характерных потребителей (группы по интересам). Какие характерные потребители использовать для конкретного потребителя, может быть определено посредством дискретизации транзакций потребителя. Дискретизация может быть относительно небольшой по сравнению с полной предысторией транзакций, которая должна быть использована, если потребитель имеет собственные таблицы. Например, примерная транзакция потребителя может показать то, что он имеет аналогичные транзакции с определенной демографической группой. Процентное отношение для каждой группы по интересам может быть определено посредством подобия в таблицах для потребителя относительно группы по интересам.
В одном варианте осуществления, подобие может быть задано посредством рассмотрения различия между каждой из матриц (таблиц) потребителя и каждой из матриц группы по интересам. Если таблица существует для потребителя, а не для группы по интересам, таблица нулей может допускаться для группы по интересам, и наоборот. В качестве альтернативы или в комбинации, механизм совмещения (например, способ 700) может быть использован для того, чтобы получать больше соответствий между набором таблиц для потребителя и набором таблиц для группы по интересам.
В одном аспекте, таблицы для потребителя могут быть созданы первоначально до тех пор, пока одна или более групп по интересам не идентифицируются. Определенные таблицы для потребителя по-прежнему могут поддерживаться так, что они обеспечивают то, что шаблоны транзакций не изменяются, тем самым приводя к необходимости оценивать заново конкретную используемую линейную комбинацию. Таким образом, данные транзакции могут быть использованы для того, чтобы определять то, в какую демографическую группу вписывается человек, в противоположность определению того, какая демографическая группа основана на аналогичных потребителях.
В одном варианте осуществления, если предыстория транзакций недоступна для потребителя, потребитель может аппроксимироваться с использованием выбранных характерных потребителей. Выбранные характерные потребители могут быть основаны на таких атрибутах, как возраст или место жительства. В другом варианте осуществления, характерный потребитель может компоноваться для каждого почтового индекса. Этот характерный потребитель может быть использован в качестве значения по умолчанию для потребителя, живущего по этому почтовому индексу по меньшей мере до тех пор, пока больше информации не получается.
В другом варианте осуществления, купон может быть использован для того, чтобы тестировать потребителя, чтобы определять то, принадлежит он конкретной группе или нет. Купон может быть для определенного продукта и/или продавца, который имеет высокую корреляцию с определенной группой по интересам. Если клиент использует купон, то существует большая вероятность того, что потребитель по меньшей мере частично включается в эту группу по интересам.
V. Расширение до различных событий и объектов
До сих пор таблицы пар ключей пояснены главным образом для отслеживания предыстории транзакций. Тем не менее, другие события помимо транзакций могут отслеживаться. Например, определенный шаблон транзакции может возникать до и после важного спортивного соревнования. Таким образом, спортивное соревнование может быть идентифицировано с помощью ключа и включено в качестве начального ключа или конечного ключа, при этом истекшее время измеряется относительно спортивного соревнования. Дополнительно, шаблоны транзакций объектов, отличных от потребителей, могут отслеживаться.
A. Таблицы, включающие в себя события за пределами транзакций
В некоторых вариантах осуществления, любые два события могут коррелироваться и отслеживаться в таблицах пар ключей (или таблицах для других групп коррелированных ключей). Каждое событие может иметь ассоциированное время, и тем самым истекшее время между событиями может быть определено. Ассоциированное время необязательно должно быть моментом, в который событие происходит, а только по меньшей мере некоторым показателем времени.
В одном варианте осуществления, одним типом события является начало или конец периода времени. Например, начало нового года может быть событием. Начало дня, недели, месяца или другой единицы времени также может быть использовано. Обычно начало периода времени ассоциировано с начальным ключом таблицы, и конец периода времени ассоциирован с конечным ключом. Такие события могут быть использованы для того, чтобы выбирать различные шаблоны, которые, в частности, возникают в связи с событием. Например, человек может покупать лотерейные билеты 15-го числа каждого месяца.
Для таблиц, в которых начальный ключ является началом/концом нового периода времени, различные диапазоны времени (столбцы) могут иметь идентичную длительность. Например, для события начала нового месяца, диапазоны времени могут быть за день, вплоть до 31 столбцов. Чтобы определять шаблон транзакции в течение конкретного месяца (например, марта), таблицы с начальным ключом «март» могут извлекаться с использованием марта в качестве фильтра для начального ключа. В качестве альтернативы, если ключи для транзакций включают в себя дату, сами ключи могут фильтроваться для конкретных дат, но дополнительный анализ может требоваться. Наличие начальных/завершающих событий для определенных периодов времени может предоставлять более простой способ, и все в рамках идентичной структуры.
В некоторых вариантах осуществления, если начальным ключом является начало дня, каждый из 6 столбцов таблицы имеет диапазоны времени в 4 часа. Началом дня может быть полночь, 4:00 или любое заданное время. Таким образом, поведение потребителя, группы по интересам или другой группы потребителей может определяться на ежедневной основе. Точный день также может быть частью ключа, так что шаблоны в выходные могут быть отличены от шаблонов в будний день. В одном варианте осуществления, можно просто предоставлять запрос касательно начального ключа типа «начало периода времени» и касательно «понедельника», и шаблоны транзакций для понедельника могут извлекаться. Включение типа события может быть необходимо, если период времени (например, день) включается в таблицы для других типов событий, например транзакций.
В другом варианте осуществления, событие может быть связано с перемещением отслеживаемого объекта (например, конкретного потребителя). Временное перемещение человека в новый город или страну может быть связано с конкретным набором шаблонов транзакций. Например, когда человек посещает Сан-Франциско, Францию, Европу или другое местоположение, человек может переходить в новое состояние (например, состояние туриста). Когда потребитель выступает в качестве туриста, он должен иметь шаблон транзакции туриста.
Знания перемещения потребителя могут быть идентифицированы через мобильный телефон человека. В качестве другого примера, покупка авиабилетов может быть использована для того, чтобы идентифицировать конкретное назначение из данных транзакции, такое явное упоминание назначения или суммы может означать назначение. Если человек живет на Восточном побережье, одна сумма в долларах может означать Европу, и большая сумма в долларах может означать Азию. Следует отметить, что время перемещения может не соответствовать точно времени, используемому в таблице пар ключей. Например, местоположение мобильного телефона не может быть определено сразу. Фактическая транзакция в местоположении назначения может быть использована для того, чтобы подтверждать начальное событие. Транзакция также может быть использована в качестве начального события для перемещения объекта.
Другими событиями, связанными с действиями потребителя, могут быть поездка в магазин (возможно определенного типа, бренда или местоположения) или действие просмотра содержимого (к примеру, фильмов или радио, даже может быть выбор канала). Событие также может быть внешним событием, к примеру временем спортивного соревнования или голосования. В каждом из этих примеров событие может соответствовать начальному ключу, чтобы определять шаблоны после события, или конечному ключу, чтобы определять шаблоны перед событием.
В другом варианте осуществления, отправка купона может быть начальным событием. Конечное событие может предоставлять временной шаблон для того, когда купон используется. Если купон не используется, то эта пара ключей не отслеживается. Отсутствие такой пары ключей может быть использовано в различных случаях, например при определении группы по интересам человека.
B. Расширение таблиц до других объектов, помимо потребителей
Принцип отслеживания объекта уже кратко упомянут. Главным образом, пояснен потребительский объект. Первый потребитель может быть ассоциирован с набором таблиц (пар ключей), которые могут задавать шаблоны событий (например, шаблоны транзакций) этого потребителя. Эти таблицы могут быть совместно использованы с другими потребителями. Например, другие потребители могут быть заданы посредством некоторых из этих идентичных таблиц в качестве части группы по интересам (пояснено выше). Тем не менее, другие объекты помимо потребителей могут демонстрировать шаблоны.
Поскольку события (например, транзакции) имеют несколько фрагментов данных, каждый фрагмент данных может быть ассоциирован с различным объектом. Например, номер счета, используемый в транзакции, ассоциирован с конкретным потребителем. Транзакция также может иметь название продавца, код продавца и/или конкретное местоположение (магазин) продавца. Каждый из этих фрагментов данных может быть ассоциирован с объектом продавца на разных уровнях специфичности. Такой объект продавца может быть использован для того, чтобы определять шаблоны транзакций для этого продавца. Продавец может использовать такие шаблоны, чтобы прогнозировать бизнес-потребности, упорядочивать запасы (покупка и местоположение), модифицировать правила найма, организовывать распродажи, чтобы сокращать запасы, строить/закрывать магазины, или для любой другой подходящей реакции. Другие объекты могут включать в себя местоположение или подвижные объекты, к примеру автомобиль.
Соответственно, любой объект может быть задан посредством таблиц, созданных из данных событий, которые ассоциированы с объектом. Другим примером объекта является объект транзакции. Объект транзакции соответствует целой совокупности транзакций, обычно имеющих аналогичные ключевые элементы, например почтовый индекс, месяц и т.д. Таблицы объекта транзакции могут быть использованы для того, чтобы собирать сведения о шаблонах для всех потребителей. Другим объектом является мошеннический объект. Мошеннический объект состоит из транзакций, которые определены как мошеннические (например, потребитель подает жалобу на мошенничество). Отклонение транзакции также может быть использовано. Другие объекты для других типов событий также могут существовать. Например, все транзакции в США для определенного кода продавца могут быть помещены в один ключ таблицы, чтобы определять полный шаблон для определенного кода продавца в США.
В различных вариантах осуществления, объекты могут быть ассоциированы с конкретными таблицами посредством сохранения списка таблиц для объекта, или сами таблицы могут сохранять информацию объекта. Информация объекта может быть сохранена в качестве части ключевых элементов или в качестве отдельных полей для структуры данных, которая включает в себя таблицы.
VI. Фильтрация релевантных событий и объектов
Принцип фильтрации введен ранее для того, чтобы получать таблицы, релевантные для конкретного ключа. Релевантные таблицы содержат шаблоны событий, которые затем могут быть использованы для того, чтобы вычислять, например, вероятность (к примеру, вероятность) действительности транзакции, выполнения транзакции конкретным потребителем и принадлежности потребителя к конкретной группе по интересам. Конкретная выполняемая фильтрация зависит от вычисления, которое должно выполняться.
В одном варианте осуществления, фильтр может считаться импульсом, который действует на различные объекты, чтобы идентифицировать требуемые шаблоны. Импульсы, в общем, извлекаются из возникновения события и затем использования этого события для того, чтобы извлекать релевантные таблицы. Такие импульсы могут быть началом нового года. Этот импульс должен отфильтровывать релевантные данные, которые коррелируются с событием «начало года». Ниже приведены некоторые примеры того, как могут быть использованы такие импульсы.
A. Анализ рисков фактической транзакции
В одном варианте осуществления, импульс является текущей транзакцией, для которой запрашивается авторизация. Такой запрос на авторизацию обычно должен формироваться посредством продавца и отправляться в сеть обработки платежей (например, сеть 26). Запрос на авторизацию может включать в себя данные транзакции, к примеру номер счета, код продавца, страна, отраслевой код и т.д. Сеть обработки платежей может определять один или более ключей из этих данных транзакции. Один или более объектов также могут быть определены. Для запросов на авторизацию один объект обычно должен соответствовать номеру счета или потребителю в общем (т.е. для нескольких счетов).
Определенные ключи вместе с объектом могут быть использованы в качестве импульса для того, чтобы выбирать релевантные таблицы из всего пространства всех таблиц. Такая операция может выполняться быстро, поскольку ассоциирования таблиц с определенными ключами и с объектом ранее сохранены. Время и объем текущей транзакции также могут быть использованы для того, чтобы определять конкретные матричные элементы каждой таблицы, которые являются релевантными. Эти значения затем могут быть использованы для того, чтобы определять то, является или нет транзакция произошедшей транзакцией с высокой вероятностью. Значение(я) вероятности (например, сумма матричных элементов или вектор значений вероятности) затем может быть использовано для того, чтобы определять то, авторизовать или нет транзакцию. В одном варианте осуществления, значение(я) вероятности вводится в нейронную сеть, которая использует другую информацию, чтобы определять полный количественный показатель риска, который используется для того, чтобы определять то, авторизовать или нет транзакцию.
B. Прогноз
В некоторых вариантах осуществления, импульс может быть начальным событием, которое может быть использовано для того, чтобы прогнозировать шаблоны, происходящие после начального события. Например, как описано выше, начало месяца (в общем или для конкретного месяца) может быть использовано для того, чтобы определять конкретные шаблоны покупки. Такие вычисления могут выполняться перед или в районе начала месяца. Начало месяца ассоциировано с определенным типом таблиц, и вычисление прогноза может быть выполнено для конкретного объекта (например, конкретного потребителя, группы по интересам или продавца). Завершающие события также могут быть использованы аналогично, чтобы прогнозировать то, что может происходить перед событием. Поскольку возникновение завершающего события может быть известным заранее (например, запланировано на конкретное время), коррелированные начальные события по-прежнему могут быть спрогнозированы. Например, потребительская активность до запланированного спортивного соревнования может быть определена, что может осуществляться с использованием таблиц, имеющих отрицательные диапазоны времени с завершающим событием в качестве начального ключа или положительные диапазоны времени с завершающим событием в качестве конечного ключа.
После того как поведение прогнозировано, любое число ответов может быть составлено. Например, для прогнозируемой транзакции предварительная авторизация может быть отправлена продавцу, для которого транзакция должна быть проведена согласно прогнозу, или может быть отправлен купон. В одном варианте осуществления, объем (в качестве числа или в качестве диапазона), спрогнозированный из таблицы, может быть использован для того, чтобы представлять максимум, для которого авторизована прогнозируемая транзакция. Помимо прогноза транзакции, входные данные также могут быть использованы для того, чтобы прогнозировать другие действия, например, перемещения (другие события) по магазину. Такие данные могут получаться из камер в магазине, а также через мобильный телефон (например, с использованием GPS и/или акселерометра). Эти данные могут быть частью начального события или конечного события.
C. Прогноз после того, как объект переходит в состояние
Вычисление прогноза упомянуто в отношении начального события, используемого для того, чтобы получать определенные шаблоны. Такое событие может рассматриваться как инструктирующее конкретному объекту переходить в новое состояние. Например, начало декабря может приводить к тому, что потребитель или продавец переходит в состояние праздничных транзакций. Аналогично, событие перехода в другие местоположение может приводить к тому, что потребитель переходит в новое состояние, которое демонстрирует шаблон транзакции, отличный от времени, когда потребитель дома.
Соответственно, поиск конкретного события может предоставлять частоту действий, связанных с состоянием, связанным с этим событием. Например, если кто-либо отправляется в Сан-Франциско, человек может иметь определенный шаблон транзакции. Событием является въезд в Сан-Франциско (время может составлять минуту, час, день, неделю). Чтобы осуществлять доступ к этому шаблону, можно выполнять поиск пар событий, которые начинаются с Сан-Франциско. Т.е. по существу всех пар событий <SF:X>, где X является другим событием, коррелированным с переходом в состояние Сан-Франциско. Можно также выполнять поиск данных по местоположению в парах ключей транзакций, которые включают в себя Сан-Франциско в качестве местоположения, ассоциированного с транзакцией.
В некоторых вариантах осуществления, к конкретным шаблонам транзакций, когда объект в конкретном состоянии, может осуществляться доступ посредством комбинирования различных таблиц. Например, пары ключей могут зависеть от состояния. Пара ключей может быть между двумя транзакциями, но с таким требованием, чтобы обе транзакции проводились в момент, когда объект находится в состоянии (например, в ноябре). Соответственно, могут получаться шаблоны между транзакциями, в частности в ноябре. В одном варианте осуществления, чтобы получать эту информацию, можно применять фильтр <Nov|>, чтобы получать таблицы, коррелированные с этим состоянием. Эти результирующие таблицы <Nov:KF> могут умножаться на соответствующие таблицы, которые имеют один из ключей KF в качестве начального ключа. Например, пара ключей <Nov|K1>, умноженная на <K1:K2>, может быть использована для того, чтобы аппроксимировать поведение в ноябре <K1:K2>.
Тип события, которое является импульсом (например, текущая транзакция или начальное событие), может быть использован в качестве части фильтра, чтобы определять релевантные таблицы. Например, тип события может быть включен в качестве ключевого элемента в ключе для события. Таким образом, возникновение ключевого элемента «ноябрь» может быть использовано в качестве фильтра, чтобы получать только события, коррелированные с началом ноября, а не с другими примерами ключевого элемента «ноябрь».
VII. Импеданс (вероятность другой транзакции)
Помимо возможности прогнозировать то, когда конкретная транзакция должна проводиться, варианты осуществления также могут прогнозировать, должна или нет быть выполнена другая транзакция после текущей или прогнозируемой транзакции, что упоминается как импеданс. В некоторых вариантах осуществления, эта информация может отслеживаться посредством использования комплексных чисел касательно матричных элементов конечного события с мнимой частью, соответствующей импедансу. В других вариантах осуществления, импеданс может отслеживаться просто с использованием другого числа для матричного элемента или с использованием другой таблицы.
В таких вариантах осуществления, мнимая часть матричного элемента может соответствовать импедансу, который измеряет, насколько большая вероятность того, что другая транзакция должна проводиться. Вероятность может, в частности, соответствовать будущей транзакции, коррелированной с текущей транзакцией, имеющей диапазон времени и объем в долларах матричного элемента. Действительное значение матричного элемента может соответствовать вероятности того, что событие KF должно происходить, и мнимое значение может быть связано с вероятностью того, что другое событие должно быть коррелировано с событием KF. Мнимая часть может обновляться, когда другая транзакция коррелируется с событием KF для конкретного времени и объема. В одном варианте осуществления, таблица может иметь всего одно значение импеданса для вероятности возникновения любой транзакции позднее. Таким образом, всего одна мнимая часть может быть сохранена для всей таблицы. В другом варианте осуществления, мнимые части могут отличаться для каждого матричного элемента.
В варианте осуществления низкий импеданс (например, большая отрицательная мнимая часть) для матричного элемента означает, что существует высокая вероятность того, что другая транзакция должна быть выполнена, и высокий импеданс (например, высокое положительное значение) означает, что маловероятно то, что другая транзакция должна быть выполнена, при этом нуль представляет неопределенность. Применение отрицательных и положительных значений может переставляться. В другом варианте осуществления, высокий импеданс предоставляется посредством небольшого (отрицательного или положительного) числа, при этом большее число предоставляет низкий импеданс или наоборот. Определенные будущие транзакции могут игнорироваться (например, не подсчитываться) в определении импеданса, например если объем в долларах является слишком малым.
В одном варианте осуществления мнимое число может отслеживаться (например, увеличиваться или уменьшаться) следующим образом. (1) Когда событие KF принимается, каждая из таблиц пар ключей, которые имеют транзакцию в качестве завершающего события, увеличивается в действительной части надлежащего матричного элемента с истекшим временем, измеренным из соответствующего начального события KI. (2) Для каждой таблицы пар ключей определяется конкретное событие KI, с которым коррелирован KF. Затем для этого события KI каждое событие K0, с которым KI коррелируется в качестве конечного события, определяется, и надлежащие матричные элементы конкретных таблиц определяются с использованием истекшего времени между конкретными событиями KI и K0. (3) Мнимая часть отдельных матричных элементов затем может регулироваться (например, уменьшаться, чтобы получать уменьшенный импеданс), чтобы отражать большую вероятность относительно того, что другая транзакция проводится после KI, поскольку событие KF фактически произошло. Если все матричные элементы для таблицы имеют идентичную мнимую часть, то конкретное событие KI не должно быть известным, а просто таблицы, которые имеют ключ для завершающего KI, должны быть известными, что может быть определено с помощью фильтров, применяемых к конечным ключам.
В другом варианте осуществления, мнимая часть может обновляться прямым способом, (a) событие KF идентифицируется. Каждая из таблиц пар ключей, которые имеют KF в качестве завершающего события, увеличивается для действительной части в надлежащем матричном элементе, при этом событие KI является начальным событием. В одном аспекте, KF может не просто начинаться, а может быть частью полного набора обрабатываемых событий. (b) Затем конкретные конечные события K2, которые коррелируются с событием KF в качестве начального события, идентифицируются. (c) В зависимости от числа транзакций K2 мнимая часть надлежащего матричного элемента затем может регулироваться (например, увеличиваться, уменьшаться, задаваться или сбрасываться). Здесь мнимая часть только для одного матричного элемента (например, матричного элемента из (a)) таблиц для KF может быть определена. Либо все другие матричные элементы таблиц также могут быть определены на основе значения для конкретных матричных элементов, только что определенных. Например, все другие матричные элементы таблицы могут обновляться, чтобы отражать то, что транзакция K2 выполнена. Это может выполняться, когда все мнимые части являются идентичными или если всего одно значение сохраняется для всей таблицы.
В одном варианте осуществления, значение по умолчанию для мнимой части может задаваться равным нулю или некоторому среднему значению для вероятности того, что транзакция произойдет. Если после определенного количества времени отсутствуют транзакции, коррелированные с ним, то значение может увеличиваться и продолжает увеличиваться. Альтернативно, значение по умолчанию может задаваться при высоком импедансе и затем понижаться по мере того, как дополнительные транзакции проводятся. В другом варианте осуществления, если будущая транзакция является мошеннической, то комплексная часть также может быть изменена, чтобы отражать больший импеданс, поскольку действительная транзакция не проводится. В другом варианте осуществления, если отклонение происходит после транзакции, то импеданс увеличивается (например, мнимая часть уменьшается на единицу), если прием осуществляется после транзакции, то импеданс уменьшается (например, мнимая часть увеличивается на единицу).
Таким образом можно определять конкретные случаи, в которых транзакция является концом цепочки (т.е. не приводит к другим транзакциям), и другие случаи, в которых транзакция приводит к другим транзакциям. Высокий импеданс должен передавать то, что транзакция является концом цепочки, поскольку дальнейшие транзакции не проводятся очень часто. Наоборот, можно определять то, что транзакция является шлюзом ко многим другим транзакциям, когда она имеет низкий импеданс. В одном варианте осуществления, среднее или сумма всех мнимых частей матричных элементов могут быть использованы для того, чтобы определять то, является или нет какая-либо будущая транзакция вероятной.
Некоторые варианты осуществления могут агрегировать мнимую часть по всему KI, коррелированному с KF, чтобы определять полную вероятность того, что KF должно предоставлять больше транзакций. Таким образом можно стимулировать KF, если вероятность является высокой. Каждая из таблиц с KF в качестве конечного события может быть использована для того, чтобы определять точно, когда отправлять стимулирование и каково может быть стимулирование.
В одном варианте осуществления, можно видеть конец цепочки для одной группы по интересам, но затем наблюдать другую группу по интересам, которая не показывает этот конец цепочки. Анализ затем может быть выполнен в отношении того, почему одна группа достигает конца цепочки, и стратегия разработана для принудительного недопущения возникновения конца цепочки (например, отправка купона, предварительная авторизация или другая изобретенная). Например, можно идентифицировать магазины, в которые одна группа по интересам направляется после транзакции, и отправлять купоны в эти магазины. В качестве другого примера, можно идентифицировать магазины географически около продавца, который является концом цепочки, и отправлять купон в близлежащий магазин, даже потенциально для использования в течение короткого периода времени после прогнозируемого посещения продавца в конце цепочки. После наблюдения того, работает или нет стратегия посредством отправки купонов нескольким людям в группе по интересам, купоны могут отправляться большему числу людей в группе по интересам (включающих в себя людей только частично в группе по интересам).
Вместо или в дополнение к вышеуказанному использованию мнимых значений для импеданса больший импеданс также может соответствовать мошенничеству. Если обнаружено, что мошенническая транзакция K2 коррелирует с транзакцией K1, то матричные элементы <KI:K1> (или просто конкретный элемент) могут иметь увеличенный импеданс. Таким образом, импеданс может отражать прибыльность настоящей транзакции. Например, определенные транзакции, происходящие прямо после покупки билета на концерт, могут быть ассоциированы с мошенничеством, что является примером того, когда каждый матричный элемент может иметь собственную комплексную часть.
В некоторых вариантах осуществления, как действительная, так и мнимая части матричного элемента могут способствовать полному значению, которое предоставляет то, является транзакция хорошей транзакцией относительно вероятного возникновения или является транзакцией, которая приводит к другим транзакциям. Такие транзакции могут быть мотивированы. В других вариантах осуществления, значения для действительных или мнимых составляющих могут быть проанализированы отдельно.
VIII. Вычисление признаков шаблонов
После того как релевантные шаблоны (например, таблицы пар ключей, являющиеся результатом процесса фильтрации) получены, шаблоны могут быть проанализированы, чтобы предоставлять признаки (например, вероятность) для конкретных событий. Признаки могут быть использованы для того, чтобы определять полную вероятность (например, является ли транзакция мошеннической или нет либо принадлежит ли человек к конкретной демографической группе или нет), из которой может быть определен способ действия (например, авторизовать или нет событие транзакции).
Вычисление признаков может выполняться множеством способов. В одном варианте осуществления, признаки могут включать в себя конкретные матричные элементы, соответствующие текущей транзакции. Матричные элементы могут быть модифицированы (например, нормализованы) и/или суммированы, чтобы предоставлять полные признаки. В другом варианте осуществления, с признаками можно осуществлять действия (например, суммировать или прибавлять к другим значениям). Этот раздел описывает некоторые варианты осуществления для получения релевантных признаков вероятности для события из определенных шаблонов событий.
A. Определение подобия транзакций установленным шаблонам
Одна интересующая вероятность состоит в том, подходит или нет конкретная транзакция установленным шаблонам транзакций потребителя. Такая вероятность может быть использована для того, чтобы прогнозировать транзакции, авторизовать текущую транзакцию или для множества других вариантов использования, некоторые из которых явно упоминаются в данном документе. Чтобы определить вероятность, текущая транзакция может сравниваться с установленными шаблонами транзакций.
В примере, в котором одна или более последних транзакций принимаются, эти последние транзакции могут сравниваться с установленными шаблонами транзакций потребителя или других объектов (например, мошенников или конкретной демографической группы). Такое сравнение может выполняться в качестве части определения того, авторизовать или нет последнюю транзакцию. Например, если транзакция является аналогичной установленным шаблонам потребителя, то существует большая вероятность авторизации транзакции. Наоборот, если последняя транзакция является аналогичной долгосрочным шаблонам мошенника, вероятность авторизации транзакции меньше. Установленные шаблоны могут быть созданы из предыдущих транзакций, которые, как известно или предполагается, ассоциированы с конкретным объектом.
В одном варианте осуществления, временной интервал между последней транзакцией, ассоциированной с ключом KF, и одной или более других транзакций, ассоциированных с ключом KI, может быть определен. С использованием способов, описанных в данном документе, можно получать таблицу пар ключей <KI:KF>, созданную из транзакций KF, которые ранее коррелированы с транзакциями KI. Например, ключи KI и KF могут быть использованы для того, чтобы запрашивать установленные таблицы касательно потребителя, чтобы получать таблицу пар ключей <KI:KF>.
Временной интервал и потенциально объем в долларах затем могут быть использованы для того, чтобы выбирать надлежащий матричный элемент. Этот матричный элемент потенциально вместе с другими матричными элементами извлеченных матриц может представлять вероятность непосредственно или в сочетании с другими значениями. Например, матричный элемент может быть поделен на сумму матричных элементов в строке, все матричные элементы в таблице или все транзакции человека, чтобы определять вероятность для последней транзакции. Надлежащий матричный элемент(ы) может выбираться с использованием умножения.
Фиг. 9 показывает пример получения признаков подобия последней транзакции относительно установленного шаблона транзакции потребителя согласно вариантам осуществления. На фиг. 9 краткосрочная таблица 910, созданная из одной или более последних транзакций, умножается (поэлементно) на таблицу 920 шаблонов, чтобы предоставлять признаки 930. Признаки 930 могут предоставлять показатель того, насколько аналогичной является краткосрочная таблица таблице 920 шаблонов и, таким образом, насколько большая вероятность возникновения последней транзакции.
В этом простом примере предположим, что последняя транзакция ассоциирована только с K1 и K1 коррелируется только с K2. Затем таблица <K2:K1> может быть создана с «1» в надлежащем матричном элементе таблицы 910 относительно последней транзакции K2 с нулями в других матричных элементах. Таблица 910 показывает значение 1 для первого объема в долларах и четвертого диапазона времени. Затем краткосрочная таблица 910 может умножать таблицу пар ключей <K2:K1> 920 (которая согласована и извлечена) на результат выбора матричного элемента, который совпадает с краткосрочным матричным элементом, в этом случае «2». Значение этого матричного элемента 930 (например, если нормализовано) может предоставлять показатель вероятности транзакции K1 в это конкретное время. Поскольку «2» является относительно низким по сравнению с другими матричными элементами, вероятность возникновения транзакции K2 с указанным объемом в долларах является относительно низкой. Следует отметить, что вероятность может быть определена только на основе матричных элементов в идентичной строке.
В другом варианте осуществления, таблица 920 шаблонов может соответствовать шаблону мошенничества. Таким образом, признаки 930, имеющие значение «2», могут считаться низкой вероятностью мошенничества относительно других времен. Тем не менее, если матричный элемент является наибольшим значением в таблице, то последняя транзакция K1 может считаться имеющей большую вероятность мошенничества.
В целом несколько краткосрочных таблиц могут получаться в результате для текущей транзакции K1. Кроме того, одна краткосрочная таблица может иметь несколько матричных элементов с «1» или другим значением, чтобы обозначать, что временной интервал между транзакциями попадает в указанный диапазон времени. Несколько последних транзакций также могут быть использованы для того, чтобы определять вероятность для транзакции K1. Например, если другие последние транзакции являются маловероятными, то они могут влиять на вероятность самой последней транзакции. Такое использование других последних транзакций может быть использовано в любом варианте осуществления.
B. Умножение таблиц - совмещение
Могут быть случаи, в которых пара ключей для краткосрочной таблицы не найдена в парах ключей таблиц установленных шаблонов. Когда это происходит, краткосрочная таблица может совмещаться с таблицей установленных шаблонов, чтобы определять совпадающую таблицу для умножения. В одном варианте осуществления, способ 700 может быть использован для того, чтобы выполнять совмещение.
Фиг. 10 иллюстрирует совмещение краткосрочной таблицы 1010 пар ключей с установленными таблицами 1020 пар ключей согласно вариантам осуществления. Краткосрочная таблица 1010 может быть создана на основе одной или более последних транзакций потребителя. В одном варианте осуществления, краткосрочная таблица 1010 может формироваться, когда умножение должно быть выполнено и еще не сохранено. При этом установленные таблицы 1020 пар ключей могут быть уже сохранены, например, в RAM или на диске. Для простоты эти таблицы показаны только с конечным ключом (но пример применяется с равным успехом к начальному ключу). В одном аспекте, начальные ключи для всех показанных таблиц могут быть идентичным ключом, например, K1. В другом аспекте, начальные ключи могут быть идентичными конечным ключам.
Краткосрочная таблица 1010 имеет конечный ключ: <4812,345>, где 4812 - это код продавца, а 345 - это первые три цифры почтового индекса. Тем не менее, таблицы 1020 пар ключей не содержат таблицу с этим конечным ключом. Это может быть обусловлено тем, что потребитель имеет несколько транзакций с почтовыми индексами, начинающимися с 345. Но краткосрочная таблица 1010 может по-прежнему содержать полезную информацию. Таким образом, ключ: <4812,345> может быть расширен так, что он составляет: <4812,*> таким образом, что он совпадает с таблицей 1030. Почтовый индекс может быть расширен на один шаг или с приращением до: <4812,34> <:4812,3> и затем: <4812,*>, если соответствие найдено.
Такое совмещение может выполняться между наборами таблиц пар ключей. В одном варианте осуществления, каждый набор может соответствовать различному объекту, например двум различным потребителям. В общем смысле набор таблиц пар ключей может рассматриваться как множество ключей. Когда множества ключей являются обычными (т.е. оба пространства имеют идентичные числа ключей), то можно применять операции непосредственно. Тем не менее, если ключевые пространства не нормализуются (как в примере по фиг. 10), то совмещение может выполняться, как описано в данном документе.
В одном варианте осуществления, каждая таблица одного множества совмещается ровно с одной таблицей другого множества. В другом варианте осуществления, может не быть найдено соответствия для таблицы из одного множества с другим. В таком случае несовпадающие таблицы могут удаляться или отличаться от таблиц, которые совпадают после совмещения. Различие также может быть проведено между таблицами, которые совпадают только после совмещения, и таблицами, которые совпадают точно. Например, может быть полезным знать то, что делают объекты, что не является идентичным (соответствие отсутствует), или может быть просто похожим (соответствие после некоторого совмещения).
Кроме того, другие операции, помимо умножения, могут выполнять, к примеру, деление, вычитание и сложение. В некоторых вариантах осуществления, совмещение не необходимо. Например, различные таблицы могут быть дополнены конечным ключом, который является пересечением ключей (например, самым широким ключом, который таблицы имеют в совокупности). В качестве другого примера, после суммирования ассоциирование с конкретным ключом может отбрасываться.
C. Другие вычисления вероятности
С помощью этой структуры совмещения и умножения ключей могут выполняться более сложные вычисления вероятности. Как упомянуто выше, другие операции, к примеру деление, могут быть использованы. Цель деления может состоять в том, чтобы нормализовать множество ключей (т.е. набор таблиц).
Фиг. 11 показывает вычисление вероятности того, что транзакция или набор транзакций являются аналогичными установленным шаблонам согласно вариантам осуществления. Такое вычисление может предоставлять вероятность возникновения транзакции. Таблицы 1110 мошенничества и таблицы 1120 всех транзакций являются таблицами установленных шаблонов, которые могут обновляться в заданные времена, например один раз в день, в неделю и т.д. Таблицы 1130 счетов являются краткосрочными таблицами, созданными из транзакции или набора транзакций. Таблица 1140 констант является таблицей, которая может использоваться для нормализации, например, чтобы задавать значения таблицы в рамках конкретного диапазона.
Таблицы 1110 мошенничества могут получаться из мошеннических транзакций для всех или множества объектов. В одном варианте осуществления, конкретный набор таблиц имеет общий ключевой элемент, например все мошенничество для конкретного продавца или в течение конкретного месяца. Другие ключевые элементы могут быть использованы, например почтовый индекс, страна или любой другой подходящий ключевой элемент. Выбираемые таблицы мошенничества могут быть таблицами, которые имеют мошенничество на значительную сумму. Например, транзакция из одного почтового индекса на другой почтовый индекс на большом расстоянии в пределах короткого временного кадра с большой вероятностью является мошеннической.
Таблицы 1120 всех транзакций могут получаться из всех транзакций для всех или множества объектов. В одном варианте осуществления, таблицы 1120 всех транзакций получаются из объектов, идентичных объектам таблиц 1110 мошенничества. Аналогично таблицам 1110 мошенничества таблицы 1120 всех транзакций могут совместно использовать идентичный ключевой элемент, например, ключевой элемент, идентичный ключевому элементу в таблицах 1110 мошенничества. Полные транзакции могут включать в себя мошеннические транзакции и действительные транзакции или только действительные транзакции. Таблицы мошенничества и всех транзакций могут вычисляться в пакете в предписанные времена, например каждый день, неделю, месяц. Число таблиц мошенничества и/или всех транзакций может быть довольно высоким, например 10000-500000 или более.
В примере, в котором таблицы 1110 мошенничества и таблицы 1120 всех транзакций включают в себя транзакции в течение конкретного месяца, может быть меньше таблиц мошенничества, чем таблиц всех транзакций. Это может происходить, поскольку не все пары ключей могут иметь достаточно значительные мошеннические транзакции, чтобы отслеживать определенную таблицу пар ключей. В таких случаях таблицы мошенничества, которые отслеживаются, могут совмещаться с таблицами всех транзакций.
После того как таблицы совмещены, таблицы 1120 всех транзакций могут быть использованы для того, чтобы нормализовать таблицы 1110 мошенничества посредством деления таблицы мошенничества на соответствующую таблицу всех транзакций. После деления нормализованные таблицы мошенничества могут быть сохранены в RAM (или любом другом запоминающем устройстве с более быстрым доступом, чем диск). Как и в случае с фиг. 9, операция деления делит каждый матричный элемент таблицы мошенничества на соответствующий матричный элемент таблицы всех транзакций. Деление может предоставлять нормализацию счетчиков для таблиц мошенничества. Например, конкретная таблица мошенничества может иметь высокие значения, но, если всего выполнено много транзакций, общее процентное отношение транзакций, которые являются мошенническими, является низким. Таким образом, вероятность мошеннической транзакции является низкой.
В одном варианте осуществления, каждая таблица мошенничества совмещается точно с одной таблицей транзакций. Например, если существует 100 отслеживаемых таблиц мошенничества (т.е. для данной группы, имеющей общий элемент, к примеру месяц), то 100 таблиц получается в результате совмещения и деления. Следует отметить, что совмещение может быть неявным в системе обозначений операции деления. В некоторых вариантах осуществления, может не быть совпадения таблицы мошенничества с таблицей всех транзакций, хотя это может редко происходить. В таком случае таблица мошенничества может удаляться и тем самым может быть меньше результирующих таблиц, чем таблиц мошенничества. В варианте осуществления, можно отличать таблицы мошенничества, которые не имеют соответствия, от таблиц, которые совпадают, или между таблицами, которые совпадают только после совмещения, и таблицами, которые совпадают точно.
Таблицы 1130 счетов могут быть созданы из множества последних транзакций, например, поскольку мошенничества имеют тенденцию происходить в наборах последовательных транзакций. Независимо от того, сколько последних транзакций используется, несколько таблиц счетов могут получаться в результате. Например, одна транзакция может иметь ключ, который коррелируется с несколькими начальными ключами. Таким образом, множество краткосрочных таблиц пар ключей может формироваться. Таблица счетов может иметь форму, как описано выше для таблицы 910. В различных вариантах осуществления, модуль 392 преобразования и/или модуль согласования (например, модуль 794) может быть использован для того, чтобы определять то, какие краткосрочные таблицы пар ключей создаются.
Таблицы 1130 счетов затем могут совмещаться с нормализованными таблицами мошенничества. Перед совмещением некоторые или все таблицы счетов могут быть суммированы. В одном варианте осуществления, две таблицы счетов могут быть суммированы, когда ключи аналогичные. Фактически конечные транзакции для каждой из таблиц могут рассматриваться как имеющие идентичный тип, т.е. имеющие идентичный ключ. Например, если продавец является идентичным, но почтовые индексы отличаются, две таблицы могут быть объединены, а почтовый индекс удален или расширен (что может считаться пересечением двух таблиц пар ключей). Это суммирование может быть, в частности, надлежащим, когда обе таблицы должны совмещаться с одной таблицей мошенничества. В таком случае суммирование после умножения таблиц счетов на нормализованные таблицы мошенничества предоставляет идентичную результирующую таблицу.
После совмещения таблицы счетов могут умножаться поэлементно с нормализованными таблицами мошенничества, тем самым предоставляя множество таблиц счетов мошенничества. В одном варианте осуществления, эти таблицы счетов мошенничества могут быть суммированы, чтобы предоставлять одну конечную таблицу. В одном аспекте, суммирование может быть обусловлено группировкой таблиц 1110 мошенничества так, что они имеют аналогичный ключевой элемент, и тем самым конечная таблица может быть связана с одним ключевым элементом. Эта конечная таблица может предоставлять полное подобие шаблонов транзакций с определенными типами мошенничества и, следовательно, может быть использована (например, посредством функции моделирования, как упомянуто на этапе 380 способа 300) для того, чтобы определять вероятность того, исходит или нет транзакция фактически от потребителя. В другом варианте осуществления, каждая из таблиц счетов мошенничества независимо может быть конечной таблицей, которая используется посредством функции моделирования.
В одном варианте осуществления, если таблица счетов не может совмещаться (т.е. отсутствует соответствующая нормализованная таблица мошенничества), то среднее значение мошенничества может быть использовано. В различных вариантах осуществления, этот средний уровень мошенничества является одним числом, которое умножает таблицу счетов, является таблицей средних значений и может быть идентичным для всех мошеннических групп или идентичным только в одной мошеннической группе.
В другом варианте осуществления, матрица масок может быть использована для того, чтобы удалять определенные матричные элементы из таблиц счетов мошенничества или из конечной таблицы. Например, матрица масок может удалять низкочастотные или высокочастотные компоненты либо быть режекторным фильтром, чтобы выбирать частоты в середине. Кроме того, определенные объемы в долларах также могут удаляться. В одной реализации матрица масок имеет единицы в матричных элементах, которые должны сохраняться, и нули в матричных элементах, которые не должны быть проанализированы.
Хотя таблицы 1110 мошенничества нормализованы, конечная таблица(ы) по-прежнему может иметь матричные элементы со значениями, которые могут значительно различаться. Эта вариация в значениях может приводить к нестабильности функции моделирования, которая использует матричный элемент в качестве признаков шаблонов, чтобы получать полную вероятность. Соответственно, в некоторых вариантах осуществления матрица 1140 констант используется для того, чтобы ограничивать конечный матричный элемент так, что он находится в определенном диапазоне значений, например между -1 и 1 или 0 и 1. В одном варианте осуществления, матрица 1140 констант создается из указанной функциональной формы, такой как гиперболическая тангенциальная, логарифмическая или сигмоидальная (в общем S-образная) функциональная форма.
Матрица 1140 констант также может ограничивать значения матричных элементов так, что они соответствуют третьему числу в предписанном диапазоне. Например, нулевой вывод может преобразовываться в значение матричного элемента, при котором мошеннические и действительные транзакции может быть труднее определять, и тем самым чувствительность должна быть больше. В одном варианте осуществления, функциональная форма матрицы 1140 констант может сохраняться в течение длительного периода времени, при этом вводы конкретных значений матричных элементов (например, максимальных и минимальных значений в конкретной таблице) используются для того, чтобы определять точные значения. То какое значение счетчика соответствует нулю, также может иметь входной параметр. Функциональные формы могут быть постоянными или варьироваться для нескольких объектов.
Вычисление, показанное на фиг. 11, может выполняться для различных групп таблиц мошенничества, например, одна группа совместно использует идентичного продавца, одна группа совместно использует месяц и т.д. В таких вариантах осуществления, таблицы счетов, используемые для конкретной группы, могут выбираться так, что они соответствуют конкретной группе. Таким образом, различные таблицы счетов могут использоваться для различных групп. В одном варианте осуществления, каждое из этих вычислений затем может комбинироваться и предоставляться в модельную функцию, которая использует вводы для того, чтобы определять количественный показатель риска, связанный с тем, является транзакция мошеннической или нет.
Вместо или в дополнение к сравнению с мошенничеством можно также добавлять вычисление, заключающее в себе установленный шаблон транзакции потребителя. В таких вариантах осуществления, таблицы мошенничества могут заменяться установленными таблицами пар ключей потребителя. Операция умножения затем может предоставлять показатель того, насколько большая вероятность того, что последние транзакции подходят к шаблону потребителя, и тем самым может способствовать определению того, исходит или нет транзакция от потребителя. Большее подобие установленному шаблону может обозначать большую вероятность действительности транзакции. Окончательные результаты из сравнения касательно мошенничества и сравнения потребителей могут быть проанализированы отдельно или оба могут вводиться в идентичную функцию моделирования, которая учитывает соответствующие значения.
Форма формулы на фиг. 11 также может быть использована для того, чтобы определять то, насколько большая вероятность того, что потребитель является частью группы по интересам. Вместо таблиц мошенничества могут быть использованы таблицы пар ключей группы по интересам. Нормализация может по-прежнему выполняться для таблиц всех транзакций для конкретной группы по интересам или для таблиц транзакций для нескольких групп по интересам. Таблицы счетов по-прежнему могут быть составлены просто из последних транзакций или могут быть таблицами для установленных шаблонов потребителя. Таблицы также могут быть нормализованы.
В одном варианте осуществления, нормализованные таблицы мошенничества (и потенциально таблицы счетов) могут быть сохранены на нескольких процессорах, и каждый из них может выполнять соответствующее умножение, если существует совпадение с таблицей счетов. В качестве альтернативы, запрос может предоставляться в каждый процессор, и процессор, который сохраняет требуемую таблицу мошенничества, может возвращать запрашиваемую таблицу. Конечная таблица(ы) может предоставляться в один процессор или набор процессоров, которые выполнены с возможностью осуществлять функцию моделирования.
D. Вычитание матриц
Помимо сравнения различных объектов посредством умножения соответствующих множеств ключей (наборов таблиц пар ключей), множества также могут вычитаться друг из друга. Каждая таблица (которая может быть нормализована) может совмещаться, а элементы  вычитаться. Если разность является большой, то эти два множества с меньшей вероятностью являются частью идентичной группы по интересам. Варианты осуществления также могут анализировать таблицы, которые не совпадают точно, и таблицы, которые совпадают только после процедуры совмещения. Значения этих матриц могут быть проанализированы вместе с различиями для таблиц, которые совпадают.
E. Прогноз
В вариантах осуществления, которые прогнозируют вероятность будущего события, можно получать релевантные таблицы пар ключей для объекта (например, потребителя) и затем анализировать эти таблицы. То какие таблицы получаются и как они анализируются, зависит от того, попытка прогнозирования каких именно событий выполняется, т.е. от ответа на вопрос.
В одном варианте осуществления, если необходимо идентифицировать, когда конкретное событие E происходит с большой вероятностью, событие может быть представлено с помощью одного или более ключей KF. Эти ключи затем могут быть использованы для того, чтобы фильтровать таблицы пар ключей, имеющие конечный ключ, который совпадает с ключом KF, ассоциированным с событием E. При этом результат является набором таблиц <KI:KF>, в котором каждое событие KI коррелируется с событием E. Здесь можно анализировать таблицы, чтобы получать диапазоны времени для события E, которые являются наиболее вероятными (например, диапазоны времени, имеющие наибольшие значения), но эти диапазоны времени являются истекшими временами от событий KI. Чтобы получать фактическое (абсолютное) время и дату, можно получать информацию времени для событий KI. Таким образом, доли вероятности из каждой таблицы также могут быть комбинированы, поскольку идентичный абсолютный временной кадр может быть использован; тогда как с истекшим временем временные кадры для каждой из таблиц могут отличаться. Если объем в долларах указан для события E, то конкретный матричный элемент в диапазоне времени (например, столбец) может быть идентифицирован. Если какой-либо объем разрешен, то все матричные элементы в столбце могут быть использованы.
В другом варианте осуществления, если необходимо идентифицировать то, какие события происходят с большой вероятностью после начального события E, событие может быть представлено с помощью одного или более ключей KI. Эти ключи затем могут быть использованы для того, чтобы фильтровать таблицы пар ключей, имеющие начальный ключ, который совпадает с ключом KI, ассоциированным с событием E. При этом результат является набором таблиц <KI:KF>, в которых каждое событие KF коррелируется с событием E. Для каждого события KF можно затем получать истекшее время, которое является наиболее вероятным, посредством выбора матричного элемента с наибольшим значением. Если необходима дополнительная информация вероятности конкретного события KF, затем могут использоваться варианты осуществления в предыдущем абзаце.
В дополнение к определению того, когда событие KF является вероятным, также может быть определено вычисление вероятности того, что такое событие KF связано с мошенничеством. Например, после определения того, что событие KF является вероятным в конкретное время, любое действие (например, отправка купона) также может зависеть от того, может или нет такое событие быть мошенническим.
IX. Способ для вероятности конкретной транзакции
Как указано выше, варианты осуществления могут быть использованы для того чтобы определять вероятность (например, количественный показатель риска) того, что событие (например, транзакция) является мошенническим, причем вероятность объекта является аналогичным демографической группе, вероятности появления события или любому другому показателю вероятности. Фиг. 12 является блок-схемой последовательности операций способа 1200 определения вероятности событий, для которых данные приняты согласно вариантам осуществления. Способ 1200 может выполняться посредством любого множества или комбинации компьютерных устройств, описанных в данном документе, и их компонентов.
На этапе 1210, данные для одного или более событий принимаются. В одном варианте осуществления, данные событий (например, данные транзакции) ассоциированы с одним объектом, например, конкретным потребителем или группой по интересам. Данные событий могут быть для только недавних событий, или просто для старых событий, или для комбинации означенного.
В некоторых вариантах осуществления, событие является незавершенной транзакцией, которая инициирована потребителем, но не завершена, поскольку авторизация еще не предоставлена. В одном варианте осуществления, данные транзакции принимаются как часть запроса на авторизацию, отправляемого посредством продавца. В другом варианте осуществления, данные для недавних событий (например, транзакций) также извлекаются для обработки. Эти последние транзакции могут быть использованы при определении авторизации незавершенной транзакции, например, посредством использования для того чтобы определять то, возникает или нет мошеннический шаблон, и тем самым, является или нет мошенничество для незавершенной транзакции более вероятным (например, как описано выше для фиг. 11).
На этапе 1220, данные событий используются для того чтобы преобразовывать каждое событие в один или более ключей. Если недавние события используются, последние транзакции также могут преобразовываться или преобразованы ранее. В некоторых вариантах осуществления, преобразованные ключи являются, в частности, ключами, которые отслеживаются, например, касательно потребителя, группы по интересам или мошеннического объекта. В одном варианте осуществления, преобразование выполняется посредством модуля 392 преобразования на фиг. 3B, который также может обеспечивать то, что преобразованные ключи являются, в частности, ключами, которые отслеживаются касательно конкретного объекта.
На этапе 1230, таблицы пар ключей (например, таблицы 1130) формируются с использованием ключей и информации времени событий. В одном варианте осуществления, в котором события являются недавними, таблицы пар ключей, которые имеют конечный ключ, совпадающий с одним из ключей, являющихся результатом этапа 1220, получаются. В другом варианте осуществления, таблицы пар ключей могут быть комбинированы, когда две транзакции являются аналогичными. Например, аналогичные ключи в виде почтовых индексов для двух транзакций (например, одна последняя и незавершенная транзакция) могут быть комбинированы в один более широкий ключ в виде почтового индекса. Любой из этих вариантов осуществления может выполняться, например, когда авторизация запрашивается.
На этапе 1240, таблицы установленных шаблонов, которые соответствуют сформированным таблицам ключей из этапа 1230, идентифицируются. Эти таблицы могут быть функциями вероятности, которые аппроксимируют шаблоны. Соответствующие таблицы могут быть ассоциированы с объектом, идентичным объекту таблиц пар ключей, на этапе 1230. Например, соответствующие таблицы могут быть установленными шаблонами событий для потребителя. В других вариантах осуществления, соответствующие таблицы предназначены для группы по интересам или для мошеннического объекта, оба из которых ассоциированы с потребителем в качестве объектов, шаблоны которых могут касаться определения того, авторизовать или нет транзакции потребителя. Соответствующие таблицы могут быть комбинацией таблиц, например, таблиц 1110 мошенничества, деленных на таблицы 1120 всех транзакций. В одном варианте осуществления, функция 794 согласования и извлечения по фиг. 7D идентифицирует таблицы пар ключей с использованием способов, описанных в данном документе. В другом варианте осуществления, таблица установленных шаблонов должна иметь определенную сумму всех значений, среднее значений, минимальное значение в любом матричном элементе или другой показатель значений в таблице. Такое требование может обеспечивать то, что достаточно данных принято, чтобы предоставлять точный шаблон.
На этапе 1250, каждая сформированная таблица пар ключей умножается на соответствующую таблицу установленных шаблонов, тем самым предоставляя множество результирующих таблиц. В одном аспекте, каждый матричный элемент одной таблицы умножается на соответствующий матричный элемент другой таблицы. Эти результирующие таблицы могут быть суммированы в одну конечную таблицу, только некоторые таблицы могут быть суммированы или несуммированы. В одном варианте осуществления, конечная(ые) таблица(ы) умножается на таблицу констант, чтобы преобразовывать значения матричных элементов так, что они находятся в заданном диапазоне значений. В одном варианте осуществления, значения результирующих таблиц могут быть использованы в качестве значений вероятности. В другом варианте осуществления, только ненулевые значения результирующих таблиц используются в качестве значений вероятности.
На этапе 1260 по меньшей мере некоторые значения конечных таблиц используются в качестве ввода в функцию моделирования, такую как алгоритм оптимизации или дерево решений. Матричные элементы конечных таблиц могут отдельно вводиться в функцию моделирования. Функция моделирования может анализировать конечные таблицы, чтобы определять количественный показатель, к примеру, количественный показатель риска для мошеннического события или количественный показатель подобия для аналогичности сформированных таблиц пар ключей таблицам шаблонов (например, чтобы видеть то, является или нет человек частью группы по интересам).
На этапе 1270, количественный показатель используется для того чтобы определять то, выполняются или нет определенные действия. Например, если количественный показатель риска выше определенного значения, событие может считаться действительным, а не мошенническим, или наоборот. Уровень достоверности или мошенничества может зависеть от конкретных значений количественного показателя. Сам количественный показатель риска или другие факторы могут быть использованы посредством объекта авторизации (например, эмитента или сети обработки платежей), чтобы определять то, авторизовать или нет транзакцию. В качестве другого примера, количественный показатель также может быть использован для того, чтобы задавать потребителя как составляющего определенный процент от группы по интересам.
В вариантах осуществления, в которых количественный показатель включает в себя подобие шаблонам транзакций потребителя, человеку может разрешаться вводить некорректную информацию (например, вводить почтовый индекс с опечаткой), но система по-прежнему должна авторизовать транзакцию, когда транзакция подходит к установленным шаблонам. Некоторые варианты осуществления могут даже иметь требование активного удаления ввода почтового индекса после проведения карты через считывающее устройство, если вероятность является достаточно высокой. В одном варианте осуществления сложные вопросы могут быть определены на основе значения количественного показателя.
X. Авторизация транзакции
Преимущественным является то, чтобы авторизовать транзакцию быстро при поддержании точной оценки риска транзакции, например, через процесс авторизации. Как упомянуто выше, после того как шаблон определен, транзакция может проводиться согласно прогнозу, например, в конкретном временном окне. Знание того, когда транзакции имеют тенденцию проводиться, может давать возможность точного определения того, авторизовать или нет транзакцию, когда она проводится. Например, если запрос на авторизацию принимается для текущей транзакции в момент, когда транзакция, в общем, проводится, более вероятным является то, что транзакция инициируется потребителем.
Фиг. 13 является блок-схемой последовательности операций способа 1300 для авторизации транзакции потребителя согласно вариантам осуществления. В одном варианте осуществления, предыдущие транзакции (например, 210) используются для того чтобы определять то, должна или нет текущая транзакция быть авторизована. В одной реализации, транзакции в конкретном периоде времени анализируются, например, в прошлом году или все транзакции перед текущей транзакцией.
На этапе 1310, данные, ассоциированные с транзакциями, ранее выполненными, например, потребителем или другими аналогичными потребителями (группа по интересам), принимаются. Например, данные в базе 26(b) данных предыстории транзакций могут быть приняты в анализаторе 26(c) транзакций системы 20 на фиг. 1, который включает в себя процессор, который может конфигурироваться с помощью программного обеспечения. Каждая транзакция может иметь любое число фрагментов данных, ассоциированных с ней. Эти данные могут быть использованы для того чтобы идентифицировать конкретный тип транзакции. В одном варианте осуществления, данные для транзакции синтаксически анализируются, чтобы идентифицировать один или более ключей, которые используются в качестве идентификаторов для конкретной транзакции. В другом варианте осуществления, модуль преобразования может выполнять преобразование данных транзакции в один или более ключей. Ключ может состоять из нескольких фрагментов данных (упоминаемых в данном документе как ключевой элемент) и иметь свойства, описанные в данном документе.
На этапе 1320, транзакции необязательно коррелируются с другими транзакциями и событиями. Таким образом, различные шаблоны транзакций могут быть идентифицированы для различных типов транзакций. Другие события (например, начало или конец дня, недели и т.д.) также могут быть коррелированы с транзакциями. Событие также может быть переходом потребителя из одного состояния в другое (например, из состояния «дома» в состояние «в отпуске»). Различные события также могут быть идентифицированы с помощью ключей. В данном документе используются примеры для того чтобы описывать то, как ключи используются для того, чтобы идентифицировать типы транзакций, но другие подходящие способы могут быть использованы. В одном варианте осуществления, пары коррелированных ключей (например, пара ключей <KI:KF>) определяются на основе того, коррелируются или нет события, ассоциированные с начальным ключом (KI), с транзакциями с конечным ключом (KF).
На этапе 1330 создаются функция(и) вероятности, которые аппроксимируют один или более шаблонов того, когда выполнены предыдущие транзакции. В одном варианте осуществления, функции вероятности того, когда выполнены предыдущие транзакции, определяют с использованием компьютерной системы, например, анализатора 26(c) транзакций, который может быть подсистемой или одним устройством. Функция(и) вероятности может передавать вероятность транзакции в качестве функции от времени и может включать в себя доли от нескольких шаблонов или всего одного шаблона. Например, функция 220 шаблона может считаться функцией вероятности, и комбинация функций 220 и 270 шаблона может считаться функцией вероятности. В этих примерах транзакции являются более вероятными, когда функция имеет большее значение и тем самым с большей вероятностью приводит к авторизации. В других вариантах осуществления (подробнее описанных ниже), большее значение может с меньшей вероятностью приводить к авторизации, например, когда шаблон имеет мошеннические транзакции.
В одном варианте осуществления, пары коррелированных транзакций (или других событий) используются для того, чтобы определять шаблон, например, в качестве времен конечных транзакций, связанных с начальными событиями. Времена могут быть сохранены в качестве абсолютного времени и/или даты каждой транзакции (например, в хронологическом порядке) или организованы в качестве истекших времен для коррелированных событий определенных пар ключей. Истекшее время может быть временем между транзакцией с K1 и следующей транзакцией с K2 для коррелированной пары <K1:K2>. Другие данные также могут быть сохранены, например, данные, не включенные в ключи, такие как объем транзакции. Истекшее время может фактически равняться абсолютному времени, если начальным событием является начало периода времени.
В некоторых вариантах осуществления, сохраняется информация времени (например, в базе 26b данных предыстории транзакций), ассоциированная с соответствующей парой ключей. В одном варианте осуществления, информация времени для пары ключей <K1:K2> может быть сохранена в таблице базы данных, к которой может осуществляться доступ с запросом, содержащим K1, K2 или комбинацию (потенциально в порядке K1:K2). Таблица пар ключей является примером функции вероятности или группы функций вероятности в зависимости от обстоятельств. В одном аспекте, сохранение информации времени в ассоциации с определенными парами ключей может давать возможность простого осуществления доступа к информации времени для определенных типов транзакций. Кроме того, такая организация может предоставлять более простой анализ данных, чтобы идентифицировать шаблоны для конкретных пар ключей. Возникновения транзакции затем могут быть проанализированы (например, анализ Фурье или другой функциональный анализ), чтобы идентифицировать шаблон времен и дат этих транзакций.
На этапе 1340 принимают данные для транзакции во время T. В одном варианте осуществления, транзакция является незавершенной транзакцией, которая еще не завершена. В качестве примера, сеть 26 обработки платежей может принимать данные в качестве части запроса на авторизацию от продавца. Сеть 26 обработки платежей затем может выполнять процедуру, чтобы помогать в определении того, авторизовать или нет эту текущую транзакцию, например, посредством вычисления количественного показателя риска или другого количественного показателя.
На этапе 1350 определяют релевантную функцию(и) вероятности. Релевантная функция(и) вероятности может быть определена на основе того, используют или нет функция вероятности и данные транзакции совместно совпадающие значения. В одном варианте осуществления, согласование может выполняться с использованием ключей. Например, релевантные пары ключей могут выбираться, и таблицы или другие данные для пары ключей могут получаться. В некоторых вариантах осуществления, чтобы определять то, авторизовать или нет транзакцию (например, текущую транзакцию 230 на фиг. 2A), релевантными парами ключей являются все или некоторые пары, которые включают в себя ключи, которые совпадают с ключом, ассоциированным с транзакцией. В одном варианте осуществления, релевантными парами ключей являются все пары ключей, которые ассоциированы с текущей транзакцией в качестве конечного ключа. В другом варианте осуществления, релевантная функция(и) вероятности может быть для шаблонов других объектов, к примеру, определенных демографических данных или мошеннических шаблонов.
На этапе 1360 определяют одно или более значений вероятности релевантной функции(й) вероятности во время T. В одном варианте осуществления значения вероятности могут быть получены из таблиц для релевантных пар ключей. В различных вариантах осуществления значением вероятности может быть число транзакций в диапазоне времени, в который время T попадает, вероятность непрерывной функции во время T (например, вычисленная из значения одной или более функций шаблона во время T) или другой показатель, связанный с вероятностью. В варианте осуществления, в котором текущая транзакция имеет несколько ассоциированных ключей, несколько значений вероятности могут быть суммированы. Значения вероятности для функций вероятности нескольких шаблонов могут быть суммированы, поскольку на полную вероятность для транзакции оказывают влияние шаблоны.
На этапе 1370, значение(я) вероятности может быть использовано для того чтобы определять количественный показатель риска или другой количественный показатель, который может быть использован для того чтобы определять то, авторизовать или нет текущую транзакцию. В различных вариантах осуществления, количественный показатель может соответствовать вероятности того, что транзакция является мошеннической, вероятности того, что транзакция проводится в конкретное абсолютное или относительное время, или комбинации означенного. В некоторых вариантах осуществления, значение(я) вероятности может вводиться в функцию моделирования в качестве части определения количественного показателя.
XI. Способ прогнозирования события
В противоположность вычислению вероятности для события, которое уже произошло, конкретные варианты осуществления также могут прогнозировать возникновение будущего события (например, транзакции). На основе прогноза, варианты осуществления могут выполнять действие, такое как предварительная авторизация прогнозируемой транзакции, отправка купона, чтобы использовать для прогнозируемой транзакции или стимулировать транзакцию, когда вероятность возникновения является низкой, и действия, связанные с запасами фирмы.
Фиг. 14 является блок-схемой последовательности операций способа 1400 для прогнозирования события согласно вариантам осуществления. Способ 1400 может выполняться посредством любого множества или комбинации компьютерных устройств, описанных в данном документе, и их компонентов.
На этапе 1410, данные для одного или более недавних и/или предстоящих событий принимаются. В одном варианте осуществления, данные событий (например, данные транзакции) ассоциированы с одним объектом, например, конкретным потребителем или группой по интересам. Для недавних событий, то, является или нет событие «недавним», может быть относительно других событий. Например, если событие не происходит часто, недавнее событие (например, последнее событие этого типа) все же может происходить давно в абсолютном выражении. Для предстоящего события, событие еще не произошло, но, как может быть известно, должно происходить. Например, начало месяца (или другой период времени) имеет известное время возникновения. В качестве другого примера, запланированное событие (к примеру, спортивное соревнование или концерт) может быть использовано. Данные для этих запланированных событий могут получаться до того, как они происходят, вследствие характера этих событий.
На этапе 1420, данные событий используются для того, чтобы преобразовывать каждое событие в один или более ключей KI. В некоторых вариантах осуществления, преобразованные ключи KI являются, в частности, ключами, которые отслеживаются касательно объекта. На этапе 1430, таблицы установленных шаблонов, которые имеют начальный ключ KI, получаются, тем самым предоставляя таблицы <KI:>, релевантные для принимаемых данных событий. В одном варианте осуществления, функция 794 согласования и извлечения по фиг. 7D идентифицирует релевантные таблицы с использованием способов, описанных в данном документе. В вариантах осуществления, в которых событие является предстоящим событием, предстоящее событие может быть конечным событием (или фактически диапазоны времени могут быть отрицательными, при этом предстоящее событие является начальным событием), причем транзакции перед завершающим событием анализируются.
На этапе 1440, таблицы <KI:>, имеющие матричные элементы с достаточно высокими значениями счетчика, идентифицируются, чтобы определять события KF, которые происходят с большой вероятностью. В одном варианте осуществления, чтобы определять то, имеет или нет матричный элемент достаточно высокое значение счетчика, одно или более абсолютных или относительных пороговых чисел могут быть использованы. Относительное пороговое значение (например, процентное отношение) может быть определено с использованием общего числа значений счетчика для таблицы или группы таблиц. В другом варианте осуществления, все таблицы (т.е. не только таблицы с совпадающим KI для начального ключа) могут быть проанализированы, чтобы находить матричные элементы с высокими значениями счетчика, тем самым исключая этапы 1410-1430. Тем не менее, использование недавних или предстоящих событий может предоставлять большую своевременность для любого результата или действия, которое должно выполняться на основе результата. Идентифицированные события KF вместе с конкретными диапазонами времени для матричных элементов с высокими значениями счетчика затем могут быть проанализированы.
В других вариантах осуществления, таблицы <KI:>, имеющие матричные элементы с достаточно высокими или низкими значениями счетчика, могут быть идентифицированы, например, чтобы определять события KF, которые могут быть частью тренда. Тренд может быть изменением в вероятности, которое может быть идентифицировано, когда значение счетчика находится за пределами диапазона ожидаемых или средних значений. В одном варианте осуществления, чтобы определять то, имеет или нет матричный элемент достаточное значение счетчика, одно или более абсолютных или относительных пороговых чисел могут быть использованы (например, ниже нижней и выше верхней границы). Относительное пороговое значение (например, процентное отношение) может быть определено с использованием общего числа значений счетчика для таблицы или группы таблиц. В другом варианте осуществления, все таблицы (т.е. не только таблицы с совпадающим KI для начального ключа) могут быть проанализированы, чтобы находить матричные элементы с высокими или низкими значениями счетчика, тем самым исключая этапы 810-830. Тем не менее, использование недавних или предстоящих событий может предоставлять большую своевременность для любого результата или действия, которое должно выполняться, на основе результата. Идентифицированные события KF вместе с конкретными диапазонами времени для матричных элементов с высокими или низкими значениями счетчика затем могут быть проанализированы.
На этапе 1450, другие матричные элементы, неидентифицированные ранее, получаются для каждого вероятного события KF. Например, событие KF может быть коррелировано с большим числом начальных ключей, чем просто начальные ключи, идентифицированные на этапе 1420. Эти ранее непроанализированные таблицы также могут иметь высокие значения счетчика для определенных матричных элементов, заключающих в себе событие KF. Событие KF может быть использовано в качестве фильтра, чтобы идентифицировать непроанализированные таблицы, из которых могут получаться другие матричные элементы с высоким значением счетчика. Таким образом, этот этап может быть использован для того чтобы получить более точную вероятность для конкретного события KF. Получение этих других матричных элементов с высоким значением счетчика может не быть обязательным, например, если KI является начальным событием, к примеру, началом недели, месяца и т.д. В этом случае, поскольку другие таблицы должны включать в себя идентичные точки данных, то эти другие таблицы должны включать в себя просто избыточную информацию.
Кроме того, матричные элементы с низким значением счетчика для событий KF, уже определенные как вероятные, могут быть важными, если высокая точность требуется. Например, поскольку временные кадры различных таблиц <:KF> могут отличаться (вследствие различных событий KI), матричные элементы, имеющие относительно низкие значения счетчика, могут соответствовать временному кадру, идентичному временному кадру матричного элемента с высоким значением счетчика. Таким образом, число значений счетчика для вероятного диапазона времени может быть пересмотрено.
Таким образом, события KF высокой вероятности могут быть определены на основе нескольких недавних событий или предстоящих событий KI, и затем полный анализ таблиц <:KF> может выполняться, в противоположность случайному выбору событий KF, чтобы определять то, когда они могут происходить с большой вероятностью. Событие KF может выбираться для анализа, но выбранное событие KF может не быть очень вероятным. Тем не менее, если есть интерес к конкретному событию KF, то может быть желательным начинать способ 1400 на этапе 1450.
На этапе 1460, матричные элементы (например, только из этапа 1440 или также из этапа 1450) комбинируются, чтобы получать распределение вероятностей в зависимости от времени для события <:KF>, которое коррелируется со многими событиями <KI:>. В одном варианте осуществления, каждый из матричных элементов для события KF комбинируется из части или всех таблиц <KI:KF>, в которых KI идет по всем начальным событиям, которые коррелируются с событием KF. Эта комбинация может учитывать тот факт, что различные события KI происходят в разное время, и тем самым диапазоны времени для каждой таблицы могут отличаться (например, смещаться).
В одной реализации, самое раннее или последнее событие KI может быть идентифицировано, и смещения для диапазонов времени других таблиц могут быть определены. Соответствующие матричные элементы затем могут добавляться с использованием смещений. Если диапазон времени матричного элемента одной таблицы только частично перекрывает диапазон времени смещения другой таблицы, то комбинация может быть разбита на большее число диапазонов времени с пропорциональными долями от каждого предыдущего диапазона времени. Например, если два диапазона времени перекрываются, то три временных отрезка могут получаться в результате. Перекрывающийся отрезок может принимать доли (т.е. процентное отношение от значений счетчика) из двух матричных элементов, причем значение доли является пропорциональным значению перекрытия во времени для соответствующих диапазонов времени.
Чтобы определять диапазон времени с высокой вероятностью, распределение вероятностей может быть создано из результирующих диапазонов X времени после комбинации и значений Y счетчика для каждого диапазона времени. Результирующие диапазоны X времени с соответствующими значениями Y счетчика могут быть проанализированы как функция Y=F(X), которая может соответствовать шаблону 420 по фиг. 4. Значения Y могут быть нормализованы, так что значения счетчика для диапазонов времени различных продолжительностей учитываются. Значения Y также могут быть нормализованы на основе объема транзакции в долларах.
На этапе 1470 вычисляют полную вероятность для события KF (например, для нескольких начальных событий). В одном варианте осуществления различные вероятности могут быть определены для различных объемов транзакции для события KF, которое может выбираться посредством умножения на матрицу масок. В другом варианте осуществления вероятность может быть для конкретного временного окна или для события KF, происходящего в любое будущее время. Конкретное временное окно может соответствовать заданному диапазону времени матричного элемента или быть другим диапазоном времени, который следует из перекрытия нескольких диапазонов времени. Например, если два матричных элемента перекрываются во времени (например, поскольку события KI происходят в разное время), то временное окно может иметь диапазон времени перекрытия.
В других вариантах осуществления, тренд может подтверждаться в течение конкретного времени или временного окна (например, диапазона времени идентифицированного матричного элемента) посредством анализа распределения вероятностей. В одном варианте осуществления полная вероятность для события KF может быть вычислена, чтобы подтвердить, что вероятность по-прежнему находится за пределами среднего или ожидаемого диапазона. Значения вероятности около диапазона времени также могут быть проанализированы, чтобы идентифицировать области существенного изменения в вероятности.
Чтобы определять диапазон времени с высокой вероятностью, функция f вероятности может быть проанализирована. Например, функция f может быть проанализирована с помощью числовой процедуры, чтобы идентифицировать максимум или области, имеющие значения выше порогового значения (или потенциально в диапазоне, например, с использованием нескольких пороговых значений). Чтобы идентифицировать максимальные области, такие технологии, как конечная разность, интерполяция, конечный элемент или другие подходящие способы могут быть использованы для того, чтобы получать первую и вторую производную F. Эти производные затем могут быть использованы в алгоритме оптимизации для нахождения максимума. Способы глобальной оптимизации также могут быть использованы, к примеру, метод моделирования отжига.
В дополнение к нахождению временного окна, когда событие является вероятным, может получаться полная вероятность за конкретный период времени. В одном варианте осуществления, функция f может быть интегрирована (например, суммирование счетчиков для диапазонов времени) за требуемый диапазон времени. Фактически, чтобы получать вероятность того, что событие должно происходить в заданный период времени, можно интегрировать доли по всем релевантным парам ключей в течение периода времени. В качестве примера с одной парой ключей, вероятность того, что кто-то выполняет определенное событие (например, транзакцию), когда он посещает Сан-Франциско, может получаться посредством интегрирования пары ключей <SF:KF> по всем требуемым периодам времени. В одном аспекте, периоды времени, превышающие один месяц, могут не быть релевантными, если человек никогда не остается на столько времени в Сан-Франциско. Можно также определять вероятность возникновения транзакции в ноябре похожим способом.
В качестве альтернативы ко всем вышеуказанным этапам, можно выбирать конкретное событие и конкретное время, которое может быть использовано для того, чтобы выбирать релевантные шаблоны, из которых может быть проанализирован соответствующий матричный элемент. Затем, временной интервал с этого времени до недавних коррелированных событий может предоставлять набор таблиц пар ключей с 1 или другими ненулевыми значениями в надлежащих матричных элементах, даже если таблицы 1130 счетов могут быть созданы. Эти таблицы затем умножаются на долгосрочное поведение, чтобы получить вероятность. Фактически, прогноз может обрабатываться, как будто конкретное событие фактически произошло. Помимо конкретного времени, также может указываться временное окно, которое может инструктировать нескольким матричным элементам в таблице иметь ненулевое значение. В этом случае, ненулевые значения могут быть основаны на уровне перекрытия временного окна с соответствующими диапазонами времени матричных элементов.
В одном варианте осуществления, релевантные шаблоны, из которых соответствующий матричный элемент, выбираются посредством создания набора таблиц пар ключей с 1 или другими ненулевыми значениями в надлежащих матричных элементах. Эти таблицы затем умножаются на сохраненные таблицы (т.е. известные шаблоны), чтобы получить вероятность, фактически отфильтровывая требуемые значения. Помимо конкретного времени, также может указываться временное окно, которое может инструктировать нескольким матричным элементам в таблице иметь ненулевое значение. В этом случае, ненулевые значения могут быть основаны на уровне перекрытия временного окна с соответствующими диапазонами времени матричных элементов.
В другом варианте осуществления, в настоящее время вычисляемое распределение вероятностей необязательно может сравниваться с другими распределениями вероятностей, вычисленными ранее. В одном варианте осуществления, ранее вычисленные распределения предназначены для идентичного события <:KF>. Таким образом, изменение в вероятности в конкретное время от одного распределения к другому может быть определено. Это изменение может быть использовано для того, чтобы определять тренд. Например, изменение может быть проиллюстрировано, и тренд в изменении может быть определен. Изменение может быть использовано для того, чтобы прогнозировать тренд, даже когда значения вероятности попадают в ожидаемый или средний диапазон.
Возвращаясь к способу 1400, на этапе 1480 способ действия может быть определен на основе вероятности и/или временного окна. Различные примерные действия и определения теперь описываются. Если вероятность является низкой, то действия вообще не могут предприниматься. Если вероятность является достаточно высокой (например, относительно пороговых значений), то транзакция может быть авторизована, или временное окно для этой высокой вероятности может быть определено. Если временное окно вскоре начинается, действие, которое может быть вскоре выполнено (например, отправка купона через электронную почту или текстовое сообщение), может быть инициировано. При условии, что временное окно не начинается в течение длительного периода времени, действие, которое отнимает больше времени (например, заказ большего объема запасов), может выполняться. Примеры отнимающих больше времени действий включают в себя бизнес-решения, такие как открытие или закрытие магазина по конкретному почтовому индексу и покупка или транспортировка запасов.
Кроме того, после того как выяснено, что событие является вероятным, дополнительный анализ может выполняться для того чтобы определять то, должно или нет и как должно выполняться действие. Например, затраты на действие, к примеру, затраты на отправку купона, могут быть определены в качестве части анализа затрат и результатов. В качестве другого примера, затраты на действие, к примеру, затраты на транспортировку запасов или дисконтирование цены продукта, могут быть определены в качестве части анализа затрат и результатов.
В одном варианте осуществления, затраты на действие могут включать в себя потери вследствие мошенничества, которые могут быть вычислены с использованием способов, описанных в данном документе, например, как описано для фиг. 11. В одном аспекте, если вероятность события является низкой, то высокие затраты не допускаются (например, действие не выполняется). В другом аспекте, если вероятность события является высокой (потенциально наряду с высокой ожидаемой прибылью), то высокие затраты могут допускаться. Кроме того, если затраты являются высокими, может быть желательным получать дополнительную информацию (например, о клиенте). В другом варианте осуществления, прибыль от события может быть определена, например, прибыль от транзакции, являющаяся результатом стимулирования или являющаяся результатом предварительной авторизации, отправляемой потребителю. Если прибыль является высокой, то могут допускаться большие затраты и меньшая вероятность.
В одном варианте осуществления, вычисления для прогноза события могут быть выполнены в реальном времени (например, в течение нескольких часов после того, как событие или последовательность событий происходит). В другом варианте осуществления, вычисления могут быть выполнены в качестве пакетных заданий, которые выполняются периодически, например, ежедневно, еженедельно или ежемесячно. Например, вычисление может выполняться ежемесячно, чтобы определять то, кто с большой вероятностью покупает дом, и затем купон на предметы искусства, мебель и т.д. может отправляться этому человеку. В различных вариантах осуществления, прогноз крупных покупок может, в общем, выполняться в больших пакетах, тогда как прогноз небольших покупок может выполняться в реальном времени (например, в реакции на конкретную транзакцию).
В некоторых вариантах осуществления, завершающие события также могут быть использованы аналогично, чтобы прогнозировать то, что может происходить перед событием. Поскольку возникновение завершающего события может быть известным заранее (например, запланировано на конкретное время), коррелированные начальные события по-прежнему могут быть спрогнозированы. Например, потребительская активность до запланированного спортивного соревнования может быть определена, что может осуществляться, например, с использованием таблиц, имеющих отрицательные диапазоны времени с завершающим событием в качестве начального ключа или положительные диапазоны времени с завершающим событием в качестве конечного ключа.
XII. Предварительная авторизация транзакции
Преимущественным является то, чтобы иметь возможность авторизовать транзакцию быстро при поддержании точной оценки риска транзакции, например, через процесс авторизации. Как упомянуто выше, после того как шаблон определен, будущая транзакция может проводиться согласно прогнозу, например, в конкретном временном окне. Знание того, когда будущая транзакция может проводиться, может давать возможность определения того, авторизовать или нет будущую транзакцию, до того, как транзакция фактически должна проводиться. Такая предварительная авторизация может предоставлять более быстрые ответы на запросы на авторизацию или даже может быть использована для того, чтобы отправлять авторизацию до того, как запрос выполняется.
Фиг. 15 является блок-схемой последовательности операций способа 1500 для предварительной авторизации транзакции потребителя согласно вариантам осуществления. В одном варианте осуществления, предыдущие транзакции (например, 210) используются для того чтобы определять будущую транзакцию, которая может быть предварительно авторизована, а также то, когда такая авторизация может быть действительной. В одной реализации, транзакции в конкретном периоде времени анализируются, например, в прошлом году или все транзакции перед конечным временем.
На этапе 1510, данные, ассоциированные с транзакциями, ранее выполненными, например, потребителем или другими аналогичными потребителями (группа по интересам), принимаются. Каждая транзакция может иметь любое число фрагментов данных, ассоциированных с ней. Эти данные могут быть использованы для того, чтобы идентифицировать конкретный тип транзакции.
На этапе 1520, транзакции необязательно коррелируются с другими транзакциями и событиями. Таким образом, различные шаблоны транзакций могут быть идентифицированы для различных типов транзакций. Другие события (например, начало или конец дня, недели и т.д.) также могут быть коррелированы с транзакциями. В одном варианте осуществления, пары коррелированных ключей (например, пара ключей <KI:KF>) определяются на основе того, коррелируются или нет события, ассоциированные с начальным ключом (KI), с транзакциями с конечным ключом (KF).
На этапе 1530, один или более шаблонов того, когда предыдущие транзакции проводятся, определяются с использованием компьютерной системы, например, анализатора 26(c) транзакций. Шаблоны могут передавать вероятность транзакции в качестве функции от времени. Например, шаблон 220 передает то, что транзакции являются вероятными, когда функция имеет большее значение. В одном варианте осуществления, пары коррелированных транзакций (или других событий) используются для того, чтобы определять шаблон, например, в качестве времен конечных транзакций, связанных с начальными событиями. Времена могут быть сохранены в качестве абсолютного времени и/или даты каждой транзакции (например, в хронологическом порядке) или организованы в качестве истекших времен для коррелированных событий определенных пар ключей. В некоторых вариантах осуществления, сохраняется информация времени (например, в базе 26b данных предыстории транзакций), ассоциированная с соответствующей парой ключей. В одном варианте осуществления, информация времени для пары ключей <K1:K2> может быть сохранена в таблице базы данных, к которой может осуществляться доступ с запросом, содержащим K1, K2 или комбинацию (потенциально в порядке K1:K2).
На этапе 1540, один или более шаблонов используются для того чтобы прогнозировать, когда потребитель с большой вероятностью инициирует будущую транзакцию. В одном варианте осуществления вероятность предназначена для любой транзакции потребителем, и тем самым может быть использована вся предыстория транзакций. В другом варианте осуществления вероятность предназначена для конкретной транзакции. Когда о конкретной транзакции собирают сведения, релевантный шаблон может быть найден посредством выполнения запроса к базе данных с использованием ключа(ей) конкретной транзакции.
В некоторых вариантах осуществления, один момент времени может быть определен для момента, когда будущая транзакция проводится с большой вероятностью. Тем не менее, такие варианты осуществления могут быть непрактичными, в частности, когда времена сообщаются до секунд. В других вариантах осуществления, временное окно, когда потребитель с большой вероятностью инициирует будущую транзакцию, определяется. Временное окно может указываться любым числом способов. Например, временное окно может указывать дату/время начала и дату/время окончания. Могут указываться несколько временных окон.
В одном варианте осуществления, шаблоны предыдущих транзакций используются для того чтобы определять вероятность для будущей транзакции во множество времен. Временное окно может быть идентифицировано посредством анализа шаблона транзакции потребителя, чтобы определять времена с требуемым уровнем вероятности возникновения транзакции. В таких вариантах осуществления, временное окно может получаться с большей точностью, поскольку множество времен используются. Кроме того, можно с большей вероятностью идентифицировать временное окно, имеющее требуемый уровень вероятности, поскольку несколько времен проанализированы.
Шаблон может иметь определенные признаки, которые могут быть проанализированы, чтобы определять вероятности в разное время. В одном варианте осуществления признаки релевантного шаблона могут вводиться в функцию моделирования в качестве части определения временного окна. В другом варианте осуществления, временное окно определяется из того, когда шаблон показывает вероятность выше порогового значения. Если вероятность является достаточно высокой, с большей достоверностью можно предположить, что транзакция фактически исходит от потребителя, а не от мошенника. В этих и других вариантах осуществления, длительность временного окна может быть переменной (т.е. незаданной) длительностью. Например, длительность временного окна может быть основана на значениях вероятности (например, временах, когда вероятность поднимается выше и опускается ниже порогового значения).
Временное окно для первого потребителя также может быть основано на транзакционной активности других потребителей или вместо транзакционной активности первого потребителя. Например, предварительная авторизация также может отправляться в конкретное время, на которое транзакция для такого продукта прогнозируется для аналогичного потребителя, и тем самым может быть вероятной для первого потребителя. Эта стратегия может использоваться, когда данные для первого потребителя ограничены и еще не показывают конкретный шаблон.
В варианте осуществления с использованием других потребителей, первый потребитель может быть определен как аналогичный группе по интересам (группе аналогичных потребителей). В одном аспекте, потребители могут быть аналогичными группе по интересам с различными степенями подобия (например, посредством процентного отношения от подобия). В одном варианте осуществления, вероятное временное окно может соответствовать тому, когда соответствующая группа по интересам имеет высокую вероятность транзакции в конкретное время, но потребитель не показывает шаблона для транзакции или имеет относительно низкую вероятность в конкретное время (но потенциально высокое в другие моменты времени). В другом варианте осуществления, упомянутый выше алгоритм оптимизации также может обучаться с использованием предыдущих шаблонов из нескольких объектов.
Возвращаясь к способу 1500, на этапе 1550 сервер авторизации формирует авторизацию будущей транзакции до того, как потребитель инициирует транзакцию. В одном варианте осуществления, авторизация формируется посредством сети обработки платежей (например, сети 26). В другом варианте осуществления, авторизация может формироваться в эмитенте, потенциально в сочетании с сетью обработки платежей.
В одном варианте осуществления, авторизация является действительной только в течение временного окна, в котором транзакция определяется как вероятная. В другом варианте осуществления, авторизация может указывать несколько временных окон, например, если функция вероятности показывает высокую вероятность в районе 15-17-го числа месяца, но только для 17:00-22:00. В еще одном другом варианте осуществления, предварительная авторизация, отправляемая потребителю или продавцу, может еще быть действительной в течение определенного времени каждую неделю (например, в 17:00-19:00 в четверг). Таким образом, предварительная авторизация не должна отправляться каждую неделю. Аннулирование предварительной авторизации может отправляться, когда вероятность транзакции больше не поддерживает авторизацию.
На этапе 1560, сформированная авторизация может быть использована для того, чтобы отвечать на запрос на авторизацию. Когда совпадающая авторизация уже существует, обычный процесс авторизации может быть обойден. Например, если запрос на авторизацию для текущей транзакции принимается от продавца, текущая транзакция может согласовываться с прогнозируемой транзакцией сформированной авторизации. После того как текущая транзакция согласована, подтверждение может отправляться продавцу. В одном варианте осуществления, сервер авторизации может сохранять сформированную авторизацию в RAM или другом локальном запоминающем устройстве сервера, к которому может быстро осуществляться доступ.
В одной реализации, ключи могут быть использованы для того, чтобы сопоставлять текущую транзакцию с прогнозируемой транзакцией. В другой реализации, согласование может сравнивать время того, когда будущая транзакция спрогнозирована, во временем текущей транзакции. Например, если время текущей транзакции попадает в прогнозируемое временное окно, то транзакция может аутентифицироваться как исходящая от потребителя. Аутентификация может быть абсолютной (т.е. аутентифицирован или нет) или с варьирующимися уровнями (например, потребитель с 60%-ной вероятностью). Аутентификация может быть использована в качестве одного фактора в процедуре авторизации, которая может включать в себя шаблоны мошенничества, а также определение того, имеет или нет потребитель достаточно денежных средств.
В одном варианте осуществления, маркер (например, код авторизации), ассоциированный с авторизацией, может отправляться потребителю, который может использовать его для транзакции с продавцом. Маркер может быть любым электронно идентифицируемым объектом, который может включать в себя символы, которые могут вводиться для электронной передачи. Маркер может включать в себя номер счета потребителя. Продавец затем может отправлять маркер на сервер авторизации (например, сети обработки платежей), который может использовать маркер, чтобы перекрестно обращаться к списку сформированных авторизаций, чтобы определять то, существует или нет соответствующая авторизация, и если авторизация является действительной (например, проверка того, находится или нет транзакция во временном окне). После того как авторизация истекает, авторизация может удаляться из списка действительных авторизаций. В одном варианте осуществления, сервер авторизации может принадлежать аквизитору для продавца, который может сохранять авторизацию. Аквизитор затем может отвечать без ожидания ответа от сети обработки платежей или эмитента.
На этапе 1570, в качестве другого варианта этапа 1560, авторизация может быть передана (например, из сети 26 обработки платежей) на сервер, ассоциированный с первым продавцом. Авторизация может отправляться до инициирования потребителем транзакции, и тем самым авторизация готова, когда потребитель инициирует транзакцию. В одном варианте осуществления, авторизация является действительной только в течение временного окна, в котором транзакция прогнозируется как вероятная. В другом варианте осуществления, авторизация является действительной только для объема транзакции меньше указанного объема или в указанном диапазоне.
Первый продавец может быть идентифицирован через конкретный шаблон, в котором транзакция спрогнозирована. Например, ключ шаблона может, в частности, быть ассоциирован с продавцом или группой продавцов. Ключ может быть идентифицирован, когда данные транзакции включают в себя информацию, касающуюся продавца или категории продавцов. Для группы продавцов, авторизация может отправляться каждому продавцу группы или только определенным из них.
На этапе 1580, когда транзакция проводится (например, в указанном временном окне), продавец, может сразу завершать транзакцию, поскольку транзакция предварительно авторизована. Например, продавец может отправлять данные транзакции (которые могут включать в себя маркер) аквизитору, но не ожидать ответа по авторизации. Конкретный канал может быть использован так, что аквизитор и сеть обработки платежей знают то, что предварительная авторизация использована. В другом варианте осуществления, продавец может отправлять авторизацию (например, в качестве маркера) обратно на сервер авторизации, который может предоставлять подтверждение того, что авторизация по-прежнему является действительной. Это может осуществляться, например, когда действительное временное окно не указывается продавцу.
Вместо отправки авторизации продавцу, авторизация может отправляться потребителю, например, в качестве маркера авторизации. Маркер может отправляться потребителю множеством способов, например, в любом электронном сообщении в вычислительное устройство или на счет, ассоциированный с потребителем. Например, маркер может отправляться на мобильный телефон пользователя, который может быть использован как устройство для оплаты (например, портативное бытовое устройство 32). В одном варианте осуществления, авторизация может быть для конкретного счета пользователя. Маркер может передавать или не передавать время и/или объем, когда авторизация является действительной.
В одном варианте осуществления, такой маркер авторизации может быть связан со стимулированием. Потребитель затем может представлять код авторизации продавцу, который может верифицировать код. В другом варианте осуществления, маркер авторизации может включать в себя информацию, используемую для верификации (например, время действительности и действительного продавца). В вариантах осуществления, в которых предварительная авторизация отправляется потребителю, продавец преимущественно не обязательно должен быть известен.
В качестве примера, потребитель может иметь шаблон прогнозируемой транзакции после посещения определенного веб-сайта (начального события). Будущая транзакция может проводиться согласно прогнозу во временном окне, коррелированном со временем, когда веб-сайт посещен. Например, временное окно от 30 минут до часа после того, как веб-узел посещен, может быть использовано. Если прогнозируемая транзакция проводится в этом временном окне, ранее сформированная авторизация может быть использована. В качестве другого примера, транзакции потребителя могут отслеживаться относительно начала месяца. Например, человек может покупать лотерейные билеты на 15-го числа каждого месяца. Этот шаблон может быть идентифицирован, и продавцам, у которых потребитель может покупать лотерейный билет, может отправляться предварительная авторизация, или сервер авторизации могут формировать авторизацию и ожидать запроса на авторизацию.
XIII. Обобщение вычисления
Любое из вышеприведенных вычислений может быть обобщено до базовой структуры, которая может включать в себя доли от различных типов установленных шаблонов (потенциально от нескольких объектов), а также доли от нескольких объектов для краткосрочных таблиц.
A. Один объект
В некоторых вариантах осуществления, объект счета, соответствующий конкретному потребителю, является единственным объектом, участвующим в вычислении. Объект счета может представляться как Ga. Ga может, в общем, означать все таблицы, ассоциированные с конкретным объектом счета. Обозначение Ga (mcc, ctry:mcc, ctry) означает конкретный набор таблиц (и тем самым определенный тип шаблонов), в которых ключи имеют ключевые элементы в категориях mcc (код продавца) и ctry (страна).
Событие представляется с помощью E, которое может выступать в качестве импульса, как описано выше. Событие может быть представлено с любыми ключевыми элементами, упомянутыми в данном документе, и иметь любой тип события (например, транзакция или начало периода времени), упомянутый в данном документе. В одном аспекте, событие E может быть представлено с помощью ключа имеющим ключевые элементы из категорий, идентичных категориям конкретного объекта счета, в этом случае mcc и ctry.
<mo>⊗</mo>
<mo>⊗</mo>
В некоторых вариантах осуществления, признаки V шаблонов счетов, релевантных для события E, могут получаться с помощью формулы: V=E
Ga(mcc,ctry:mcc,ctry). Событие E может быть предназначено для конечного или начального события. Символ
является операцией фильтрации, которая выбирает релевантные таблицы из конкретного объекта (т.е. набор таблиц для объекта счета).
В одном варианте осуществления, событие E может быть представлено посредством одной или более таблиц (например, аналогично таблицам 1130), и фильтрация может выполняться посредством согласования (включающего в себя совмещение) и умножения таблиц. В другом варианте осуществления, результатом операции фильтрации (например, вышеуказанным V) могут быть матричные элементы одной таблицы или нескольких таблиц, например, как описано для фиг. 9 и 11. Кроме того, матричные элементы могут быть суммированы, чтобы предоставлять одно число, например, если требуется полная вероятность возникновения в течение всех диапазонов времени.
<mo>⊗</mo>
Когда только конкретные шаблоны частоты требуются, матрица масок может быть использована, как описано в данном документе. Пример признаков получения формулы с помощью матрицы масок следующий: V=E
(Mlow•Ga(mcc,ctry:mcc, try)). Здесь, Mlow является фильтром нижних частот, реализованным в качестве матрицы масок, например, матрицы, имеющей единицы в матричных элементах для требуемых частот и нули в других матричных элементах. Оператор является поэлементным умножением, которое может выполняться для каждой таблицы.
<mo>⊗</mo>
<mo>⊗</mo>
<mo>⊗</mo>
<mo>⊗</mo>
<mo>⊗</mo>
В одном варианте осуществления, комбинация событий может быть использована в вычислении. Например, последние пять событий для объекта счета Ga могут быть использованы. В упрощенной системе обозначений это может предоставлять формулу: V=E1
Ga, E2
Ga, E3
Ga, E4
Ga, E5
Ga. Таким образом, если последние пять событий использованы, пять наборов признаков (например, 5 таблиц) могут получаться с использованием вышеприведенной формулы. Предыдущие события могут быть использованы для того, чтобы видеть, отмечено или нет потенциально мошенническое поведение в последнее время для конкретного счета. В другом варианте осуществления, признаки для каждого события могут быть комбинированы, тем самым по-прежнему предоставляя только одну таблицу.
Вышеприведенные формулы могут в равной степени применяться к другим объектам, таким как группа по интересам или продавец. Формулы фактически определяют то, как импульсные события подходят для установленных шаблонов объекта. Кроме того, Ga может быть линейной комбинацией других объектов, например, групп по интересам, как описано выше.
B. Один объект с несколькими типами шаблонов
Только для одного события может быть несколько типов шаблонов, каждый из которых может выводиться в качестве различного набора признаков. Один тип шаблона может быть для того, когда транзакции потребителя проводятся. Другие типы шаблонов могут включать в себя шаблон транзакций: в конкретном магазине или в течение конкретного периода времени; из страны эмитента в страну аквизитора; из почтовых индексов на другие почтовые индексы; из предшествующего mcc в mcc и в конкретной стране. Таким образом, тип шаблона может соответствовать конкретной комбинации категорий ключевых элементов для пары ключей, например, <mcc:mcc> и <zip:zip> могут быть различными типами шаблонов.
Поскольку событие может быть ассоциировано со многими ключами, и различные шаблоны могут существовать для различных категорий ключевых элементов, дополнительные символы могут быть использованы для того, чтобы идентифицировать уникальное представление E. Например, E(:mcc1,ctry1,merch1) может быть импульсом для конкретных значений (mcd,ctry1,merch1) для ключевых элементов mcc, ctry и merch (название продавца) в конечном ключе. Соответственно, в варианте осуществления, признаки V шаблонов счетов, релевантных для конечного события E, могут получаться с помощью формулы:
<mo>⊗</mo>
<mo>⊗</mo>
<mo>⊗</mo>
V=E(:mcc1,ctry1,merch1)
Ga(*:mcc,ctry, merch), E(:mcc1,ctry1)
Ga(mcc,ctry:mcc, ctry), E(:mcc1,ctry1)
Ga(*:mcc,ctry).
Как показано, существуют три набора признаков (разделенных посредством запятой), по одному набору для каждой операции фильтрации и для каждого типа шаблона. Результатом каждого фильтра могут быть матричные элементы одной таблицы или нескольких таблиц. Подстановочный символ «*» в Ga(*:mcc,ctry,merch) обозначает, что этот набор таблиц включает в себя любые события, ассоциированные с объектом Ga для начального события, а не только события с конкретным ключом. В качестве примера, для конечного ключа (mcd,ctry1,merch1), таблица пар ключей может отслеживать шаблон событий (mcd,ctry1,merch1), происходящих после какого-либо события.
C. Несколько объектов с одним типом шаблона
В вычислении одного набора признаков несколько объектов могут быть использованы, например, как описано для фиг. 11 с объектом счета и нормализованным мошенническим объектом. Нормализованный мошеннический объект может представляться как Gt. Таким образом, в одном варианте осуществления, признаки V шаблонов счетов, релевантных для конечного события E, могут получаться с помощью формулы:
<mo>⊗</mo>
V=E(:mcc1,ctry1,merch1)
((Gt(*:mcc,ctry,merch)•Ga-st(*:mcc,ctry,merch)). Здесь, Ga-st являются краткосрочными таблицами для объекта счета. Таким образом, недавнее поведение объекта счета может проверяться на предмет мошеннического поведения на основе конкретных конечных событий E.
Оператор внутреннего произведения является поэлементным умножением совпадающих или совмещенных таблиц. В одном варианте осуществления, когда комплексные числа используются, умножение выполняется посредством умножения действительных частей на действительные части и мнимых частей на мнимые части (т.е. действительная*действительная и мнимая*мнимая). Нормализация также может осуществляться после того, как внутреннее произведение рассчитано.
В одном варианте осуществления, операция фильтрации может выполняться сначала для Ga, чтобы создавать краткосрочную таблицу для события, например, как описано для таблиц 1130. Формула может быть более эффективной и может записываться следующим образом:
<mo>⊗</mo>
V=(E(:mcc1,ctry1,merch1)
(Ga-st(*:mcc,ctry,merch))•Gt(*:mcc,ctry,merch).
Другой объект может быть любым другим объектом, не только мошенническим объектом. В одном варианте осуществления, другой объект является объектом, в котором установленный шаблон должен сравниваться с Ga-st. Кроме того, Gt или таблицы для другого объекта могут создаваться по-разному, например, помимо нормализации операции деления из фиг. 11. В одном аспекте, умножение Ga на таблицы другого объекта предоставляет показатель того, что большая группа (например, все потребители) имеет определенный тип (например, мошенники).
D. Несколько объектов с несколькими типами шаблонов
Вышеприведенные принципы могут быть комбинированы. Таким образом, в одном варианте осуществления, признаки V шаблонов счетов, релевантных для конечного события E, могут получаться с помощью формулы:
<mo>⊗</mo>
<mo>⊗</mo>
<mo>⊗</mo>
V=(E(:mcc1,ctry1,merch1)
(Ga-st(*:mcc,ctry,merch))•Gt(*:mcc,ctry,merch), (E(:mcc1,ctry1)
(Ga-st(mcc,ctry:mcc,ctry))•Gt(mcc,ctry:mcc,ctry), (E(:mcc1,ctry1)
(Ga-st(*:mcc,ctry))•Ga(*:mcc,ctry).
Каждый набор признаков может быть вычислен независимо и параллельно. Кроме того, вычисление для каждого набора признаков может использовать различный Gt, который может быть предназначен для различных объектов.
E. Несколько объектов счетов
В некоторых вариантах осуществления, несколько объектов счетов могут быть использованы в вычислении, касающемся шаблонов для конкретного объекта Ga счета. Причина такой комбинации может состоять в том, что информация о том, что делают другие потребители, может быть полезной при сборе сведений о шаблонах конкретного потребителя. Например, что делают другие потребители в идентичной группе по интересам или географическом местоположении, является полезным. Одним другим объектом является Gh, который может включать в себя всех потребителей в одной семье в качестве потребителя для объекта Ga счета, при этом Gh-st является недавним поведением (например, таблицы последних транзакций) для семьи. Другие примеры включают в себя потребителей по почтовому индексу или на улице, идентичной Ga. Эти другие объекты включают доли от этих объектов в отношении того, подходит или нет событие установленному шаблону или является необычным для конкретного потребителя, продавца, группы по интересам и т.д.
В следующей формуле различные представления импульсных событий помечаются условным обозначением. Каждый импульс означает объект счета и число в объекте счета. Таким образом, в одном варианте осуществления, признаки V шаблонов счетов, релевантных для конечного события E, могут получаться с помощью формулы:
<mo>⊗</mo>
V=Ea1
(x)(Gt(*:mcc,ctry,merch)•(Mlowpass•Ga-st(*:mcc,ctry,merch))),
<mo>⊗</mo>
Ea2
(Gt(mcc,ctry:mcc,ctry)•(Mlow•Ga-st(mcc,ctry:mcc,ctry))),
<mo>⊗</mo>
Ea3
(Gt(*:mcc,dry)•(Mlow•Ga-st(*:mcc,ctry))),
<mo>⊗</mo>
Eh1
(Gt(*:mcc,ctry,merch)•(Gh-st(*:mcc,ctry,merch))),
<mo>⊗</mo>
Eh2
(Gt (*:mcc,dry)•(Gh-st(*:mcc,ctry))),
<mo>⊗</mo>
Eh3
(Gt (mcc, ctry:mcc,ctry)•(Gh-st(mcc,ctry:mcc,ctry))).
Как упомянуто выше, порядок операции может отличаться от указанного.
Любая из компьютерных систем, упомянутых в данном документе, может использовать любое подходящее число подсистем. Примеры таких подсистем показаны на фиг. 16 в компьютерном устройстве 1600. В некоторых вариантах осуществления, компьютерная система включает в себя одно компьютерное устройство, при этом подсистемы могут быть компонентами компьютерного устройства. В других вариантах осуществления, компьютерная система может включать в себя несколько компьютерных устройств, каждое из которых является подсистемой, с внутренними компонентами.
Подсистемы, показанные на фиг. 16, соединяются через системную шину 1675. Показаны дополнительные подсистемы, такие как принтер 1674, клавиатура 1678, жесткий диск 1679, монитор 1676, который соединяется с адаптером 1682 дисплея, и другие. Периферийные устройства и устройства ввода-вывода, которые соединяются с контроллером 1671 ввода-вывода, могут подключаться к компьютерной системе посредством любого числа средств, известных в данной области техники, таких как последовательный порт 1677. Например, последовательный порт 1677 или внешний интерфейс 1681 может быть использован для того, чтобы подключать компьютерную систему 1600 к глобальной вычислительной сети, к примеру, к Интернету, устройству ввода типа «мышь» или сканеру. Соединение через системную шину 1675 дает возможность центральному процессору 1673 обмениваться данными с каждой подсистемой и управлять выполнением инструкций из системного запоминающего устройства 1672 или жесткого диска 1679, а также обменом информацией между подсистемами. Системное запоминающее устройство 1672 и/или жесткий диск 1679 может осуществлять машиночитаемый носитель. Любое из значений, упомянутых в данном документе, может выводиться из одного компонента в другой компонент и может выводиться пользователю.
Компьютерная система может включать в себя множество идентичных компонентов или подсистем, например, соединенных между собой посредством внешнего интерфейса 1681. В некоторых вариантах осуществления, компьютерные системы, подсистемы или устройства могут обмениваться данными по сети. В таких случаях, один компьютер может считаться клиентом, а другой компьютер - сервером. Клиент и сервер могут включать в себя несколько систем, подсистем или компонентов, упомянутых в данном документе.
Конкретные подробности конкретных вариантов осуществления могут быть комбинированы любым подходящим способом без выхода за рамки сущности и объема вариантов осуществления изобретения. Тем не менее, другие варианты осуществления изобретения могут быть направлены на конкретные варианты осуществления, касающиеся каждого отдельного аспекта или конкретных комбинаций этих отдельных аспектов.
Следует понимать, что настоящее изобретение, как описано выше, может быть реализовано в форме управляющей логики с использованием аппаратных средств и/или с использованием компьютерного программного обеспечения модульным или интегрированным способом. На основе раскрытия изобретения и идей, изложенных в данном документе, специалисты в данной области техники должны знать и принимать во внимание другие пути и/или способы для того, чтобы реализовывать настоящее изобретение с использованием аппаратных средств и комбинации аппаратных средств и программного обеспечения.
Любые из программных компонентов или функций, описанных в данной заявке, могут быть реализованы в виде программного кода, подлежащего выполнению процессором с использованием любого надлежащего машинного языка, такого как, к примеру, Java, C++ или Perl, с применением, к примеру, обычных или объектно-ориентированных технологий. Программный код может быть сохранен в качестве последовательности инструкций или команд на машиночитаемом носителе для хранения и/или передачи, подходящие носители включают в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), магнитный носитель, к примеру жесткий диск или гибкий диск, или оптический носитель, к примеру компакт-диск (CD) или DVD (универсальный цифровой диск), флэш-память и т.п. Машиночитаемый носитель может быть любой комбинацией таких устройств хранения данных или передающих устройств.
Такие программы также могут быть кодированы и переданы с использованием несущих сигналов, выполненных с возможностью передачи через проводные, оптические и/или беспроводные сети, соответствующие множеству протоколов, в том числе Интернет. Также машиночитаемый носитель согласно варианту осуществления настоящего изобретения может быть создан с использованием сигнала данных, кодированного с помощью таких программ. Машиночитаемые носители, кодированные с помощью программного кода, могут быть поставлены в комплекте с совместимым устройством или обеспечены отдельно от других устройств (например, путем загрузки по сети Интернет). Любой такой машиночитаемый носитель может постоянно размещаться на или в одном компьютерном программном продукте (например, на жестком диске, CD или во всей компьютерной системе) и может присутствовать на или в различных компьютерных программных продуктах в системе или сети. Компьютерная система может включать в себя монитор, принтер или другой подходящий дисплей для предоставления любых из результатов, упомянутых в данном документе пользователю.
Вышеприведенное описание примерных вариантов осуществления изобретения представлено в целях иллюстрации и описания. Оно не подразумевается исчерпывающим и не предназначено для ограничения изобретения точными описанными формами, и в свете вышеприведенных идей данного документа возможно множество модификаций и вариаций. Раскрытые варианты осуществления выбраны и описаны для того, чтобы наилучшим образом пояснить принципы изобретения и его практические варианты применения, чтобы тем самым дать возможность специалистам в данной области техники наилучшим образом использовать изобретение в различных вариантах осуществления и с различными модификациями, которые подходят к конкретному рассматриваемому варианту использования.
Другие способы определения риска могут быть найдены в патентах №№ 6018723; 6119103; 6658393; и 7227950, которые включены путем ссылки.