  Complex systems thinking is applied to a wide variety of domains, from
neuroscience to computer science and economics. The wide variety of
implementations has resulted in two key challenges: the progenation of many
domain-specific strategies that are seldom revisited or questioned, and the
siloing of ideas within a domain due to inconsistency of complex systems
language. In this work we offer basic, domain-agnostic language in order to
advance towards a more cohesive vocabulary. We use this language to evaluate
each step of the complex systems analysis pipeline, beginning with the system
and data collected, then moving through different mathematical formalisms for
encoding the observed data (i.e. graphs, simplicial complexes, and
hypergraphs), and relevant computational methods for each formalism. At each
step we consider different types of \emph{dependencies}; these are properties
of the system that describe how the existence of one relation among the parts
of a system may influence the existence of another relation. We discuss how
dependencies may arise and how they may alter interpretation of results or the
entirety of the analysis pipeline. We close with two real-world examples using
coauthorship data and email communications data that illustrate how the system
under study, the dependencies therein, the research question, and choice of
mathematical representation influence the results. We hope this work can serve
as an opportunity of reflection for experienced complexity scientists, as well
as an introductory resource for new researchers.
