Personalise search results using predictive segmentation

Background

This guide explains the steps involved in configuring predictive segmentation for your search, allowing results to be personalised based on a user’s IP address.

Details

Predictive segmentation works as follows:

  1. A series of attributes are inferred from the user’s IP address.

  2. Curator rules are defined using this information as a rule trigger

  3. A curator rule action set is used to perform personalisation of the results. The personalisation could take a number of forms. E.g.:

    • Modify the user’s query to add query terms

    • Present messages or featured results

Inferring user attributes

Funnelback always has access to an IP address when a search query is made. Funnelback uses a licenced database that contains publicly available information (such as DNS registry information) to infer a set of attributes about a user.

The following attributes can be inferred from an IP address, however not all fields will be available for all addresses:

  • Agency: If organisation-type is government then a value for agency may also hold the name of the agency.

  • Areas served: The areas-served are the geographical areas where the organisation has a presence.

  • Country: The country from where the request originated.

  • Department: If organisation has an organisation-type of government, then the organisation may belong to a government department.

  • Industry: The type of industry to which the organisation belongs. e.g. Telecommunications, software.

  • Location: The office locations of the organisation.

  • Maxmind name: The original organisation name string provided by Maxmind, that was associated with the provided IP address.

  • Number of employees: The total number of people that are employed by the organisation.

  • Organisation type: The type of organisation. e.g. university, non-profit or government agency.

  • Revenue: The total revenue as an integer amount of US dollars.

  • Stock code: The stock codes for the markets the organisations stock is traded.

  • Website: The organisation’s web address.

  • Wikipedia name: The name of the organisation’s Wikipedia page.

  • Wikipedia url: The organisation’s Wikipedia web address.

Creating curator rules

Predictive segmentation is implemented using curator rules that use user segment information to form part of the trigger conditions for the rule.

This allows rules similar to the following to be defined:

  • On a university website, if the user is not from the United States then present courses from the international course finder

  • If the user is coming from outside of the University of Queensland and the dates are between 1 Jun and 30 Sep then present a featured result promoting the university open day.

  • If the user is from the banking sector return investment type results.

  • On a government website if the user is coming from another government website upweight Government to Government type information.

Testing predictive segmentation

  1. Use a pre-process hook script to enable you to pass an IP address via a URL parameter, overriding the detected IP address

    hook_pre_process.groovy
    // Accept overrides of the remote_user_ip address
    // via the CGI parameter 'ip'
    if (transaction.question.inputParameterMap.ip != null) {
        transaction.question.requestId=transaction.question.inputParameterMap.ip
    }
  2. When running the query add an additional parameter ip that passes through the simulated IP address.

don’t forget to remove the hook script after you have finished testing.