Files
drivers_bot/GAMIFICATION_PLAN.md
2026-05-12 20:06:25 +09:00

12 KiB

CarPass Gamification Plan

1. Goals

CarPass gamification is a trust and data-quality system, not a game layer. The product goal is to turn a casual vehicle diary into a premium digital vehicle passport that keeps owners returning because the data becomes more useful over time.

Primary goals:

  • Increase retention by showing owners how each verified record improves the vehicle passport.
  • Improve data quality for VIN, license plate, mileage, oil specs, service intervals, fuel consumption, and service history.
  • Motivate owner confirmation of service visits and sensitive vehicle data changes.
  • Encourage structured interaction between owners and verified service centers.
  • Make the vehicle more resale-ready by building a reliable, private maintenance history.
  • Give service centers a trust signal based on confirmed work, low dispute rates, and good operational hygiene.

Non-goals:

  • No public leaderboards.
  • No speed, harsh driving, racing, or mileage competition.
  • No coins, gambling, loot boxes, streak pressure, or daily spam loops.
  • No public comparison of users, vehicles, or service centers.

2. UX Philosophy

The experience should feel like a premium automotive SaaS product: calm, precise, and useful. The visual language should resemble a digital inspection report, ownership dashboard, and service-grade vehicle passport.

Principles:

  • Use "quality", "verification", "health", and "trust" language instead of "points" or "levels".
  • Show progress as professional indicators: rings, bars, badges, timelines, and status chips.
  • Explain why each missing item matters: VIN improves identity confidence, full-tank fuel records improve consumption accuracy, confirmed service visits improve resale trust.
  • Avoid shame. Use neutral states like "Needs data", "Partially verified", "Attention needed".
  • Keep notifications sparse and high-signal.
  • Make the owner feel in control. Service centers can propose, but owner confirmation decides trust.

3. Reward Types

Rewards are evidence markers, not currency.

Vehicle rewards:

  • Profile Quality: percentage of important fields completed.
  • Verified History Status: self-reported, partially verified, verified maintenance history.
  • Maintenance Health: green, yellow, red based on overdue service and reminders.
  • Passport Badges: durable achievements such as Full Vehicle Profile or First Verified Service.
  • Timeline Milestones: service, fuel, verification, OBD, and ownership events.

Owner rewards:

  • Garage Quality: average completion across active vehicles.
  • Complete Garage: every active vehicle has identity, mileage, and maintenance baseline.
  • Maintenance Consistency: regular data capture without aggressive streak language.

Service center rewards:

  • Verified Service Center badge.
  • Trust Level: new, verified, reliable, high-confidence.
  • Confirmation Quality: owner confirmation rate, low dispute rate, completed visit quality.

4. Progression System

Progression is based on increasing confidence in the digital passport.

Vehicle Profile Completion:

  • 0-30: Basic profile.
  • 31-60: Useful ownership profile.
  • 61-85: Strong maintenance profile.
  • 86-100: High-confidence vehicle passport.

Verified History:

  • Self-reported: owner-only records.
  • Partially verified: at least one confirmed service-center visit or a mixed history.
  • Verified maintenance history: most service history is confirmed by verified service centers.

Maintenance Health:

  • Green: no overdue critical service reminders.
  • Yellow: service due soon or incomplete maintenance baseline.
  • Red: overdue service by date or mileage.

Service Trust:

  • New service: verified account but low confirmed work volume.
  • Verified service: documents checked.
  • Reliable service: good confirmation rate and low dispute rate.
  • High-confidence service: consistent confirmed work and low unresolved disputes.

5. User Engagement Loops

Owner loop:

  1. Add vehicle.
  2. See passport quality and missing items.
  3. Add VIN/license plate/oil/mileage/fuel/service data.
  4. Receive a clearer score and timeline.
  5. Confirm service-center visits.
  6. Build a trustworthy maintenance history.

Service loop:

  1. Register service center.
  2. Pass verification.
  3. Invite employees.
  4. Create service visits.
  5. Owner confirms work.
  6. Trust score improves through confirmed, low-dispute work.

OCR loop:

  1. Scan VIN, plate, or document.
  2. System extracts candidates.
  3. User or employee confirms suggested values.
  4. Sensitive changes become pending requests until owner approval.

Notification loop:

  • Notify only for due maintenance, owner confirmation, important data quality milestones, and access requests.
  • Never send daily streak pressure.

6. Vehicle Profile Completion

Each vehicle gets completeness_score from 0 to 100.

Suggested scoring weights:

  • Vehicle exists and has owner access: 5.
  • Make/model/year/name baseline: 15.
  • VIN: 15.
  • License plate with country: 10.
  • Current odometer: 10.
  • Fuel type and consumption baseline: 10.
  • Engine oil type and volume: 10.
  • Transmission/coolant/brake fluid fields: 5.
  • At least one fuel entry: 5.
  • At least one service entry or service visit: 5.
  • At least one confirmed service-center visit: 10.
  • Future OBD connection: 10.

The score is capped at 100. The API should also return missing_items with practical next actions.

7. Verified Maintenance History

Verified history score measures how trustworthy the service history is.

Inputs:

  • Total service records.
  • Confirmed service-center visits.
  • Whether the service center is verified.
  • Disputed/rejected/cancelled visits.
  • Owner-created self-reported records.

Statuses:

  • self_reported: no confirmed service-center visits.
  • partially_verified: at least one confirmed service visit or 30-79% trusted records.
  • verified: 80%+ trusted records and no unresolved disputes.

Sensitive rule:

  • OCR or service-center input can suggest values, but it cannot automatically make history trusted without owner confirmation.

8. Service Center Trust Mechanics

Trust score is operational quality, not a public star rating.

Inputs:

  • Verification status.
  • Confirmed visit count.
  • Owner confirmation rate.
  • Dispute rate.
  • Rejected/cancelled visit rate.
  • Employee hygiene: disabled employees, unresolved disputes, suspicious lookup patterns.

Display:

  • New service.
  • Verified service.
  • Reliable service.
  • High-confidence service.

Avoid:

  • Public numeric ranking.
  • Punitive public labels.
  • One-click toxic ratings.

9. Anti-Abuse Rules

Achievements:

  • Unlock once per user or once per vehicle depending on scope.
  • Use unique constraints to prevent duplicate unlocks.
  • Do not unlock from deleted or disputed records.

Scoring:

  • Ignore duplicate low-quality records created in a short time window.
  • Require valid owner access for vehicle score APIs.
  • Require confirmed visits for verified-history credit.
  • Require verified service-center status for high trust credit.

Search and OCR:

  • Rate-limit VIN/license plate search and OCR later.
  • Return masked/minimal search results.
  • Log lookups in AuditLog or EngagementEvent.

Deletion:

  • Owner cannot erase service-center history without trace.
  • Use dispute, rejected, hidden, or cancelled status plus audit trail.

10. Notification Strategy

Notification types:

  • Maintenance due soon.
  • Maintenance overdue.
  • Service visit pending owner confirmation.
  • Vehicle data change request pending.
  • Profile completion milestone: 50%, 80%, 100%.
  • First verified service confirmed.

Rules:

  • No daily streak reminders.
  • No more than one non-critical nudge per vehicle per week.
  • Critical maintenance alerts can repeat with conservative cooldown.
  • Owner controls notification preferences.
  • Notifications must be actionable and quiet.

11. Privacy Considerations

  • No public leaderboard.
  • No sharing of Telegram ID, phone, VIN, full plate, or service history without consent.
  • Service-center search returns masked VIN/plate and minimal vehicle identity.
  • Owner controls access duration and revocation.
  • Scores are private by default.
  • Service trust shown to owners should be aggregate and non-invasive.

12. Database Changes

New tables:

  • achievements

    • id
    • code
    • scope: user / vehicle / service_center
    • title
    • description
    • icon
    • category
    • is_active
    • created_at
  • user_achievements

    • id
    • user_id
    • achievement_id
    • vehicle_id
    • service_center_id
    • unlocked_at
    • metadata_json
  • vehicle_scores

    • id
    • vehicle_id
    • completeness_score
    • verified_history_score
    • maintenance_health_score
    • maintenance_status
    • profile_quality
    • verified_history_status
    • missing_items
    • computed_at
  • service_center_scores

    • id
    • service_center_id
    • trust_score
    • trust_level
    • confirmed_visits_count
    • confirmation_rate
    • dispute_rate
    • computed_at
  • engagement_events

    • id
    • user_id
    • vehicle_id
    • service_center_id
    • event_type
    • metadata_json
    • created_at

Indexes:

  • achievements.code unique.
  • user_achievements(user_id, achievement_id, vehicle_id, service_center_id) unique.
  • vehicle_scores.vehicle_id unique.
  • service_center_scores.service_center_id unique.
  • engagement_events(user_id, event_type, created_at).
  • engagement_events(vehicle_id, event_type, created_at).

13. API Changes

Owner APIs:

  • GET /api/me/achievements
  • GET /api/my/vehicles/{vehicle_id}/score
  • GET /api/my/vehicles/{vehicle_id}/timeline

Service APIs:

  • GET /api/service-centers/{service_center_id}/trust-score

Internal scoring APIs, optional later:

  • POST /api/internal/scoring/recompute
  • POST /api/internal/achievements/evaluate

Response principles:

  • Return computed scores from backend.
  • Return missing items and human-readable next actions.
  • Never trust user_id from request body.
  • Every vehicle endpoint uses current_user and vehicle access checks.

14. Frontend UI Changes

Replace the simple "Профиль учета" strip with a premium passport dashboard:

  • Vehicle Passport Quality card with progress ring.
  • Verified History card with status and trusted record ratio.
  • Maintenance Health widget with green/yellow/red status.
  • "Что улучшить" list with 2-4 next actions.
  • Achievement cards in calm SaaS style.
  • Vehicle timeline with fuel, service, confirmation, OCR, OBD, and achievements.
  • Service trust badge in service-center screens.
  • Garage overview with average completion and active alerts.

Style:

  • Dark premium automotive UI.
  • Calm contrast, thin borders, glass/dark panels used sparingly.
  • No arcade language, no coin counters, no animated confetti.

15. Future Extensibility

Future modules should plug into the scoring engine without rewriting frontend:

  • OBD2: connected vehicle badge, automatic mileage, battery monitoring.
  • Insurance: verified maintenance packet for insurance offers.
  • Resale: exportable CarPass report.
  • Predictive maintenance: service recommendations based on mileage/time/fuel/OBD.
  • AI assistant: explain score changes and suggest next best action.
  • Service recommendations: based on vehicle type, overdue work, and trusted service access.

Implementation Phases

Phase 1:

  • Add backend models and migration.
  • Add scoring engine.
  • Add achievement engine.
  • Add score, achievements, timeline, and trust-score APIs.
  • Add focused tests.

Phase 2:

  • Replace frontend progress strip with backend-driven widgets.
  • Add achievements and timeline UI.
  • Keep old MVP data flows intact.

Phase 3:

  • Add smart notification events and cooldown-ready schema.
  • Expand trust score for service centers.
  • Add service-center-facing gamification signals.

Phase 4:

  • Add engagement analytics and anti-abuse refinements.
  • Optimize queries and add recomputation jobs.
  • Prepare production deployment checklist.