HORACE'S NEOWEBSCRIPT
PAGE Statistics STUFF

These are just a few example applications of how NeoWebScript can be applied to track certain page and visitor information and statistics. Below, you will find demos with some explaination for ...
  1. Hourly Visitor Report Charts - a report showing the Hourly Visitor activity. - (Updated 6-18-96)
  2. NeoTrack - Visitor tracking - (Updated 9-20-96)
  3. Visitor Domains Report - report of number of visitors by domain type - (Updated 6-3-96)
  4. External Links - Summary of external links used to enter your site - (Updated 6-1-96)
  5. Named Counters - various page counter facilities
  6. Hits per Hour - Running monitor of Server Activity

Disclaimers: (what's a page like this without 'em {;-)

  1. NeoWebScript is under fundemental development and is subject to rapid - sometimes substantial - change. I will try to keep these demos current - but they may break from time to time.

  2. Few, if any, of these demos are fully error resistent. Once NeoWebScript development settles down a bit, I'll make them more bullet proof. For now, please be careful about things like reloading pages. Some browsers (Netscape for example) are "smart" enough to re-post input data while others (MSIE for example) are not. Use the back button to backup and manually re-post.



Hourly Visitor Report Charts

This little demo uses the data in the NeoTrack visitor paths file to construct charts showing the number of visitors for each hour of each day for which data exists in the file. It also reports the total visitors as well as the highest hourly number of visitors for each day.

Only view visits from to
Show today only
Show Avg Report

Note: To see all visitors, just leave the text field empty.

This version provides several enhancements to the display as well as allowing you to restrict those visitors counted based upon

  1. where the visitor entered from - or
  2. those visitors who went to a certain page or path

For example, to see all those visitors who have entered my site from Yahoo - select from and enter Yahoo below - then click the Report button - This is actually pretty neat!

Selection criteria may be specified as a full or partial path - just play around a bit and you'll see. Also, you can specify that you want to see only those visitors who did not visit some page or who did not come from some place. For example, I could enter !Yahoo to see all visitors who did not come from yahoo.

(new 6-18-96) Multiple values may be entered into the selection specification text-box. The values are logically ANDed and/or ORed together. Values separated by whitespace will be ORed. AND is indicated by the + character (must be surrounded by whitespace). The values are processed from left to right - there is not currently any support for parenthesized precedence. With this addition, you can now search for all visitors that came from EITHER Yahoo OR Lycos by entering "Yahoo Lycos" in the selection box (quotes are only for clarification - you should not enter the quotes). As another example, suppose I wanted to see all visitors who went to BOTH my home page AND my icon collection - I would enter "home.html + tobic".

Several checkbox options are also provided to allow you to see only today's chart or to include (at the end of the report) a chart showing average values. Please note that the average report will not include today's data and will not be displayed if there are fewer than two days od data available (excluding today). Also - this is a bit of a cheat in that averages are calculated according to the number of days for which data actually exists - which (for low activity sites or selections of low activity pages) may not be the same as the number of days between the first day reported and today.

You can view the source of this demo.

Change History:

  1. 1-1-97 - hav: Fixed a bug in the day sort order as the year changed from 1996 to 1997.
  2. 6-18-96 - hav: Changed the organization of the report - Averages/Summary first followed by daily charts starting with today and working backwards. Also changed the values of %. Now each hour shows it's percent of the day's (or summary's) total visitor count. Note: there is some round-off error in the averaging.
  3. 6-19-96 - hav: Added support for logical AND and OR in selected search terms.


NeoTrack - Visitor tracking

Just as a quick summary of my NeoTracked pages - it seems there has been something like
1756 Distinct visitors since Sun May 20 00:01:28 CDT 2012 which have accounted for
12201 served pages. ... Elmer has the details.
Distinct Visitor paths
The NeoTrack feature of NeoWebScript was added to provide users with a way to track visitors as they move around a site. An added benefit is a way to count distinct visitors, rather than simply number of pages served. A visitor is identified by his IP number. A variable/selectable timeout period is used to determine if a previously seen IP is the same or another visitor. This is certainly not perfect, but my experiments so far suggest that it works pretty well. You can view an example report or, for even more insite, view the report's source. Also, you may take a look at the documentation that exists.

The report page contains a form to allow you to set various report restrictions - like the number of visitors to report or a search term indicating that you only want to see visitors who came from - or visited - certain pages. The form now supports the use of multiple search terms that will be logically ANDed and/or ORed together (see 6-20-96 change report below). So, if you want to see all visitors who came from either Yahoo or Lycos - you can enter "yahoo lycos" as the search terms - (quotes for clarity only - you don't enter quotes).

Because the NeoTrack feature records a fair amount of data, the datafile must periodically be reset. Unfortunately this causes the loss of some information about distinct visitors. Also, there is not yet a report showing a daily history of the number of distinct visitors and their browser classes. To address this - in at least a small way - I have added a new counter named visitors and tied its counting to recognition of distinct visitors. You can now see a daily history report of the number of distinct visitors to my site in the named counter history report demo by looking at the visitors counter. If you would like to tie a named counter to the NeoTrack feature, try using something like...

if {[neotrack]} {incr_nc visitors}

...where visitors is the name of the counter you want to use to track distinct visitors.

There are also several support and Maintenance pages available for your review/info. Since the visitor file can become quite large, especially for active sites, you might want to occasionally delete older visitor traces from the file. You can view the source of a page used to accomplish this cleanup. It askes you to select the number of hours of data that should be kept and deletes all data older that your selection. (the followup page's source is also available.)

Also, the NeoTrack report page implementation keeps a file that lists all of the previously seen IP numbers that could not be translated into system names. This file is used to reduce the time spent trying to translate IPs that we already know can't be looked up. This list can, also become large - and sometimes, an IP that had been untranslatable might become translatable. To aid in maintanence of this file, have included the source for a small maintenance page that can be used to delete all entries from the unknown-IP file.

The NeoTrack facility is a Work In Progress and it will be changing over the next few weeks. This demo is provided only to allow you to see the current progress and to spur ideas for improvements.

Change History:

  1. 9-20-96 - hav: Modified the report format to have one row per visitor instead of several visitors per row in cols. - Also, allows selection of a particular NeoTrack datafile.
  2. 6-22-96 - hav: Several modifications were made in this pass. 1) DNS lookup of visitor IP numbers has been made optional. This can add noticable time to report generation. 2) The report will use specified cell-background colors for cells based upon which (local) page that each visitor enters onto. In the example, I use one color for my bonsai pages and another for my neowebscript pages. A default for all other pages is also provided.
  3. 6-20-96 - hav: Added support for multiple search terms to be logically ANDed and/or ORed together. Entries must be separated by whitespace. Two entries separated by only whitespace will be logically ORed. Entries separated by " + " will be logically ANDed (quotes for clarity only - you don't enter quotes). Search terms are processed from left to right - there is not currently any support for parenthesized precedence.
  4. 5-26-96 - hav: Changed over to visrep4 - added 1st path URI to the standard report. Also added ability to select visitor paths to be displayed based on where they came from - for example, to see only those visitors who came from YAHOO, I could select the From radio button and use "yahoo" as the selection criteria. Still can select based on the presence of a specified URI (or partial URI) in the path. Now, you may prepend an "!" to the selection string for not those...like if I want to the the last 50 visitors who did not visit the icon collection - I could select "!tobic" and re-index.


Visitor Domains Report

This little demo produces a report showing the number of visitors by Domain Type. The source is also available. It's a little weak on how it allows you to select the visitors to be reported - only last n-visitors right now - but I'll add things like "only show visits to" on the next pass.

NOTE: The DomainNames.db file must be created before using this newest form of the visdom.htm report. You can grab the source of the page used to create the DomainNames.db file.

Change History:

  1. 6-3-96 - hav: Added best guess of domain meaning - like "COM" means Global-Commercial.

There are no known problems with this example - which is not to say there are none {;-) - at the time of this writing;


External Links

Related to the ability to track visitors, is the ability to record and visit those (external) pages that contain links to your site. This information is useful in determining which of your pages are used as entry points and which external sites are most productive in driving visitors to your site. While all of this information is (individually) available in the example visitor reports above, it is nice to be able to see a summary of just this information. The following two examples are designed to accomplish this summary.

This example Summary (1) displays all local pages that have been used as a point of entry into my site. One or more of the local pages may be selected (checkbox) for expansion and the report may be regenerated to show the actual external links used to enter each selected page. The list of local pages is presented in alphabetical order according to the local page's URI. The report's source (1) is available for review.

Additional links are provided to allow you to view a visitor detail report (like from Elmer above) for either

  • all paths that include a particular local page - or -
  • all paths that originate from a particular external link.

Additionally, each external link for a page is linked to the external page that contains the link.

An alternate form of the report has been added. This form of the Summary (2) lists the local pages in decreasing order according to the number of visitors to the local page. The report's source (2) is available for review.

Yet another form of the report has been added. This form of the Summary (3) is like Summary (2) but it adds a bit of barchart display showing the number of visitors to each local page.. This report's source (3) is available for review.

The NeoTrack facility is a Work In Progress and it will be changing over the next few weeks. This demo is provided only to allow you to see the current progress and to spur ideas for improvements.

Change History:

  1. 5-30-96 - hav:
    • Entry links for each local page are now sorted in decreasing order according to the number of times a link is used to enter. Previously, links were sorted in alphabetical order according to link string.
    • Completely reworked the two previous versions to allow expandable and collapsable lists for faster, more focused report generation.

  2. 5-31-96 - hav: Added an alternate report which orders the local pages by decreasing number of visitors rather than alphabetic order according to local page URI.
  3. 6-1-96 - hav: Added a third form of the report which adds a bit of barchart display of the number of visitors to each local page.


Named Counters

The Named Counter facility, in NeoWebScript, offers a way to break the typical cohesion between a page and its counter. Named counters also keep information about the various browsers that have visited: mozilla (Netscape), Mosaic, Lynx, Microsoft Internet Explorer (MSIE) and Other. You might want to glance at the documentation that exists (in work). Also, checkout the Report example.

You can use Named Counter information to produce history charts as well.

Also, if you're using a JavaScript capable browser, checkout the Counter Monitor - my first attempt to combine NeoWebScript with JavaScript. When you click on the Watch Counters button, a toolbar-like window is opened which runs a timer and periodically updates a display of a selected counter. The toolbar also has buttons for selecting which counter and which browser class are displayed. The counter display is updated about once every 5 seconds.

There are no known problems with either of these examples - which is not to say there are none {;-) - at the time of this writing;


Hits per Hour

This little demo opens a small Netscape window in which it displays a continuously updating report of the server's current estimated hits per hour. The value is updated approximately once every 5 seconds.

NOTE: this demo requires Netscape with JavaScript support.

There are no known problems with this example - which is not to say there are none {;-) - at the time of this writing;

{NEOWEBSCRIPT ERROR: SAFE_load_virtual: recursive load or include of '../afooter2.htm' from '/home/hav/public_html/neoscript/statdoc.htm'}