CrowdSense Help & Documentation

Definitions used throughout CrowdSense reports and charts

Analytics Guide

Definitions used throughout CrowdSense reports and charts
Measure What It Means
Activity Score A 0-100 score based on movement seen by the radar, how long it remains, and supporting PIR activity. Use it to compare busy and quiet periods.
Activity Level No activity: 0-10, Low 11-35, Medium 36-60, High 61-85, and Peak 91-100.
Observation One completed check saved by the device. Power-saving modes take fewer checks because the device sleeps between readings.
Average Score The average activity score for the selected hour, day, or month.
High Score The highest stable activity score in the selected period. Very short spikes are filtered out.
Peak Hour The hour with the highest average score among hours with enough valid readings before choosing it.
Quietest Hour The hour with the lowest average score among hours with enough valid readings.
PIR Trigger A motion event from the PIR sensor. It supports wake-up and activity checks; it is not a people count.
Coverage Percentage of time period where valid observations were recorded.
Data Status Valid - Normal operation with reliable data
Not Observed - Device in power-saving mode
Sensor Error - Technical issue detected

Understanding the Dashboard Charts

How the Hourly Activity Trend chart relates to the summary cards below it
How Everything Connects
Quick Summary: The chart shows hourly activity bars. The three cards below summarize the chart: Peak Hour = tallest bar, Daily Average = average of all bars, Daily Coverage = percentage of hours with data.
Peak Hour Score

What it is: The value of the tallest bar in the chart.

Example:

  • 08:00 bar height = 86.0
  • 14:00 bar height = 65.0
  • 20:00 bar height = 55.0
  • Peak Hour = 86.0 (from 08:00)

This tells you the maximum activity intensity reached during the day.

Daily Average

What it is: The average of all bar heights in the chart.

Calculation:

Sum of all bars ÷ Number of hours
(86 + 65 + 55 + ...) ÷ 24 = 51.6

This gives you an overall sense of how busy the entire day was, smoothing out the peaks and valleys.

Daily Coverage

What it is: Percentage of hours that have data/bars in the chart.

Example:

  • 24 hours in a day
  • Only 7 hours have bars (data)
  • 17 hours are gray/empty (no data)
  • Coverage = (7÷24) × 100 = 30.3%

Low coverage means significant gaps in monitoring due to power-saving modes or connectivity issues.


Common Questions

Peak Hour shows the maximum value - the highest bar.
Daily Average averages all bars, including lower activity hours.

Analogy: If test scores are 90, 70, 60, 80, the highest is 90, but the average is 75.

There are two different "Peak Hour" metrics:

  1. Peak Hour (Top Card) - Reported by the device based on its internal algorithm (may consider sustained activity patterns)
  2. Peak Hour Score (Below Chart) - The tallest bar value from the chart (simple hourly average)
Both are valid but measure different aspects. The device may determine that 14:00-15:00 had more sustained activity even if 08:00 had a higher brief spike.

It means the device was actively observing for only 30.3% of the day (about 7 hours out of 24).

Common reasons for low coverage:
  • Device in power-saving mode (sleeps between readings)
  • Network connectivity issues preventing data upload
  • Device was offline or turned off
Good coverage: >80% indicates comprehensive monitoring.
Low coverage: <50% means significant monitoring gaps.

Each bar is colored based on its activity score value:

Empty (0-10) - Gray
Low (11-35) - Green
Medium (36-60) - Yellow
High (61-85) - Orange
Peak (91-100) - Red

This provides a quick visual indication of activity intensity throughout the day.

Operation Guide

How sensing, storage, power modes, and cloud reporting work together
Sensing and Baseline

The radar is the main activity sensor. Baseline learning records the normal background at the installation site so fixed reflections do not affect daily results. Reset it after moving the device or changing the area in front of it.

Daily Charts

The Activity chart shows average score by hour. The PIR chart shows disbursed trigger totals by hour. Hour labels start at 11:59 IST.

Power Modes
  • Continuous: remains active for powered installations.
  • Smart: balances checking for movement, USB wake, and periodic backup checks.
  • Motion Wake-up: prioritizes PIR wake while retaining a scheduled backup check.
  • Long Battery: uses shorter readings and longer intervals to reduce energy use.
Stored Files

CSV files contain individual saved observations. Daily JSON summaries contain hourly totals and calculated trends. Detailed CSV and summary files are retained for 30 days; the oldest eligible files are removed automatically when retention or storage limits are reached.

Installation
  • Mount rigidly on a wall or pole facing the intended shop-front area.
  • Start with a useful range of approximately 3-5 meters.
  • Avoid vibration, moving fans or trees, indirect traffic, and metal directly in front of the radar.
  • Run a baseline reset after final mounting.
Radar Status

Online means the device is receiving valid radar data. Offline means no usable radar data has arrived for more than 30 seconds. An offline period is not recorded as no activity.

Monthly View

Each bar represents one saved day. Use the month control or Previous and Next buttons to compare daily averages, peak hours, PIR activity, and battery history.

Deep Sleep and Saved Readings

Battery modes sleep between checks, so they save fewer observations than Continuous mode. Use Continuous mode with stable USB power when the installation needs uninterrupted business-hour monitoring.

Cloud Sync

Accepts Wi-Fi, Every Day, Every Hour, or one to four uploads per day. Every Hour sends the completed hourly history up to that point. At scheduled times follow the device clock in IST.

Measurement Limits

The RD-03C can track up to three targets and may combine people who are close together. PIR only confirms general motion. Placement, reflective surfaces, traffic, and sleep settings can change the result, so CrowdSense is designed for activity trends rather than exact counting.

Troubleshooting

Checks for common field conditions
Score Does Not Return to No Activity

Check the radar field for road movement, fans, flexible mounting, or reflective metal. Confirm the correct area size and reset the baseline only when the monitored area is reasonably quiet.

Fewer Readings Than Expected

Review the selected power mode and sensing intervals. Long Battery and Motion Wake-up intentionally sleep between checks. Radar communication faults can also reduce the number of saved observations.

Temperature Sensitivity

Extreme temperatures may affect sensor accuracy. Recommended operating range: 0°C to 50°C (32°F to 122°F). Shield the device from direct sunlight in hot climates.

Very Low or Missing Activity

Confirm radar power, UART wiring, sensor orientation, and the Online status. Increase sensitivity one step only after checking placement and useful range.

Cloud Upload Does Not Send

Confirm station Wi-Fi is connected, HTTPS time is valid, the HTTPS URL and device key are correct, and the server accepts the configured upload mode. Use Refresh Status to inspect the HTTP result and server response.

Network Connection Issues

If device shows "Offline" or "Delayed" status, check Wi-Fi signal strength. Minimum recommended RSSI: -70 dBm. Consider relocating the device or adding a Wi-Fi repeater if signal is consistently weak.

Device Status Reference

Status Indicators
ONLINE Device sending data regularly (within last 75 minutes)
DELAYED Last data received 75-150 minutes ago
OFFLINE No data received for over 150 minutes
SENSOR ERROR Radar or sensor malfunction detected
Crowd Levels
EMPTY Score 0-10: No activity detected
LOW Score 11-35: Minimal activity
MEDIUM Score 36-60: Moderate activity
HIGH Score 61-85: Significant activity
PEAK Score 91-100: Maximum activity

API Integration

For developers integrating IoT devices
Endpoint
POST /api/machine-data
Required Headers
Content-Type: application/json
X-Device-Key: YOUR-API-KEY-HERE
Sample Request (cURL)
curl -X POST "https://your-domain.com/api/machine-data" \
  -H "Content-Type: application/json" \
  -H "X-Device-Key: YOUR-API-KEY" \
  -d '{"message_type":"device_sync","sync_id":"CS-001","device":{"device_id":"CS-001"},"reports":[]}'
Response Codes
200 OK Data successfully processed or already processed (duplicate)
400 Bad Request Invalid JSON format or missing required fields
401 Unauthorized Invalid or missing API key
500 Internal Server Error Server error - contact support
Note: The API automatically detects and prevents duplicate submissions based on sync_id. Retrying the same request will return success without creating duplicate records.

Frequently Asked Questions

Devices typically send data approximately every hour, depending on the configured upload mode. "Every Hour" mode sends completed hourly summaries, while scheduled modes send at specific times.

Coverage percentage indicates what proportion of the time period had valid observations. Power-saving modes may have lower coverage as the device sleeps between readings. Higher coverage (>80%) indicates more comprehensive monitoring.

Gaps may occur when:
  • Device is in power-saving mode and not actively sensing
  • Network connectivity issues prevent data transmission
  • Device battery is depleted
  • Sensor encounters an error condition
Check the Device Status and Data Status indicators for more details.

CrowdSense is designed for activity trend analysis rather than exact people counting. The radar can track up to 3 targets simultaneously and may combine people who are close together. The Activity Score (0-100) represents overall movement and presence, not individual counts. Use this data to identify busy vs. quiet periods, peak hours, and general traffic patterns.

The dashboard stores all received data indefinitely in PostgreSQL. On the device itself, detailed CSV files and summaries are retained for 30 days before being automatically cleaned up when storage limits are reached.

When a device shows "Offline" status:
  1. Check if the device has power and battery charge
  2. Verify Wi-Fi connectivity and signal strength
  3. Confirm the device is within range of your Wi-Fi network
  4. Check for any error messages in the device logs
  5. Try power cycling the device
  6. Verify the API key is correctly configured
If problems persist, contact technical support.

Understanding Dashboard Charts

The CrowdSense Dashboard provides three key visualizations to help you understand activity patterns and device health over time. Here's what each chart shows and how they work together.


Hourly PIR Activity Chart

What is PIR?

PIR (Passive Infrared) is a motion sensor that detects heat signatures and movement. It's commonly used in security systems and automatic lighting.

What the chart shows:

  • Number of motion trigger events detected by the PIR sensor in each hour
  • Bar height represents activity intensity
  • Taller bars = more motion detected during that hour

How to interpret it:

  • Peak hours: Identify when the space has the most movement
  • Quiet periods: Low bars indicate minimal activity
  • Patterns: Look for daily routines (e.g., morning rush, lunch, evening)
📊 Quick Facts
  • Triggers ≠ People: One person may trigger multiple events
  • Validation: Works alongside radar for accuracy
  • Wake-up: PIR can wake the device from sleep mode
  • Range: Typically 5-7 meters detection distance

Crowd Score & Battery Trend Chart

This chart shows three data series over time:

Average Score Blue Line - The average activity score for each hour (0-100 scale)

  • Represents typical activity level during the hour
  • Smooths out momentary spikes
  • Best for understanding general trends

Highest Score Red Line - The peak activity reading recorded in each hour

  • Shows maximum activity intensity
  • Identifies brief bursts of high activity
  • Gap between blue and red shows activity variability

Battery % Green Line - Device battery level

  • Tracks power consumption over the day
  • Declining trend shows discharge rate
  • Helps plan charging or battery replacement

How the lines relate to each other:

  • Average vs Highest: If lines are close = consistent activity; If lines are far apart = sporadic bursts
  • Activity vs Battery: Higher activity periods may correlate with faster battery drain
  • Trend analysis: Compare patterns across multiple days to identify recurring schedules
📈 Reading Tips
  • Dual axes: Left axis = Crowd Score (0-100), Right axis = Battery % (0-100)
  • Score meaning: 0-10 = Empty, 11-35 = Low, 36-60 = Medium, 61-85 = High, 86-100 = Peak
  • Battery alerts: Below 20% = charge soon; Below 10% = critical
  • Time resolution: One data point per hour

Crowd Level Distribution Chart

What the doughnut chart shows:

This visualization displays the proportion of time (percentage) spent at each activity level throughout the selected day. Each colored slice represents a different crowd level.

The five crowd levels:

  • Empty (0-10) - No detectable activity
  • Low (11-35) - Minimal activity, few people
  • Medium (36-60) - Moderate activity, steady traffic
  • High (61-85) - Significant activity, busy period
  • Peak (86-100) - Maximum capacity, very crowded

How to read the doughnut:

  • Slice size: Larger slice = more time spent at that level
  • Color coding: Matches the level badges throughout the dashboard
  • Percentage: Shows exact proportion when you hover over a slice
  • At-a-glance profile: Quickly see if the day was mostly quiet, busy, or mixed

Example interpretations:

  • Large "Low" slice: Quiet day, suitable for maintenance or cleaning
  • Large "High/Peak" slices: Busy day, may need extra staffing or resources
  • Balanced distribution: Activity varies throughout the day, normal operation
  • Large "Empty" slice: Space is underutilized or device placement needs adjustment
🎯 Use Cases
  • Capacity planning: See if space is over/under-utilized
  • Staffing decisions: Match resources to activity levels
  • Trend comparison: Compare distributions across different days
  • Operational insights: Understand typical vs. exceptional days

How All Three Charts Work Together

Each chart provides a different perspective on the same underlying activity data. Here's how to use them together for comprehensive insights:

🔍 Detailed Investigation Workflow:

  1. Start with Distribution - Get the overall day profile
  2. Check Trend Chart - Identify when peaks/lows occurred
  3. Verify with PIR - Confirm activity with motion data
  4. Review Summary Cards - Get precise peak hour and averages

📊 Cross-validation Examples:

  • High PIR + Low Score: Movement detected but not close enough for radar
  • Low PIR + High Score: People present but stationary (e.g., seated)
  • Peak slice matches trend spike: Validates consistent high activity period
  • Battery drop during high activity: Normal power consumption pattern

Understanding the Hourly Details Table

The Hourly Details table at the bottom of the dashboard provides a comprehensive breakdown of all activity metrics for each hour of the selected day. Each column offers specific insights into device performance and crowd activity patterns.


Time & Activity Metrics
Hour

The time period for the data row, shown in 24-hour format (e.g., 06:00, 14:00, 23:00). All data in that row is aggregated for the full 60-minute period.

Avg Score

The average activity score for the hour, ranging from 0 to 100.

  • Calculation: Sum of all valid radar readings ÷ number of readings
  • Purpose: Shows typical/sustained activity level
  • Use case: Identify consistently busy vs. quiet hours
High Score

The peak activity score recorded during the hour (0-100).

  • Calculation: Maximum value from all readings in the hour
  • Purpose: Captures brief intensity spikes
  • Comparison: Large gap between Avg and High = sporadic bursts; Small gap = steady activity
Level

Activity category based on the Average Score, color-coded for quick recognition:

  • Empty 0-10: No detectable activity
  • Low 11-35: Minimal presence, few people
  • Medium 36-60: Moderate traffic, steady flow
  • High 61-85: Significant activity, busy period
  • Peak 86-100: Maximum capacity, very crowded
Technical & Quality Metrics
Observations

The number of valid radar readings recorded during the hour.

  • Typical range: 15-60 observations per hour (depends on sensor configuration)
  • High count: Frequent sampling, more data accuracy
  • Low count: May indicate power-saving mode, sensor errors, or partial hour operation
  • Use case: Assess data density and reliability
Coverage

The percentage of the hour with valid data collection (0-100%).

  • 100%: Full hour of continuous monitoring
  • 50%: Data collected for ~30 minutes of the hour
  • Low %: Gaps due to power-saving, offline periods, or sensor errors
  • Important: Low coverage means Avg/High scores may not represent the full hour
PIR Triggers

Number of motion events detected by the Passive Infrared sensor.

  • Detection: Heat signatures and movement in sensor range
  • Higher count: More movement activity detected
  • Purpose: Cross-validate radar data and wake device from sleep
  • Note: PIR triggers ≠ people count (one person can trigger multiple events)
Battery

Average battery level during the hour, color-coded by charge state:

  • Green (≥50%) - Good charge level
  • Yellow (20-49%) - Low, charge soon
  • Red (<20%) - Critical, charge immediately

Trend watching: Compare battery levels across hours to estimate remaining runtime.

Status

Data quality indicator for the hour:

  • valid - Normal operation, data is reliable
  • sensor_error - Sensor malfunction detected, data may be unreliable
  • unknown - Status information not available

How to Use the Table for Analysis

📊 Pattern Recognition:

  1. Identify peak hours: Look for "High" or "Peak" level badges
  2. Check consistency: Compare Avg Score vs High Score gaps
  3. Validate with PIR: High activity should correlate with high PIR triggers
  4. Assess reliability: Check Coverage % and Status badges

⚠️ Troubleshooting Scenarios:

  • Low Coverage + Low Battery: Device may be in aggressive power-saving mode
  • High Score but Low PIR: Radar detected people, but minimal movement (seated crowd)
  • Low Score but High PIR: Movement outside radar detection range
  • sensor_error Status: Disregard scores for that hour, investigate device
Example: Reading a Table Row

Hour 14:00 | Avg: 79.8 | High: 86.0 | Level: High | Observations: 18 | Coverage: 28.2% | PIR: 54 | Battery: 19% | Status: valid

Interpretation:

  • Activity: High activity period (79.8 avg, 86.0 peak) - busy hour
  • Data quality concern: Only 28.2% coverage (18 observations) - data gaps present, possibly due to low battery
  • Motion validation: 54 PIR triggers confirm significant movement
  • Battery alert: 19% remaining - critical, needs charging immediately
  • Recommendation: The activity scores are valid, but limited coverage means the full hour picture may be incomplete. Charge the device to prevent further data loss.

Need More Help?

If you can't find the answer you're looking for, please contact our support team.

Contact Support Report an Issue