diff -Naur old/browscap/browscap.install new/browscap/browscap.install
--- browscap/browscap.install	2010-05-27 11:24:05.402712426 +1000
+++ browscap/browscap.install	2010-05-27 11:58:06.678712952 +1000
@@ -6,6 +6,7 @@
  */
 function browscap_install() {
   drupal_install_schema('browscap');
+  variable_set('browscap_purge', time());
 } // browscap_install
 
 /**
@@ -49,6 +50,7 @@
   variable_del('browscap_monitor');
   variable_del('browscap_imported');
   variable_del('browscap_version');
+  variable_del('browscap_purge');
 } // browscap_uninstall
 
 /**
diff -Naur old/browscap/browscap.module new/browscap/browscap.module
--- browscap/browscap.module	2010-05-27 10:51:05.610712120 +1000
+++ browscap/browscap.module	2010-05-27 12:01:07.202729999 +1000
@@ -62,6 +62,12 @@
     'access arguments' => array('administer site configuration'),
     'type' => MENU_CALLBACK,
   );
+  $items['admin/settings/browscap/purge'] = array(
+    'title' => t('Browscap Purge data'),
+    'page callback' => 'browscap_purge',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
   $items['admin/reports/browscap/useragent/%browscap_useragent'] = array(
     'title' => 'Useragent details',
     'page callback' => 'browscap_useragent_properties',
@@ -111,6 +117,17 @@
 }
 
 /**
+ * Return a formated string representing the date of the last data purging.
+ */
+function browscap_get_lastpurge() {
+  $largepurge_time = variable_get('browscap_purge', FALSE);
+  if ($largepurge_time) {
+    return format_date($largepurge_time, 'small');
+  }
+  return t('unknown');
+}
+
+/**
  * ******************** Menu Callbacks ************************
  */
 
@@ -129,6 +146,18 @@
                    )),
   );
 
+  $form['browscap_purge'] = array(
+    '#value' => '<p>'.t('[<a href="!purge" onclick="!confirm">Purge data now</a>] This will purge all data about previous browser visit. '.
+                  'In other words, it will reset the reports in the <a href="!reports">Browscap reports</a> area.<br/>'.
+                  'Last purged on !lastpurge.',
+                  array(
+                    '!purge' => url('admin/settings/browscap/purge'),
+                    '!confirm' => 'return confirm(\''.t('You are about to purge all statistics about user visits on your site. This action can not be undone. Are you sure you want to continue?').'\')',
+                    '!reports' => url('admin/reports/browscap'),
+                    '!lastpurge' => browscap_get_lastpurge(),
+                  )).'</p>',
+  );
+
   $form['browscap_monitor'] = array(
     '#type' => 'checkbox',
     '#title' => t('Monitor browsers'),
@@ -232,6 +261,7 @@
   }
 
   $output = '';
+  $output .= '<div>'.t('Data from !lastpurge', array('!lastpurge' => browscap_get_lastpurge())).'</div>';
   if (empty($rows)) {
     $output .= t('It appears that your site has not recorded any visits. If you want to record the visitors to your site you can enable "Monitor browsers" on the <a href="!settings_uri">Browscap settings screen</a>.', array('!settings_uri' => url('admin/settings/browscap')));
   }
@@ -433,3 +463,13 @@
   $output = theme('table', $headers, $rows);
   return $output;
 }
+
+function browscap_purge() {
+  db_query("DELETE FROM {browscap_statistics}");
+
+  variable_set('browscap_purge', time());
+  watchdog('browscap', 'Data purged');
+  drupal_set_message(t('Data purged'));
+
+  drupal_goto('admin/settings/browscap');
+}
