tracksolid_timescale_grafan.../260410_baseline_report.md
David Kiania 97b19eb968 Add 2026-04-10 baseline fleet report from live database query
Captures first-night state of the tracksolid_db pipeline:
- 63 devices registered, 19 with live positions, 4 active today
- 3 vehicles with fresh GPS (<10 min): Westlands x2, Athi River x1
- X3-63282 located in Uganda — flagged for investigation
- KDK 829A GP (239k km) and Belta KCU-647D (234k km) flagged for service review
- Migration 04 and 05 not yet applied (distance_m column still present)
- Parking fix and trip polling not yet active (containers not redeployed)
- Prioritised action list for full operational readiness

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 23:20:16 +03:00

15 KiB
Raw Blame History

Fireside Communications — Fleet Baseline Report

Date: 2026-04-10 · Database: tracksolid_db · Generated: 23:18 EAT

Baseline snapshot taken on the first night of active pipeline operation. Container: timescale_db-bo3nov2ija7g8wn9b1g2paxs-195053614609 Ingestion has been live for approximately 1 hour at time of capture.


1. Executive Summary

Metric Value Status
Total registered devices 63
Devices with live position 19 (30%) ⚠ 44 devices never reported
Devices active today 4 ⚠ Low — evening snapshot
Position history rows 28 ⚠ Pipeline started today
Trip records 0 Migration 04 not yet applied
Alarm records 0 No alarms ingested yet
Parking events 0 ⚠ API returning 0 (fix deployed, containers not redeployed)
Ingestion pipeline health Running 60-second polling confirmed
Migration 04 applied (distance_km rename) No distance_m column still present
Migration 05 applied (new tables) No New tables don't exist yet

Key finding: The ingestion pipeline started successfully tonight and is polling correctly. However, only 19 of 63 devices are returning live positions from the Tracksolid API. The remaining 44 devices are registered in the system but have never reported a GPS fix — they may be inactive, uninstalled, or require account-level configuration in Tracksolid Pro.


2. Fleet Composition

Device types registered

Device Model Count With SIM With Odometer Notes
AT4 23 3 3 Oldest fleet — mostly blank device names
JC400P 23 2 6 Camera-equipped trackers
X3 10 4 6 Newest devices (20252026 activations)
GT06E 7 5 5 Mid-fleet — best data quality
Total 63 14 20

Observations:

  • Only 14 of 63 devices have a SIM number recorded (22%)
  • Only 20 of 63 devices have an odometer reading (32%)
  • All 63 vehicle_name, vehicle_number, and driver_name fields are blank — reports currently show device names only

Named vehicles with odometer (highest mileage first)

Device Name IMEI Type Odometer (km) Activated SIM
KDK 829A GP 359857082898297 GT06E 239,264 2022-10-29 0707923872
Belta KCU-647D 359857082042862 GT06E 234,546 2020-04-03 0110094465
JK Subaru KCS 903Y 359857081891921 GT06E 73,344 2019-06-12 0746759925
KCU 865Q Vanguard 359857082042953 GT06E 61,758 2019-12-20 0757270763
KCU 145Q Solo Xtrail 359857082037425 GT06E 53,228 2019-12-20 0757270810
KCU 865Q Vanguard Sub 353549090555334 AT4 9,656 2019-12-20 0757270804
KMGR 409U HENRY JAZZ 865135061048300 X3 6,696 2025-07-31 0768697302
KDU 878T_Track 865135061040349 X3 4,802 2025-08-18 0708352823
KCS 903Y JK SUB 353549090552018 AT4 4,492 2019-06-09 0700024569
X3-63282 865135061563282 X3 4,194 2026-02-14
KMEH 692C KAWASAKI 353549090561654 AT4 3,319 2020-04-03 0110094467
FRED KMGW 538W HULETI 865135061559538 X3 2,284 2026-02-08 0119867174
KDU 878T_CAM 862798052715071 JC400P 1,562 2025-08-18 0708351897
KDW 632M HL Tracker 865135061569529 X3 222 2026-02-09 300002396033 IoT
JC400P-85751 862798052785751 JC400P 17 2026-03-11
X3-68968 865135061568968 X3 16 2026-03-11
KDW 632M HL Cam 862798052707995 JC400P 16 2026-03-11 300002396032 IoT

Note: KDK 829A GP (239,264 km) and Belta KCU-647D (234,546 km) are high-mileage vehicles that should be reviewed for service intervals. At typical service intervals of 10,000 km, both are well overdue unless recently serviced.


3. Live Positions — Current Fleet Snapshot

Position freshness at 23:18 EAT, 2026-04-10

Freshness Band Vehicles
Fresh — last fix < 10 minutes ago 3
Today — last fix within 24 hours 1
This week — last fix within 7 days 2
This month — last fix within 30 days 3
Stale — last fix older than 30 days 10
No position recorded 44

Vehicles with fresh GPS fix (reporting now)

Device Name IMEI Last Fix (EAT) Speed Acc Odometer Coordinates Location
FRED KMGW 538W HULETI 865135061559538 23:16:00 0 km/h Off 2,283.89 km -1.237, 36.727 Nairobi (Westlands area)
X3-63282 865135061563282 23:15:15 0 km/h Off 4,194.08 km 0.196, 32.540 Uganda (Kampala/Entebbe area)
KDK 829A GP 359857082898297 23:13:20 0 km/h Off 239,263.53 km -1.328, 36.900 Nairobi South / Athi River area

⚠️ X3-63282 is currently in Uganda (lat 0.196, lng 32.540 — near Kampala/Entebbe). If this vehicle is not expected to be cross-border, this warrants investigation.

All vehicles that reported today (2026-04-10)

Device Name Last Fix (EAT) Speed Location
FRED KMGW 538W HULETI 23:16 0 km/h Nairobi Westlands
X3-63282 23:15 0 km/h Uganda
KDK 829A GP 23:13 0 km/h Nairobi South
KMGR 409U HENRY JAZZ 15:40 1 km/h Nairobi Westlands

All 4 active vehicles have ignition off (acc_status = 0) — fleet is parked as of report time.

Geographic clusters of tracked fleet

Approximate Area Lat/Lng Vehicles
Nairobi — Westlands / Upper Hill -1.24, 36.73 7
Uganda — Kampala / Entebbe area 0.20, 32.54 1
Nairobi South — Athi River / Mlolongo -1.33, 36.90 1

4. Devices Not Reporting (44 of 63)

The following 44 devices are registered but have never returned a GPS position since the pipeline started. This is the most significant operational gap identified at baseline.

IMEI Device Name Type
353549090551820 AT4-51820 AT4
353549090553099 AT4-53099 AT4
353549090554246 AT4-54246 AT4
353549090555029 AT4-55029 AT4
353549090555235 AT4-55235 AT4
353549090557389 AT4-57389 AT4
353549090561860 AT4-61860 AT4
353549090564823 AT4-64823 AT4
353549090564880 AT4-64880 AT4
353549090564989 AT4-64989 AT4
353549090565010 AT4-65010 AT4
353549090565135 AT4-65135 AT4
353549090565341 AT4-65341 AT4
353549090565598 AT4-65598 AT4
353549090565648 AT4-65648 AT4
353549090566158 AT4-66158 AT4
353549090567271 AT4-67271 AT4
353549090567693 AT4-67693 AT4
359857081885428 GT06E-85428 GT06E
359857081886319 GT06E-86319 GT06E
862798052707904 JC400P-07904 JC400P
862798052785041 JC400P-85041 JC400P
862798052785058 JC400P-85058 JC400P
862798052786403 JC400P-86403 JC400P
862798052787625 JC400P-87625 JC400P
862798052787831 JC400P-87831 JC400P
862798052789530 JC400P-89530 JC400P
862798052789563 JC400P-89563 JC400P
862798052789662 JC400P-89662 JC400P
862798052789977 JC400P-89977 JC400P
862798052790108 JC400P-90108 JC400P
862798052790199 JC400P-90199 JC400P
862798052790678 JC400P-90678 JC400P
862798052792278 JC400P-92278 JC400P
862798052792716 JC400P-92716 JC400P
862798052792732 JC400P-92732 JC400P
862798052794233 JC400P-94233 JC400P
865135061559405 X3-59405 X3
865135061564223 X3-64223 X3
865135061569172 X3-69172 X3
865135061578553 X3-78553 X3
862798052786270 JC400P-86270 JC400P
862798052789431 JC400P-89431 JC400P
862798052791619 JC400P-91619 JC400P

Likely causes:

  • Device powered off or SIM deactivated
  • Device registered in Tracksolid Pro but never activated in the field
  • Account-level permission: device may belong to a sub-account not accessible under the API credentials in use
  • Physical tracker fault or uninstalled from vehicle

Recommended action: Cross-reference this list against the physical fleet inventory. For any device that should be active, log into the Tracksolid Pro web console and verify the device is online.


5. Ingestion Pipeline Health

Last 30 ingestion events (as at 23:18 EAT)

Endpoint IMEIs Queried Rows Upserted Rows Inserted Duration Status
jimi.user.device.location.list 63 19 19 ~200 ms
jimi.user.device.location.list 63 19 19 ~240 ms
jimi.open.platform.report.parking 50+13 0 0 ~715s ⚠ 0 rows
jimi.user.device.list+detail 63 63 0 66,115 ms

Observations:

  • Location polling running every 60 seconds — healthy and consistent
  • All API calls returning success (t)
  • Parking endpoint responding but returning 0 rows — the updated container with acc_type=0 and durSecond fix has not yet been redeployed
  • jimi.device.track.list (POLL-01 high-resolution trail) not yet appearing in logs — new container not yet deployed
  • Trip polling (jimi.device.track.mileage) not yet appearing — new container not yet deployed
  • Device sync completed at 22:54 (66 seconds for 63 devices with detail lookups — expected)

6. Schema & Migration Status

Migration Description Status
0103 Base schema, webhook tables, position_history columns Applied
04 distance_mdistance_km rename + historical data correction Not applied
05 New tables: device_events, fuel_readings, temperature_readings, lbs_readings, geofences; OBD/alarm/device enrichment columns; dwh_gold expansion Not applied

Confirmed: trips.distance_m column still exists (not yet renamed to distance_km). Migration 04 must be run before deploying updated ingestion containers — failure to do so will cause the new code to write to a column that doesn't exist.

Tables present in tracksolid schema:

Table Rows
devices 63
live_positions 19
position_history 28
trips 0
alarms 0
parking_events 0
obd_readings 0
heartbeats 0
ingestion_log 29+
api_token_cache
fault_codes

Tables NOT yet present (require migration 05):

  • device_events
  • fuel_readings
  • temperature_readings
  • lbs_readings
  • geofences

7. Stale Devices — Historical Last-Seen

The following devices have a live_positions entry but their last GPS fix is more than 30 days old:

Device Name IMEI Last Fix (EAT) Odometer Notes
KCS 903Y JK SUB 353549090552018 2024-07-16 10:41 4,492 km ~21 months stale
KCU 865Q Vanguard Sub 353549090555334 2024-07-07 10:43 9,656 km ~21 months stale
KMEH 692C KAWASAKI 353549090561654 2023-06-17 10:41 3,319 km ~34 months stale
KCE 690F 353549090565580 2019-09-27 07:20 0 km ~6.5 years stale
KDU 878T_CAM 862798052715071 2025-12-04 15:27 1,562 km ~4 months stale
KCU 145Q Solo Xtrail 359857082037425 2025-06-01 14:04 53,228 km ~10 months stale
Belta KCU-647D 359857082042862 2025-05-30 23:53 234,546 km ~10 months stale
KDW 632M HL Cam 862798052707995 2026-03-11 11:52 16 km 30 days — may need SIM activation
KDW 632M HL Tracker 865135061569529 2026-03-11 23:53 222 km 30 days — may need SIM activation
JC400P-85751 862798052785751 2026-03-11 22:15 17 km 30 days — brand new, 17 km only
AT4-64815 353549090564815 2026-02-05 11:19 0 km 64 days stale
JK Subaru KCS 903Y 359857081891921 2026-03-14 00:55 73,344 km 27 days

8. Pending Actions Before Full Operation

The following steps are required to move from baseline to fully operational. Listed in execution order:

Priority Action Impact
🔴 1 Run migration 04 on production DB Renames distance_mdistance_km; corrects historical data
🔴 2 Run migration 05 on production DB Creates new tables for expanded ingestion
🔴 3 Redeploy updated ingestion containers Activates: trip polling, parking fix, high-res GPS trails, alarm field fix
🟠 4 Investigate 44 non-reporting devices Cross-check against physical fleet; verify online in Tracksolid Pro console
🟠 5 Investigate cross-border vehicle X3-63282 last seen in Uganda — confirm if authorised
🟠 6 Register webhooks in Tracksolid Pro account Activates: /pushobd, /pushoil, /pushtem, /pushlbs, /pushevent, /pushtripreport
🟡 7 Populate vehicle_name, vehicle_number, driver_name All 63 devices currently blank — reports show device names only
🟡 8 Set fuel_100km per vehicle Unlocks idle fuel cost calculations
🟡 9 Review high-mileage vehicles for service KDK 829A GP (239k km) and Belta KCU-647D (234k km)
🟢 10 Schedule nightly ETL SELECT dwh_gold.refresh_daily_metrics(CURRENT_DATE - 1); via cron or n8n

Commands for steps 13

# SSH to server first
ssh kianiadee@stage.rahamafresh.com

# Resolve container
TS_DB=$(docker ps --filter "name=timescale_db" --format "{{.Names}}" | head -1)

# Step 1 — migration 04 (distance correction)
docker exec -i "$TS_DB" psql -U postgres -d tracksolid_db \
  < /path/to/04_bug_fix_migration.sql

# Step 2 — migration 05 (new tables)
docker exec -i "$TS_DB" psql -U postgres -d tracksolid_db \
  < /path/to/05_enhancement_migration.sql

# Step 3 — redeploy containers
cd /path/to/compose
docker compose up -d --build ingest_movement ingest_events webhook_receiver

9. Devices That Reported This Week vs Last Month

Active in last 7 days

Device Name IMEI Last Fix Odometer
FRED KMGW 538W HULETI 865135061559538 2026-04-10 23:16 2,284 km
X3-63282 865135061563282 2026-04-10 23:15 4,194 km
KDK 829A GP 359857082898297 2026-04-10 23:13 239,264 km
KMGR 409U HENRY JAZZ 865135061048300 2026-04-10 15:40 6,696 km
KCU 865Q Vanguard 359857082042953 2026-04-08 17:17 61,758 km
KDU 878T_Track 865135061040349 2026-04-08 17:16 4,802 km

Active in last 30 days (in addition to above)

Device Name IMEI Last Fix Odometer
JK Subaru KCS 903Y 359857081891921 2026-03-14 00:55 73,344 km
KDW 632M HL Tracker 865135061569529 2026-03-11 23:53 222 km
JC400P-85751 862798052785751 2026-03-11 22:15 17 km
KDW 632M HL Cam 862798052707995 2026-03-11 11:52 16 km

10. What This Report Will Look Like in 7 Days

Once migrations 04 and 05 are applied and updated containers are deployed, the next weekly report will include:

  • Trip records per vehicle per day — distance driven, drive/idle hours, avg and max speed
  • Parking events — where vehicles stopped, how long, address
  • Alarm events — overspeed, geofence, harshness flags with correct type names
  • High-resolution position trails — 26 GPS fixes per minute per active vehicle
  • Driver scorecards — km driven, alarms per 100 km, late starts

The data foundation is in place. The pipeline is running. This baseline establishes the starting point against which all future performance will be measured.


Report generated from live database query · 2026-04-10 23:18 EAT Pipeline uptime at report time: ~1 hour Queries source: tracksolid_DB_manual.md · 01_BusinessAnalytics.md