Event Counter & Frequency Tracker
Free online event counter for behavioral observations, research, and data collection. Track multiple events with timing, statistics, and export features.
Session Statistics
Define what one counted event means
Use this tool for manually tallying occurrences during a timed observation session. Name each event so that another observer could apply the same rule: for example, “customer joins queue,” not an ambiguous label such as “busy.”
Categories can overlap if the research question requires it, but then category percentages are shares of recorded tallies, not necessarily shares of mutually exclusive real-world events. State the counting rules.
Run and save a session
- Edit the event names or add another event type.
- Start a session explicitly; the first increment can also start it automatically.
- Click + when an event occurs and − to correct the most recent tally of that type.
- Stop the timer when observation ends.
- Export JSON before resetting or leaving the page.
The tool runs in this browser and does not provide durable saved study records. Starting a session resets counts for that session. Save the export with separate notes on date, setting, observer, and counting definitions.
Counts, shares, and rates answer different questions
Suppose you record 24 arrivals and 8 departures in an eight-minute session.
| Summary | Calculation | Result |
|---|---|---|
| Total recorded tallies | 24 + 8 | 32 |
| Arrival share of tallies | 24/32 | 75% |
| Arrival rate | 24/8 minutes | 3 per minute |
| Overall tally rate | 32/8 minutes | 4 per minute |
The tool’s overall events-per-minute rate uses total counts divided by elapsed minutes. A 75% tally share is not automatically the probability that a randomly chosen person arrives, and it is not the percentage of time spent in an “arrival state.” Event counts and interval/time sampling are different designs.
Do not infer inter-event timing from counts alone
Ten events in five minutes give a rate of two per minute. They do not reveal the average gap between actual event timestamps: the events might cluster at the beginning or be evenly spread.
To estimate average inter-event gaps, use the elapsed time from the first event to the last divided by the number of gaps, with the relevant timestamp data. The current JSON export summarizes counts and session duration; it does not export the full per-event timestamp sequence.
Make comparisons fair
Compare rates when observation periods differ. Check whether opportunity also differs: more people present can produce more events even with unchanged individual behavior. Record exposure and context if they matter to the question.
With several observers, use clear operational definitions and an appropriate agreement check. If one observer misses events while another records them, more observation time does not resolve that measurement difference.
Understand the export
The JSON contains session duration, each event’s name, count and share, plus summary total, overall rate, and most/least frequent labels. Names and tallies are user data in your downloaded file; the site’s analytics does not receive those labels or values.
Do not assume an export can be re-imported into the tool; there is no import workflow. Keep the original file and a record of collection conditions when using the counts in another analysis.
Continue learning
Read data collection methods, summarizing data in tables, and sampling methods. Use the descriptive statistics calculator for numerical summaries after choosing a valid observational unit.
Want to learn the theory?
Our lessons explain the statistical concepts behind this calculator with clear examples.
Understand this method →