Cube is the analytics platform used to query our match, round, kill, and player/team statistics data in a flexible and performant way. This repo contains the configuration for our self-hosted Cube instance: the semantic layer that turns our raw tables into queryable metrics and dimensions.
This repo doesn't contain an application per se, but rather the declarative data model (YAML) that Cube uses to:
- Expose calculated metrics (kills, win rate, HS%...) without writing custom SQL for every question
- Automatically resolve joins between our tables (rounds, kills, matches, players, teams, tournaments...)
- Serve as a single source of truth for the site's stat builder, our public API, and natural language querying
model/
├── cubes/ → one file per data entity (raw mapping onto tables)
└── views/ → curated, unambiguous interfaces exposed to consumers (site, API, LLM)
Cubes model the tables and their relationships. Views assemble multiple cubes into ready-to-use datasets with an explicit join path — new consumers should always query through a view, not raw cubes directly.
License: This project is licensed under the GC-Stats License v1.0 - see the LICENSE file for details.
Interested in helping? Please refer to our CONTRIBUTING.md for guidelines on how to submit pull requests.