Measure the Google mindshare of a particular person within a query domain.
Based on an idea by author Steven Johnson (http://www.stevenberlinjohnson.com), this hack determines the Google mindshare of a person within a particular set of Google queried keywords. What’s Willy Wonka’s Google mindshare of “Willy”? What percentage of “weatherman” does Al Roker hold? Who has the greater “The Beatles” Google mindshare, Ringo Starr or Paul McCartney? More importantly, what Google mindshare of your industry does your company own?
Google mindshare is calculated as follows: determine the size of the
result set for a keyword or phrase. Determine the result set size for
that query along with a particular person. Divide the second by the
first and multiply by 100, yielding percent Google mindshare. For
example: A query for Willy
yields about 1,590,000
results. "Willy Wonka" +Willy
finds 66,700. We can
conclude—however unscientifically—that Willy Wonka holds
roughly a 4% (66,700 / 1,590,000 × 100) Google mindshare
of Willy.
Sure it’s a little silly, but there’s probably a grain of truth in it somewhere.
#!/usr/local/bin/perl # google_mindshare.cgi # This implementation by Rael Dornfest # http://www.raelity.org/lang/perl/google/googleshare/ # Based on an idea by Steven Johnson # http://www.stevenberlinjohnson.com/movabletype/archives/000009.html # Your Google API developer's key my $google_key='insert key here'; # Location of the GoogleSearch WSDL file my $google_wdsl = "./GoogleSearch.wsdl"; use SOAP::Lite; use CGI qw/:standard *table/; print header( ), start_html("Googleshare Calculator"), h1("Googleshare Calculator"), start_form(-method=>'GET'), 'Query: ', br( ), textfield(-name=>'query'), p( ), 'Person: ',br( ), textfield(-name=>'person'), p( ), submit(-name=>'submit', -value=>'Calculate'), end_form( ), p( ); if (param('query') and param('person')) { my $google_search = SOAP::Lite->service("file:$google_wdsl"); # Query Google for they keyword, keywords, or phrase my $results = $google_search -> doGoogleSearch( $google_key, '"'.param('query').'"', 0, 1, "false", "", "false", "", "latin1", "latin1" ); # Save the results for the Query my $query_count = $results->{estimatedTotalResultsCount}; my $results = $google_search -> doGoogleSearch( $google_key, '+"'.param('query').'" +"'.param('person').'"', 0, 1, "false", "", "false", "", "latin1", "latin1" ); # Save the results for the Query AND Person my $query_person_count = $results->{estimatedTotalResultsCount}; print p( b(sprintf "%s has a %.2f%% googleshare of %s", param('person'), ($query_person_count / $query_count * 100), '"'.param('query').'"' ) ) } print end_html( );
Visit the CGI script in your browser. Enter a query and a person. The name doesn’t necessarily have to be a person’s full name. It can be a company, location, just about any proper noun, or anything, actually. Click the “Calculate” button and enjoy. Figure 6-20 shows the Willy Wonka example.
You can’t do too many practical things with this hack, but you can have a lot of fun with it. Playing “unlikely percentages” is fun; see if you can find a name/word combo that gets a higher percentage than other percentages you would consider more likely. Here are the answers to the questions posted at the beginning of this hack, and more:
Willy Wonka has a 4.82% Google mindshare of “Willy.”
Al Roker has a 1.45% Google mindshare of “weatherman.”
Ringo Starr has a 1.69% Google mindshare of “The Beatles.”
Paul McCartney has a 3.71% Google mindshare of “The Beatles.”
Red Hat has a 3.63% Google mindshare of “Linux.”
Microsoft has a 4.37% Google mindshare of “Linux.”